Apache OpenMeetings · Capability

Apache OpenMeetings REST API — RoomService

Apache OpenMeetings REST API — RoomService. 12 operations. Lead operation: Apache OpenMeetings Add_2. Self-contained Naftiko capability covering one Apache Openmeetings business surface.

Run with Naftiko Apache OpenmeetingsRoomService

What You Can Do

POST
Add2 — Apache OpenMeetings Add_2
/v1/room
GET
Close — Apache OpenMeetings Close
/v1/room/close/{id}
GET
Count — Apache OpenMeetings Count
/v1/room/count/{roomid}
POST
Hash — Apache OpenMeetings Hash
/v1/room/hash
GET
Kickall — Apache OpenMeetings KickAll
/v1/room/kick/{id}
GET
Kick — Apache OpenMeetings Kick
/v1/room/kick/{id}/{externaltype}/{externalid}
GET
Open — Apache OpenMeetings Open
/v1/room/open/{id}
GET
Getpublic — Apache OpenMeetings GetPublic
/v1/room/public/{type}
GET
Users — Apache OpenMeetings Users
/v1/room/users/{roomid}
GET
Getroombyid — Apache OpenMeetings GetRoomById
/v1/room/{id}
DELETE
Delete4 — Apache OpenMeetings Delete_4
/v1/room/{id}
GET
Getexternal1 — Apache OpenMeetings GetExternal_1
/v1/room/{type}/{externaltype}/{externalid}

MCP Tools

apache-openmeetings-add-2

Apache OpenMeetings Add_2

apache-openmeetings-close

Apache OpenMeetings Close

read-only idempotent
apache-openmeetings-count

Apache OpenMeetings Count

read-only idempotent
apache-openmeetings-hash

Apache OpenMeetings Hash

apache-openmeetings-kickall

Apache OpenMeetings KickAll

read-only idempotent
apache-openmeetings-kick

Apache OpenMeetings Kick

read-only idempotent
apache-openmeetings-open

Apache OpenMeetings Open

read-only idempotent
apache-openmeetings-getpublic

Apache OpenMeetings GetPublic

read-only idempotent
apache-openmeetings-users

Apache OpenMeetings Users

read-only idempotent
apache-openmeetings-getroombyid

Apache OpenMeetings GetRoomById

read-only idempotent
apache-openmeetings-delete-4

Apache OpenMeetings Delete_4

idempotent
apache-openmeetings-getexternal-1

Apache OpenMeetings GetExternal_1

read-only idempotent

Capability Spec

