Apache OpenMeetings · Capability

Apache OpenMeetings REST API — CalendarService

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

Run with Naftiko Apache OpenmeetingsCalendarService

What You Can Do

POST
Save — Apache OpenMeetings Save
/v1/calendar
GET
Next — Apache OpenMeetings Next
/v1/calendar/next
GET
Nextforuser — Apache OpenMeetings NextForUser
/v1/calendar/next/{userid}
GET
Getbyroom — Apache OpenMeetings GetByRoom
/v1/calendar/room/{roomid}
GET
Getbytitle — Apache OpenMeetings GetByTitle
/v1/calendar/title/{title}
DELETE
Delete — Apache OpenMeetings Delete
/v1/calendar/{id}
GET
Range — Apache OpenMeetings Range
/v1/calendar/{start}/{end}
GET
Rangeforuser — Apache OpenMeetings RangeForUser
/v1/calendar/{userid}/{start}/{end}

MCP Tools

apache-openmeetings-save

Apache OpenMeetings Save

apache-openmeetings-next

Apache OpenMeetings Next

read-only idempotent
apache-openmeetings-nextforuser

Apache OpenMeetings NextForUser

read-only idempotent
apache-openmeetings-getbyroom

Apache OpenMeetings GetByRoom

read-only idempotent
apache-openmeetings-getbytitle

Apache OpenMeetings GetByTitle

read-only idempotent
apache-openmeetings-delete

Apache OpenMeetings Delete

idempotent
apache-openmeetings-range

Apache OpenMeetings Range

read-only idempotent
apache-openmeetings-rangeforuser

Apache OpenMeetings RangeForUser

read-only idempotent

Capability Spec

