Apache OpenMeetings · Capability

Apache OpenMeetings REST API — FileService

Apache OpenMeetings REST API — FileService. 8 operations. Lead operation: Apache OpenMeetings Add. Self-contained Naftiko capability covering one Apache Openmeetings business surface.

Run with Naftiko Apache OpenmeetingsFileService

What You Can Do

POST
Add — Apache OpenMeetings Add
/v1/file
POST
Move — Apache OpenMeetings Move
/v1/file/move/{roomid}/{id}/{parentid}
POST
Rename — Apache OpenMeetings Rename
/v1/file/rename/{id}/{name}
GET
Getroom — Apache OpenMeetings GetRoom
/v1/file/room/{id}
GET
Getroombyparent — Apache OpenMeetings GetRoomByParent
/v1/file/room/{id}/{parent}
GET
Getallexternal — Apache OpenMeetings GetAllExternal
/v1/file/{externaltype}
DELETE
Deleteexternal — Apache OpenMeetings DeleteExternal
/v1/file/{externaltype}/{externalid}
DELETE
Delete1 — Apache OpenMeetings Delete_1
/v1/file/{id}

MCP Tools

apache-openmeetings-add

Apache OpenMeetings Add

apache-openmeetings-move

Apache OpenMeetings Move

apache-openmeetings-rename

Apache OpenMeetings Rename

apache-openmeetings-getroom

Apache OpenMeetings GetRoom

read-only idempotent
apache-openmeetings-getroombyparent

Apache OpenMeetings GetRoomByParent

read-only idempotent
apache-openmeetings-getallexternal

Apache OpenMeetings GetAllExternal

read-only idempotent
apache-openmeetings-deleteexternal

Apache OpenMeetings DeleteExternal

idempotent
apache-openmeetings-delete-1

Apache OpenMeetings Delete_1

idempotent

Capability Spec