rest-roomservice.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Apache OpenMeetings REST API — RoomService
  description: 'Apache OpenMeetings REST API — RoomService. 12 operations. Lead operation: Apache OpenMeetings Add_2. Self-contained
    Naftiko capability covering one Apache Openmeetings business surface.'
  tags:
  - Apache Openmeetings
  - RoomService
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    APACHE_OPENMEETINGS_API_KEY: APACHE_OPENMEETINGS_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-roomservice
    baseUri: https://{host}:5443/openmeetings/services
    description: Apache OpenMeetings REST API — RoomService business capability. Self-contained, no shared references.
    resources:
    - name: room
      path: /room
      operations:
      - name: add2
        method: POST
        description: Apache OpenMeetings Add_2
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: room-close-id
      path: /room/close/{id}
      operations:
      - name: close
        method: GET
        description: Apache OpenMeetings Close
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: id
          in: path
          type: integer
          description: the room id
          required: true
    - name: room-count-roomid
      path: /room/count/{roomid}
      operations:
      - name: count
        method: GET
        description: Apache OpenMeetings Count
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: roomid
          in: path
          type: integer
          description: roomId id of the room to get users
          required: true
    - name: room-hash
      path: /room/hash
      operations:
      - name: hash
        method: POST
        description: Apache OpenMeetings Hash
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: invite
          in: query
          type: string
          description: parameters of the invitation
          required: true
        - name: sendmail
          in: query
          type: boolean
          description: flag to determine if email should be sent or not
          required: true
    - name: room-kick-id
      path: /room/kick/{id}
      operations:
      - name: kickall
        method: GET
        description: Apache OpenMeetings KickAll
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: id
          in: path
          type: integer
          description: the room id
          required: true
    - name: room-kick-id-externalType-externalId
      path: /room/kick/{id}/{externalType}/{externalId}
      operations:
      - name: kick
        method: GET
        description: Apache OpenMeetings Kick
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: id
          in: path
          type: integer
          description: the room id
          required: true
        - name: externalType
          in: path
          type: string
          description: external type of USER to kick
          required: true
        - name: externalId
          in: path
          type: string
          description: external id of USER to kick
          required: true
    - name: room-open-id
      path: /room/open/{id}
      operations:
      - name: open
        method: GET
        description: Apache OpenMeetings Open
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: id
          in: path
          type: integer
          description: the room id
          required: true
    - name: room-public-type
      path: /room/public/{type}
      operations:
      - name: getpublic
        method: GET
        description: Apache OpenMeetings GetPublic
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: type
          in: path
          type: string
          description: Type of public rooms need to be retrieved
          required: true
    - name: room-users-roomid
      path: /room/users/{roomid}
      operations:
      - name: users
        method: GET
        description: Apache OpenMeetings Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: roomid
          in: path
          type: integer
          description: roomId id of the room to get users
          required: true
    - name: room-id
      path: /room/{id}
      operations:
      - name: getroombyid
        method: GET
        description: Apache OpenMeetings GetRoomById
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: id
          in: path
          type: integer
          description: the room id
          required: true
      - name: delete4
        method: DELETE
        description: Apache OpenMeetings Delete_4
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: id
          in: path
          type: integer
          description: The id of the room
          required: true
    - name: room-type-externaltype-externalid
      path: /room/{type}/{externaltype}/{externalid}
      operations:
      - name: getexternal1
        method: GET
        description: Apache OpenMeetings GetExternal_1
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sid
          in: query
          type: string
          description: The SID of the User. This SID must be marked as Loggedin
          required: true
        - name: type
          in: path
          type: string
          description: type of the room
          required: true
        - name: externaltype
          in: path
          type: string
          description: you can specify your system-name or type of room here, for example "moodle"
          required: true
        - name: externalid
          in: path
          type: string
          description: your external room id may set here
          required: true
        - name: room
          in: query
          type: string
          description: details of the room to be created if not found
          required: true
  exposes:
  - type: rest
    namespace: rest-roomservice-rest
    port: 8080
    description: REST adapter for Apache OpenMeetings REST API — RoomService. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/room
      name: room
      description: REST surface for room.
      operations:
      - method: POST
        name: add2
        description: Apache OpenMeetings Add_2
        call: rest-roomservice.add2
        with:
          sid: rest.sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/close/{id}
      name: room-close-id
      description: REST surface for room-close-id.
      operations:
      - method: GET
        name: close
        description: Apache OpenMeetings Close
        call: rest-roomservice.close
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/count/{roomid}
      name: room-count-roomid
      description: REST surface for room-count-roomid.
      operations:
      - method: GET
        name: count
        description: Apache OpenMeetings Count
        call: rest-roomservice.count
        with:
          sid: rest.sid
          roomid: rest.roomid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/hash
      name: room-hash
      description: REST surface for room-hash.
      operations:
      - method: POST
        name: hash
        description: Apache OpenMeetings Hash
        call: rest-roomservice.hash
        with:
          sid: rest.sid
          invite: rest.invite
          sendmail: rest.sendmail
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/kick/{id}
      name: room-kick-id
      description: REST surface for room-kick-id.
      operations:
      - method: GET
        name: kickall
        description: Apache OpenMeetings KickAll
        call: rest-roomservice.kickall
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/kick/{id}/{externaltype}/{externalid}
      name: room-kick-id-externaltype-externalid
      description: REST surface for room-kick-id-externalType-externalId.
      operations:
      - method: GET
        name: kick
        description: Apache OpenMeetings Kick
        call: rest-roomservice.kick
        with:
          sid: rest.sid
          id: rest.id
          externalType: rest.externalType
          externalId: rest.externalId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/open/{id}
      name: room-open-id
      description: REST surface for room-open-id.
      operations:
      - method: GET
        name: open
        description: Apache OpenMeetings Open
        call: rest-roomservice.open
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/public/{type}
      name: room-public-type
      description: REST surface for room-public-type.
      operations:
      - method: GET
        name: getpublic
        description: Apache OpenMeetings GetPublic
        call: rest-roomservice.getpublic
        with:
          sid: rest.sid
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/users/{roomid}
      name: room-users-roomid
      description: REST surface for room-users-roomid.
      operations:
      - method: GET
        name: users
        description: Apache OpenMeetings Users
        call: rest-roomservice.users
        with:
          sid: rest.sid
          roomid: rest.roomid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/{id}
      name: room-id
      description: REST surface for room-id.
      operations:
      - method: GET
        name: getroombyid
        description: Apache OpenMeetings GetRoomById
        call: rest-roomservice.getroombyid
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete4
        description: Apache OpenMeetings Delete_4
        call: rest-roomservice.delete4
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/room/{type}/{externaltype}/{externalid}
      name: room-type-externaltype-externalid
      description: REST surface for room-type-externaltype-externalid.
      operations:
      - method: GET
        name: getexternal1
        description: Apache OpenMeetings GetExternal_1
        call: rest-roomservice.getexternal1
        with:
          sid: rest.sid
          type: rest.type
          externaltype: rest.externaltype
          externalid: rest.externalid
          room: rest.room
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-roomservice-mcp
    port: 9090
    transport: http
    description: MCP adapter for Apache OpenMeetings REST API — RoomService. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: apache-openmeetings-add-2
      description: Apache OpenMeetings Add_2
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-roomservice.add2
      with:
        sid: tools.sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-close
      description: Apache OpenMeetings Close
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.close
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-count
      description: Apache OpenMeetings Count
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.count
      with:
        sid: tools.sid
        roomid: tools.roomid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-hash
      description: Apache OpenMeetings Hash
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-roomservice.hash
      with:
        sid: tools.sid
        invite: tools.invite
        sendmail: tools.sendmail
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-kickall
      description: Apache OpenMeetings KickAll
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.kickall
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-kick
      description: Apache OpenMeetings Kick
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.kick
      with:
        sid: tools.sid
        id: tools.id
        externalType: tools.externalType
        externalId: tools.externalId
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-open
      description: Apache OpenMeetings Open
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.open
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getpublic
      description: Apache OpenMeetings GetPublic
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.getpublic
      with:
        sid: tools.sid
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-users
      description: Apache OpenMeetings Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.users
      with:
        sid: tools.sid
        roomid: tools.roomid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getroombyid
      description: Apache OpenMeetings GetRoomById
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.getroombyid
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-delete-4
      description: Apache OpenMeetings Delete_4
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-roomservice.delete4
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getexternal-1
      description: Apache OpenMeetings GetExternal_1
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-roomservice.getexternal1
      with:
        sid: tools.sid
        type: tools.type
        externaltype: tools.externaltype
        externalid: tools.externalid
        room: tools.room
      outputParameters:
      - type: object
        mapping: $.