rest-calendarservice.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Apache OpenMeetings REST API — CalendarService
  description: 'Apache OpenMeetings REST API — CalendarService. 8 operations. Lead operation: Apache OpenMeetings Save. Self-contained
    Naftiko capability covering one Apache Openmeetings business surface.'
  tags:
  - Apache Openmeetings
  - CalendarService
  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-calendarservice
    baseUri: https://{host}:5443/openmeetings/services
    description: Apache OpenMeetings REST API — CalendarService business capability. Self-contained, no shared references.
    resources:
    - name: calendar
      path: /calendar
      operations:
      - name: save
        method: POST
        description: Apache OpenMeetings Save
        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: calendar-next
      path: /calendar/next
      operations:
      - name: next
        method: GET
        description: Apache OpenMeetings Next
        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: calendar-next-userid
      path: /calendar/next/{userid}
      operations:
      - name: nextforuser
        method: GET
        description: Apache OpenMeetings NextForUser
        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: userid
          in: path
          type: integer
          description: the userId the calendar events should be loaded
          required: true
    - name: calendar-room-roomid
      path: /calendar/room/{roomid}
      operations:
      - name: getbyroom
        method: GET
        description: Apache OpenMeetings GetByRoom
        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: id of appointment special room
          required: true
    - name: calendar-title-title
      path: /calendar/title/{title}
      operations:
      - name: getbytitle
        method: GET
        description: Apache OpenMeetings GetByTitle
        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: title
          in: path
          type: string
          description: the search string
          required: true
    - name: calendar-id
      path: /calendar/{id}
      operations:
      - name: delete
        method: DELETE
        description: Apache OpenMeetings Delete
        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 to delete
          required: true
    - name: calendar-start-end
      path: /calendar/{start}/{end}
      operations:
      - name: range
        method: GET
        description: Apache OpenMeetings Range
        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: start
          in: path
          type: string
          description: start time
          required: true
        - name: end
          in: path
          type: string
          description: end time
          required: true
    - name: calendar-userid-start-end
      path: /calendar/{userid}/{start}/{end}
      operations:
      - name: rangeforuser
        method: GET
        description: Apache OpenMeetings RangeForUser
        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: userid
          in: path
          type: integer
          description: the userId the calendar events should be loaded
          required: true
        - name: start
          in: path
          type: string
          description: start time
          required: true
        - name: end
          in: path
          type: string
          description: end time
          required: true
  exposes:
  - type: rest
    namespace: rest-calendarservice-rest
    port: 8080
    description: REST adapter for Apache OpenMeetings REST API — CalendarService. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/calendar
      name: calendar
      description: REST surface for calendar.
      operations:
      - method: POST
        name: save
        description: Apache OpenMeetings Save
        call: rest-calendarservice.save
        with:
          sid: rest.sid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/next
      name: calendar-next
      description: REST surface for calendar-next.
      operations:
      - method: GET
        name: next
        description: Apache OpenMeetings Next
        call: rest-calendarservice.next
        with:
          sid: rest.sid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/next/{userid}
      name: calendar-next-userid
      description: REST surface for calendar-next-userid.
      operations:
      - method: GET
        name: nextforuser
        description: Apache OpenMeetings NextForUser
        call: rest-calendarservice.nextforuser
        with:
          sid: rest.sid
          userid: rest.userid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/room/{roomid}
      name: calendar-room-roomid
      description: REST surface for calendar-room-roomid.
      operations:
      - method: GET
        name: getbyroom
        description: Apache OpenMeetings GetByRoom
        call: rest-calendarservice.getbyroom
        with:
          sid: rest.sid
          roomid: rest.roomid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/title/{title}
      name: calendar-title-title
      description: REST surface for calendar-title-title.
      operations:
      - method: GET
        name: getbytitle
        description: Apache OpenMeetings GetByTitle
        call: rest-calendarservice.getbytitle
        with:
          sid: rest.sid
          title: rest.title
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/{id}
      name: calendar-id
      description: REST surface for calendar-id.
      operations:
      - method: DELETE
        name: delete
        description: Apache OpenMeetings Delete
        call: rest-calendarservice.delete
        with:
          sid: rest.sid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/{start}/{end}
      name: calendar-start-end
      description: REST surface for calendar-start-end.
      operations:
      - method: GET
        name: range
        description: Apache OpenMeetings Range
        call: rest-calendarservice.range
        with:
          sid: rest.sid
          start: rest.start
          end: rest.end
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/calendar/{userid}/{start}/{end}
      name: calendar-userid-start-end
      description: REST surface for calendar-userid-start-end.
      operations:
      - method: GET
        name: rangeforuser
        description: Apache OpenMeetings RangeForUser
        call: rest-calendarservice.rangeforuser
        with:
          sid: rest.sid
          userid: rest.userid
          start: rest.start
          end: rest.end
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-calendarservice-mcp
    port: 9090
    transport: http
    description: MCP adapter for Apache OpenMeetings REST API — CalendarService. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: apache-openmeetings-save
      description: Apache OpenMeetings Save
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-calendarservice.save
      with:
        sid: tools.sid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-next
      description: Apache OpenMeetings Next
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-calendarservice.next
      with:
        sid: tools.sid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-nextforuser
      description: Apache OpenMeetings NextForUser
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-calendarservice.nextforuser
      with:
        sid: tools.sid
        userid: tools.userid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getbyroom
      description: Apache OpenMeetings GetByRoom
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-calendarservice.getbyroom
      with:
        sid: tools.sid
        roomid: tools.roomid
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-getbytitle
      description: Apache OpenMeetings GetByTitle
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-calendarservice.getbytitle
      with:
        sid: tools.sid
        title: tools.title
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-delete
      description: Apache OpenMeetings Delete
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-calendarservice.delete
      with:
        sid: tools.sid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-range
      description: Apache OpenMeetings Range
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-calendarservice.range
      with:
        sid: tools.sid
        start: tools.start
        end: tools.end
      outputParameters:
      - type: object
        mapping: $.
    - name: apache-openmeetings-rangeforuser
      description: Apache OpenMeetings RangeForUser
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-calendarservice.rangeforuser
      with:
        sid: tools.sid
        userid: tools.userid
        start: tools.start
        end: tools.end
      outputParameters:
      - type: object
        mapping: $.