rest-fileservice.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Apache OpenMeetings REST API — FileService
  description: 'Apache OpenMeetings REST API — FileService. 8 operations. Lead operation: Apache OpenMeetings Add. Self-contained
    Naftiko capability covering one Apache Openmeetings business surface.'
  tags:
  - Apache Openmeetings
  - FileService
  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-fileservice
    baseUri: https://{host}:5443/openmeetings/services
    description: Apache OpenMeetings REST API — FileService business capability. Self-contained, no shared references.
    resources:
    - name: file
      path: /file
      operations:
      - name: add
        method: POST
        description: Apache OpenMeetings Add
        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: true
    - name: file-move-roomid-id-parentid
      path: /file/move/{roomid}/{id}/{parentid}
      operations:
      - name: move
        method: POST
        description: Apache OpenMeetings Move
        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: current file or folder id to be moved
          required: true
        - name: roomid
          in: path
          type: integer
          description: room this file need to be moved
          required: true
        - name: parentid
          in: path
          type: integer
          description: new parent folder id
          required: true
    - name: file-rename-id-name
      path: /file/rename/{id}/{name}
      operations:
      - name: rename
        method: POST
        description: Apache OpenMeetings Rename
        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: file or folder id
          required: true
        - name: name
          in: path
          type: string
          description: new file or folder name
          required: true
    - name: file-room-id
      path: /file/room/{id}
      operations:
      - name: getroom
        method: GET
        description: Apache OpenMeetings GetRoom
        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: ROOM Id
          required: true
    - name: file-room-id-parent
      path: /file/room/{id}/{parent}
      operations:
      - name: getroombyparent
        method: GET
        description: Apache OpenMeetings GetRoomByParent
        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 parent folder id
          required: true
        - name: parent
          in: path
          type: integer
          description: the room id
          required: true
    - name: file-externaltype
      path: /file/{externaltype}
      operations:
      - name: getallexternal
        method: GET
        description: Apache OpenMeetings GetAllExternal
        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: externaltype
          in: path
          type: string
          description: External type for file listing
          required: true
    - name: file-externaltype-externalid
      path: /file/{externaltype}/{externalid}
      operations:
      - name: deleteexternal
        method: DELETE
        description: Apache OpenMeetings DeleteExternal
        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: externaltype
          in: path
          type: string
          description: the externalType
          required: true
        - name: externalid
          in: path
          type: string
          description: the id of the file or folder
          required: true
    - name: file-id
      path: /file/{id}
      operations:
      - name: delete1
        method: DELETE
        description: Apache OpenMeetings Delete_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: id
          in: path
          type: integer
          description: the id of the file or folder
          required: true
  exposes:
  - type: rest
    namespace: rest-fileservice-rest
    port: 8080
    description: REST adapter for Apache OpenMeetings REST API — FileService. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/file
      name: file
      description: REST surface for file.
      operations:
      - method: POST
        name: add
        description: Apache OpenMeetings Add
        call: rest-fileservice.add
        with:
          sid: rest.sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/move/{roomid}/{id}/{parentid}
      name: file-move-roomid-id-parentid
      description: REST surface for file-move-roomid-id-parentid.
      operations:
      - method: POST
        name: move
        description: Apache OpenMeetings Move
        call: rest-fileservice.move
        with:
          sid: rest.sid
          id: rest.id
          roomid: rest.roomid
          parentid: rest.parentid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/rename/{id}/{name}
      name: file-rename-id-name
      description: REST surface for file-rename-id-name.
      operations:
      - method: POST
        name: rename
        description: Apache OpenMeetings Rename
        call: rest-fileservice.rename
        with:
          sid: rest.sid
          id: rest.id
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/room/{id}
      name: file-room-id
      description: REST surface for file-room-id.
      operations:
      - method: GET
        name: getroom
        description: Apache OpenMeetings GetRoom
        call: rest-fileservice.getroom
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/room/{id}/{parent}
      name: file-room-id-parent
      description: REST surface for file-room-id-parent.
      operations:
      - method: GET
        name: getroombyparent
        description: Apache OpenMeetings GetRoomByParent
        call: rest-fileservice.getroombyparent
        with:
          sid: rest.sid
          id: rest.id
          parent: rest.parent
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/{externaltype}
      name: file-externaltype
      description: REST surface for file-externaltype.
      operations:
      - method: GET
        name: getallexternal
        description: Apache OpenMeetings GetAllExternal
        call: rest-fileservice.getallexternal
        with:
          sid: rest.sid
          externaltype: rest.externaltype
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/{externaltype}/{externalid}
      name: file-externaltype-externalid
      description: REST surface for file-externaltype-externalid.
      operations:
      - method: DELETE
        name: deleteexternal
        description: Apache OpenMeetings DeleteExternal
        call: rest-fileservice.deleteexternal
        with:
          sid: rest.sid
          externaltype: rest.externaltype
          externalid: rest.externalid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/file/{id}
      name: file-id
      description: REST surface for file-id.
      operations:
      - method: DELETE
        name: delete1
        description: Apache OpenMeetings Delete_1
        call: rest-fileservice.delete1
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-fileservice-mcp
    port: 9090
    transport: http
    description: MCP adapter for Apache OpenMeetings REST API — FileService. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: apache-openmeetings-add
      description: Apache OpenMeetings Add
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-fileservice.add
      with:
        sid: tools.sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-move
      description: Apache OpenMeetings Move
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-fileservice.move
      with:
        sid: tools.sid
        id: tools.id
        roomid: tools.roomid
        parentid: tools.parentid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-rename
      description: Apache OpenMeetings Rename
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-fileservice.rename
      with:
        sid: tools.sid
        id: tools.id
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getroom
      description: Apache OpenMeetings GetRoom
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-fileservice.getroom
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getroombyparent
      description: Apache OpenMeetings GetRoomByParent
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-fileservice.getroombyparent
      with:
        sid: tools.sid
        id: tools.id
        parent: tools.parent
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getallexternal
      description: Apache OpenMeetings GetAllExternal
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-fileservice.getallexternal
      with:
        sid: tools.sid
        externaltype: tools.externaltype
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-deleteexternal
      description: Apache OpenMeetings DeleteExternal
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-fileservice.deleteexternal
      with:
        sid: tools.sid
        externaltype: tools.externaltype
        externalid: tools.externalid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-delete-1
      description: Apache OpenMeetings Delete_1
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-fileservice.delete1
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.