Zoom · Capability

Zoom webinar/ — Webinar

Zoom webinar/ — Webinar. 17 operations. Lead operation: Webinar. Self-contained Naftiko capability covering one Zoom business surface.

Run with Naftiko ZoomWebinar

What You Can Do

POST
Webinarattendeeslist — Get ended webinar attendees
/v1/webinar/attendees/list
POST
Webinarcreate — Create a webinar on Zoom, return the created webinar start and join URL.
/v1/webinar/create
POST
Webinardelete — Delete a webinar on Zoom, return the deleted webinar ID.
/v1/webinar/delete
POST
Webinarend — End a Webinar on Zoom, return the deleted Webinar ID
/v1/webinar/end
POST
Webinarget — Get a Webinar on Zoom via Webinar ID, return the Webinar info
/v1/webinar/get
POST
Webinarlist — List all registrationless Webinars on Zoom
/v1/webinar/list
POST
Webinarlistregistration — List all the upcoming registration-based Webinars on Zoom
/v1/webinar/list/registration
POST
Webinarpanelists — Get all the Webinar Panelists on Zoom
/v1/webinar/panelists
POST
Webinarpolls — Get Ended Webinar Polls
/v1/webinar/polls
POST
Webinarquestions — Get Ended Webinar Q&A
/v1/webinar/questions
POST
Webinarregister — Register for a webinar
/v1/webinar/register
POST
Webinarregistrantsapprove — Approve pending registrants on Zoom Webinar.
/v1/webinar/registrants/approve
POST
Webinarregistrantslist — List webinar registrants on Zoom, include pending approval registrants and approved registrants.
/v1/webinar/registrants/list
POST
Webinarregistration — Gather Webinar registrants info
/v1/webinar/registration
POST
Webinarregistrationcancel — Cancel Webinar Registration
/v1/webinar/registration/cancel
POST
Webinarupdate — Update Webinar info on Zoom via Webinar ID
/v1/webinar/update
POST
Webinaruuidlist — Get ended webinar UUID.
/v1/webinar/uuid/list

MCP Tools

get-ended-webinar-attendees

Get ended webinar attendees

read-only
create-webinar-zoom-return-created

Create a webinar on Zoom, return the created webinar start and join URL.

delete-webinar-zoom-return-deleted

Delete a webinar on Zoom, return the deleted webinar ID.

end-webinar-zoom-return-deleted

End a Webinar on Zoom, return the deleted Webinar ID

get-webinar-zoom-webinar-id

Get a Webinar on Zoom via Webinar ID, return the Webinar info

read-only
list-all-registrationless-webinars-zoom

List all registrationless Webinars on Zoom

read-only
list-all-upcoming-registration-based

List all the upcoming registration-based Webinars on Zoom

read-only
get-all-webinar-panelists-zoom

Get all the Webinar Panelists on Zoom

read-only
get-ended-webinar-polls

Get Ended Webinar Polls

read-only
get-ended-webinar-q-a

Get Ended Webinar Q&A

read-only
register-webinar

Register for a webinar

approve-pending-registrants-zoom-webinar

Approve pending registrants on Zoom Webinar.

list-webinar-registrants-zoom-include

List webinar registrants on Zoom, include pending approval registrants and approved registrants.

read-only
gather-webinar-registrants-info

Gather Webinar registrants info

cancel-webinar-registration

Cancel Webinar Registration

update-webinar-info-zoom-webinar

Update Webinar info on Zoom via Webinar ID

get-ended-webinar-uuid

Get ended webinar UUID.

read-only

Capability Spec

webinar--webinar.yaml Raw ↑
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: $.