naftiko: 1.0.0-alpha2 info: label: Zoom webinar/ — Webinar description: 'Zoom webinar/ — Webinar. 17 operations. Lead operation: Webinar. Self-contained Naftiko capability covering one Zoom business surface.' tags: - Zoom - Webinar created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ZOOM_API_KEY: ZOOM_API_KEY capability: consumes: - type: http namespace: webinar--webinar baseUri: https://api.zoom.us/v1 description: Zoom webinar/ — Webinar business capability. Self-contained, no shared references. resources: - name: webinar-attendees-list path: /webinar/attendees/list operations: - name: webinarattendeeslist method: POST description: Get ended webinar attendees outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-create path: /webinar/create operations: - name: webinarcreate method: POST description: Create a webinar on Zoom, return the created webinar start and join URL. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-delete path: /webinar/delete operations: - name: webinardelete method: POST description: Delete a webinar on Zoom, return the deleted webinar ID. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-end path: /webinar/end operations: - name: webinarend method: POST description: End a Webinar on Zoom, return the deleted Webinar ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-get path: /webinar/get operations: - name: webinarget method: POST description: Get a Webinar on Zoom via Webinar ID, return the Webinar info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-list path: /webinar/list operations: - name: webinarlist method: POST description: List all registrationless Webinars on Zoom outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-list-registration path: /webinar/list/registration operations: - name: webinarlistregistration method: POST description: List all the upcoming registration-based Webinars on Zoom outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-panelists path: /webinar/panelists operations: - name: webinarpanelists method: POST description: Get all the Webinar Panelists on Zoom outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-polls path: /webinar/polls operations: - name: webinarpolls method: POST description: Get Ended Webinar Polls outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-questions path: /webinar/questions operations: - name: webinarquestions method: POST description: Get Ended Webinar Q&A outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-register path: /webinar/register operations: - name: webinarregister method: POST description: Register for a webinar outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-registrants-approve path: /webinar/registrants/approve operations: - name: webinarregistrantsapprove method: POST description: Approve pending registrants on Zoom Webinar. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-registrants-list path: /webinar/registrants/list operations: - name: webinarregistrantslist method: POST description: List webinar registrants on Zoom, include pending approval registrants and approved registrants. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-registration path: /webinar/registration operations: - name: webinarregistration method: POST description: Gather Webinar registrants info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-registration-cancel path: /webinar/registration/cancel operations: - name: webinarregistrationcancel method: POST description: Cancel Webinar Registration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-update path: /webinar/update operations: - name: webinarupdate method: POST description: Update Webinar info on Zoom via Webinar ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: webinar-uuid-list path: /webinar/uuid/list operations: - name: webinaruuidlist method: POST description: Get ended webinar UUID. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: webinar--webinar-rest port: 8080 description: REST adapter for Zoom webinar/ — Webinar. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/webinar/attendees/list name: webinar-attendees-list description: REST surface for webinar-attendees-list. operations: - method: POST name: webinarattendeeslist description: Get ended webinar attendees call: webinar--webinar.webinarattendeeslist with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/create name: webinar-create description: REST surface for webinar-create. operations: - method: POST name: webinarcreate description: Create a webinar on Zoom, return the created webinar start and join URL. call: webinar--webinar.webinarcreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/delete name: webinar-delete description: REST surface for webinar-delete. operations: - method: POST name: webinardelete description: Delete a webinar on Zoom, return the deleted webinar ID. call: webinar--webinar.webinardelete with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/end name: webinar-end description: REST surface for webinar-end. operations: - method: POST name: webinarend description: End a Webinar on Zoom, return the deleted Webinar ID call: webinar--webinar.webinarend with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/get name: webinar-get description: REST surface for webinar-get. operations: - method: POST name: webinarget description: Get a Webinar on Zoom via Webinar ID, return the Webinar info call: webinar--webinar.webinarget with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/list name: webinar-list description: REST surface for webinar-list. operations: - method: POST name: webinarlist description: List all registrationless Webinars on Zoom call: webinar--webinar.webinarlist with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/list/registration name: webinar-list-registration description: REST surface for webinar-list-registration. operations: - method: POST name: webinarlistregistration description: List all the upcoming registration-based Webinars on Zoom call: webinar--webinar.webinarlistregistration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/panelists name: webinar-panelists description: REST surface for webinar-panelists. operations: - method: POST name: webinarpanelists description: Get all the Webinar Panelists on Zoom call: webinar--webinar.webinarpanelists with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/polls name: webinar-polls description: REST surface for webinar-polls. operations: - method: POST name: webinarpolls description: Get Ended Webinar Polls call: webinar--webinar.webinarpolls with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/questions name: webinar-questions description: REST surface for webinar-questions. operations: - method: POST name: webinarquestions description: Get Ended Webinar Q&A call: webinar--webinar.webinarquestions with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/register name: webinar-register description: REST surface for webinar-register. operations: - method: POST name: webinarregister description: Register for a webinar call: webinar--webinar.webinarregister with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/registrants/approve name: webinar-registrants-approve description: REST surface for webinar-registrants-approve. operations: - method: POST name: webinarregistrantsapprove description: Approve pending registrants on Zoom Webinar. call: webinar--webinar.webinarregistrantsapprove with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/registrants/list name: webinar-registrants-list description: REST surface for webinar-registrants-list. operations: - method: POST name: webinarregistrantslist description: List webinar registrants on Zoom, include pending approval registrants and approved registrants. call: webinar--webinar.webinarregistrantslist with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/registration name: webinar-registration description: REST surface for webinar-registration. operations: - method: POST name: webinarregistration description: Gather Webinar registrants info call: webinar--webinar.webinarregistration with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/registration/cancel name: webinar-registration-cancel description: REST surface for webinar-registration-cancel. operations: - method: POST name: webinarregistrationcancel description: Cancel Webinar Registration call: webinar--webinar.webinarregistrationcancel with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/update name: webinar-update description: REST surface for webinar-update. operations: - method: POST name: webinarupdate description: Update Webinar info on Zoom via Webinar ID call: webinar--webinar.webinarupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webinar/uuid/list name: webinar-uuid-list description: REST surface for webinar-uuid-list. operations: - method: POST name: webinaruuidlist description: Get ended webinar UUID. call: webinar--webinar.webinaruuidlist with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: webinar--webinar-mcp port: 9090 transport: http description: MCP adapter for Zoom webinar/ — Webinar. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-ended-webinar-attendees description: Get ended webinar attendees hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarattendeeslist with: body: tools.body outputParameters: - type: object mapping: $. - name: create-webinar-zoom-return-created description: Create a webinar on Zoom, return the created webinar start and join URL. hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-webinar-zoom-return-deleted description: Delete a webinar on Zoom, return the deleted webinar ID. hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinardelete with: body: tools.body outputParameters: - type: object mapping: $. - name: end-webinar-zoom-return-deleted description: End a Webinar on Zoom, return the deleted Webinar ID hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarend with: body: tools.body outputParameters: - type: object mapping: $. - name: get-webinar-zoom-webinar-id description: Get a Webinar on Zoom via Webinar ID, return the Webinar info hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarget with: body: tools.body outputParameters: - type: object mapping: $. - name: list-all-registrationless-webinars-zoom description: List all registrationless Webinars on Zoom hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarlist with: body: tools.body outputParameters: - type: object mapping: $. - name: list-all-upcoming-registration-based description: List all the upcoming registration-based Webinars on Zoom hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarlistregistration with: body: tools.body outputParameters: - type: object mapping: $. - name: get-all-webinar-panelists-zoom description: Get all the Webinar Panelists on Zoom hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarpanelists with: body: tools.body outputParameters: - type: object mapping: $. - name: get-ended-webinar-polls description: Get Ended Webinar Polls hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarpolls with: body: tools.body outputParameters: - type: object mapping: $. - name: get-ended-webinar-q-a description: Get Ended Webinar Q&A hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarquestions with: body: tools.body outputParameters: - type: object mapping: $. - name: register-webinar description: Register for a webinar hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarregister with: body: tools.body outputParameters: - type: object mapping: $. - name: approve-pending-registrants-zoom-webinar description: Approve pending registrants on Zoom Webinar. hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarregistrantsapprove with: body: tools.body outputParameters: - type: object mapping: $. - name: list-webinar-registrants-zoom-include description: List webinar registrants on Zoom, include pending approval registrants and approved registrants. hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinarregistrantslist with: body: tools.body outputParameters: - type: object mapping: $. - name: gather-webinar-registrants-info description: Gather Webinar registrants info hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarregistration with: body: tools.body outputParameters: - type: object mapping: $. - name: cancel-webinar-registration description: Cancel Webinar Registration hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarregistrationcancel with: body: tools.body outputParameters: - type: object mapping: $. - name: update-webinar-info-zoom-webinar description: Update Webinar info on Zoom via Webinar ID hints: readOnly: false destructive: false idempotent: false call: webinar--webinar.webinarupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: get-ended-webinar-uuid description: Get ended webinar UUID. hints: readOnly: true destructive: false idempotent: false call: webinar--webinar.webinaruuidlist with: body: tools.body outputParameters: - type: object mapping: $.