naftiko: 1.0.0-alpha2 info: label: Zoom Meeting API — Meetings description: 'Zoom Meeting API — Meetings. 8 operations. Lead operation: Zoom Get Meeting Details. Self-contained Naftiko capability covering one Zoom business surface.' tags: - Zoom - Meetings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ZOOM_API_KEY: ZOOM_API_KEY capability: consumes: - type: http namespace: meeting-meetings baseUri: https://api.zoom.us/v2 description: Zoom Meeting API — Meetings business capability. Self-contained, no shared references. resources: - name: meetings-meetingId path: /meetings/{meetingId} operations: - name: getmeeting method: GET description: Zoom Get Meeting Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: occurrence_id in: query type: string description: Meeting occurrence ID for recurring meetings. - name: show_previous_occurrences in: query type: boolean description: Set to true to view meeting details of all previous occurrences of a recurring meeting. - name: updatemeeting method: PATCH description: Zoom Update a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: occurrence_id in: query type: string description: Meeting occurrence ID for recurring meeting updates. - name: body in: body type: object description: Request body (JSON). required: true - name: deletemeeting method: DELETE description: Zoom Delete a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: occurrence_id in: query type: string description: Meeting occurrence ID for recurring meeting deletion. - name: schedule_for_reminder in: query type: boolean description: Notify host and alternative host about the meeting cancellation via email. - name: cancel_meeting_reminder in: query type: boolean description: Notify registrants about the meeting cancellation via email. - name: meetings-meetingId-invitation path: /meetings/{meetingId}/invitation operations: - name: getmeetinginvitation method: GET description: Zoom Get Meeting Invitation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: meetings-meetingId-status path: /meetings/{meetingId}/status operations: - name: updatemeetingstatus method: PUT description: Zoom Update Meeting Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: past_meetings-meetingId path: /past_meetings/{meetingId} operations: - name: getpastmeetingdetails method: GET description: Zoom Get Past Meeting Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: meetingId in: path type: string description: The meeting UUID. Each meeting instance will generate its own UUID. Double-encode if the UUID begins with `/` or contains `//`. required: true - name: users-userId-meetings path: /users/{userId}/meetings operations: - name: listmeetings method: GET description: Zoom List Meetings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: query type: string description: The type of meeting. `scheduled` - All valid previous (unexpired) meetings, live meetings, and upcoming scheduled meetings. `live` - All the ongoing meetings. ` - name: createmeeting method: POST description: Zoom Create a Meeting outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.ZOOM_API_KEY}}' exposes: - type: rest namespace: meeting-meetings-rest port: 8080 description: REST adapter for Zoom Meeting API — Meetings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/meetings/{meetingid} name: meetings-meetingid description: REST surface for meetings-meetingId. operations: - method: GET name: getmeeting description: Zoom Get Meeting Details call: meeting-meetings.getmeeting with: occurrence_id: rest.occurrence_id show_previous_occurrences: rest.show_previous_occurrences outputParameters: - type: object mapping: $. - method: PATCH name: updatemeeting description: Zoom Update a Meeting call: meeting-meetings.updatemeeting with: occurrence_id: rest.occurrence_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletemeeting description: Zoom Delete a Meeting call: meeting-meetings.deletemeeting with: occurrence_id: rest.occurrence_id schedule_for_reminder: rest.schedule_for_reminder cancel_meeting_reminder: rest.cancel_meeting_reminder outputParameters: - type: object mapping: $. - path: /v1/meetings/{meetingid}/invitation name: meetings-meetingid-invitation description: REST surface for meetings-meetingId-invitation. operations: - method: GET name: getmeetinginvitation description: Zoom Get Meeting Invitation call: meeting-meetings.getmeetinginvitation outputParameters: - type: object mapping: $. - path: /v1/meetings/{meetingid}/status name: meetings-meetingid-status description: REST surface for meetings-meetingId-status. operations: - method: PUT name: updatemeetingstatus description: Zoom Update Meeting Status call: meeting-meetings.updatemeetingstatus with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/past-meetings/{meetingid} name: past-meetings-meetingid description: REST surface for past_meetings-meetingId. operations: - method: GET name: getpastmeetingdetails description: Zoom Get Past Meeting Details call: meeting-meetings.getpastmeetingdetails with: meetingId: rest.meetingId outputParameters: - type: object mapping: $. - path: /v1/users/{userid}/meetings name: users-userid-meetings description: REST surface for users-userId-meetings. operations: - method: GET name: listmeetings description: Zoom List Meetings call: meeting-meetings.listmeetings with: type: rest.type outputParameters: - type: object mapping: $. - method: POST name: createmeeting description: Zoom Create a Meeting call: meeting-meetings.createmeeting with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: meeting-meetings-mcp port: 9090 transport: http description: MCP adapter for Zoom Meeting API — Meetings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: zoom-get-meeting-details description: Zoom Get Meeting Details hints: readOnly: true destructive: false idempotent: true call: meeting-meetings.getmeeting with: occurrence_id: tools.occurrence_id show_previous_occurrences: tools.show_previous_occurrences outputParameters: - type: object mapping: $. - name: zoom-update-meeting description: Zoom Update a Meeting hints: readOnly: false destructive: false idempotent: true call: meeting-meetings.updatemeeting with: occurrence_id: tools.occurrence_id body: tools.body outputParameters: - type: object mapping: $. - name: zoom-delete-meeting description: Zoom Delete a Meeting hints: readOnly: false destructive: true idempotent: true call: meeting-meetings.deletemeeting with: occurrence_id: tools.occurrence_id schedule_for_reminder: tools.schedule_for_reminder cancel_meeting_reminder: tools.cancel_meeting_reminder outputParameters: - type: object mapping: $. - name: zoom-get-meeting-invitation description: Zoom Get Meeting Invitation hints: readOnly: true destructive: false idempotent: true call: meeting-meetings.getmeetinginvitation outputParameters: - type: object mapping: $. - name: zoom-update-meeting-status description: Zoom Update Meeting Status hints: readOnly: false destructive: false idempotent: true call: meeting-meetings.updatemeetingstatus with: body: tools.body outputParameters: - type: object mapping: $. - name: zoom-get-past-meeting-details description: Zoom Get Past Meeting Details hints: readOnly: true destructive: false idempotent: true call: meeting-meetings.getpastmeetingdetails with: meetingId: tools.meetingId outputParameters: - type: object mapping: $. - name: zoom-list-meetings description: Zoom List Meetings hints: readOnly: true destructive: false idempotent: true call: meeting-meetings.listmeetings with: type: tools.type outputParameters: - type: object mapping: $. - name: zoom-create-meeting description: Zoom Create a Meeting hints: readOnly: false destructive: false idempotent: false call: meeting-meetings.createmeeting with: body: tools.body outputParameters: - type: object mapping: $.