Webex · Capability

Webex Meetings — Preferences

Webex Meetings — Preferences. 14 operations. Lead operation: Batch Refresh Personal Meeting Room ID. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexPreferences

What You Can Do

POST
Batchrefreshpersonalmeetingroomid — Batch Refresh Personal Meeting Room ID
/v1/admin/meetingpreferences/personalmeetingroom/refreshid
GET
Getmeetingpreferencedetails — Get Meeting Preference Details
/v1/meetingpreferences
GET
Getaudiooptions — Get Audio Options
/v1/meetingpreferences/audio
PUT
Updateaudiooptions — Update Audio Options
/v1/meetingpreferences/audio
GET
Getpersonalmeetingroomoptions — Get Personal Meeting Room Options
/v1/meetingpreferences/personalmeetingroom
PUT
Updatepersonalmeetingroomoptions — Update Personal Meeting Room Options
/v1/meetingpreferences/personalmeetingroom
GET
Getschedulingoptions — Get Scheduling Options
/v1/meetingpreferences/schedulingoptions
PUT
Updateschedulingoptions — Update Scheduling Options
/v1/meetingpreferences/schedulingoptions
POST
Deletedelegateemails — Delete Delegate Emails
/v1/meetingpreferences/schedulingoptions/delegateemails/delete
POST
Insertdelegateemails — Insert Delegate Emails
/v1/meetingpreferences/schedulingoptions/delegateemails/insert
GET
Getsitelist — Get Site List
/v1/meetingpreferences/sites
PUT
Updatedefaultsite — Update Default Site
/v1/meetingpreferences/sites
GET
Getvideooptions — Get Video Options
/v1/meetingpreferences/video
PUT
Updatevideooptions — Update Video Options
/v1/meetingpreferences/video

MCP Tools

batch-refresh-personal-meeting-room

Batch Refresh Personal Meeting Room ID

get-meeting-preference-details

Get Meeting Preference Details

read-only idempotent
get-audio-options

Get Audio Options

read-only idempotent
update-audio-options

Update Audio Options

idempotent
get-personal-meeting-room-options

Get Personal Meeting Room Options

read-only idempotent
update-personal-meeting-room-options

Update Personal Meeting Room Options

idempotent
get-scheduling-options

Get Scheduling Options

read-only idempotent
update-scheduling-options

Update Scheduling Options

idempotent
delete-delegate-emails

Delete Delegate Emails

insert-delegate-emails

Insert Delegate Emails

get-site-list

Get Site List

read-only idempotent
update-default-site

Update Default Site

idempotent
get-video-options

Get Video Options

read-only idempotent
update-video-options

Update Video Options

idempotent

Capability Spec

meeting-preferences.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Meetings — Preferences
  description: 'Webex Meetings — Preferences. 14 operations. Lead operation: Batch Refresh Personal Meeting Room ID. Self-contained
    Naftiko capability covering one Webex business surface.'
  tags:
  - Webex
  - Preferences
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBEX_API_KEY: WEBEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: meeting-preferences
    baseUri: ''
    description: Webex Meetings — Preferences business capability. Self-contained, no shared references.
    resources:
    - name: admin-meetingPreferences-personalMeetingRoom-refreshId
      path: /admin/meetingPreferences/personalMeetingRoom/refreshId
      operations:
      - name: batchrefreshpersonalmeetingroomid
        method: POST
        description: Batch Refresh Personal Meeting Room ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences
      path: /meetingPreferences
      operations:
      - name: getmeetingpreferencedetails
        method: GET
        description: Get Meeting Preference Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the required [admin-level scopes](/docs/meetings#adminorg
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
    - name: meetingPreferences-audio
      path: /meetingPreferences/audio
      operations:
      - name: getaudiooptions
        method: GET
        description: Get Audio Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
      - name: updateaudiooptions
        method: PUT
        description: Update Audio Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences-personalMeetingRoom
      path: /meetingPreferences/personalMeetingRoom
      operations:
      - name: getpersonalmeetingroomoptions
        method: GET
        description: Get Personal Meeting Room Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
      - name: updatepersonalmeetingroomoptions
        method: PUT
        description: Update Personal Meeting Room Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences-schedulingOptions
      path: /meetingPreferences/schedulingOptions
      operations:
      - name: getschedulingoptions
        method: GET
        description: Get Scheduling Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
      - name: updateschedulingoptions
        method: PUT
        description: Update Scheduling Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences-schedulingOptions-delegateEmails-delete
      path: /meetingPreferences/schedulingOptions/delegateEmails/delete
      operations:
      - name: deletedelegateemails
        method: POST
        description: Delete Delegate Emails
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences-schedulingOptions-delegateEmails-insert
      path: /meetingPreferences/schedulingOptions/delegateEmails/insert
      operations:
      - name: insertdelegateemails
        method: POST
        description: Insert Delegate Emails
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences-sites
      path: /meetingPreferences/sites
      operations:
      - name: getsitelist
        method: GET
        description: Get Site List
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: URL of the Webex site to query. If `siteUrl` is not specified, the query will use the default site
            for the admin's authorization token used to make the call.
      - name: updatedefaultsite
        method: PUT
        description: Update Default Site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: defaultSite
          in: query
          type: boolean
          description: 'Whether or not to change user''s default site. ***Note***: `defaultSite` should be set to true for
            the user''s single default site'
          required: true
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: meetingPreferences-video
      path: /meetingPreferences/video
      operations:
      - name: getvideooptions
        method: GET
        description: Get Video Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
      - name: updatevideooptions
        method: PUT
        description: Update Video Options
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userEmail
          in: query
          type: string
          description: Email address for the user. This parameter is only used if the user or application calling the API
            has the [admin-level scopes](/docs/meetings#adminorganization
        - name: siteUrl
          in: query
          type: string
          description: 'URL of the Webex site to query. For individual use, if `siteUrl` is not specified, the query will
            use the default site of the user. For admin use, if `siteUrl` '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: meeting-preferences-rest
    port: 8080
    description: REST adapter for Webex Meetings — Preferences. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/admin/meetingpreferences/personalmeetingroom/refreshid
      name: admin-meetingpreferences-personalmeetingroom-refreshid
      description: REST surface for admin-meetingPreferences-personalMeetingRoom-refreshId.
      operations:
      - method: POST
        name: batchrefreshpersonalmeetingroomid
        description: Batch Refresh Personal Meeting Room ID
        call: meeting-preferences.batchrefreshpersonalmeetingroomid
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences
      name: meetingpreferences
      description: REST surface for meetingPreferences.
      operations:
      - method: GET
        name: getmeetingpreferencedetails
        description: Get Meeting Preference Details
        call: meeting-preferences.getmeetingpreferencedetails
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/audio
      name: meetingpreferences-audio
      description: REST surface for meetingPreferences-audio.
      operations:
      - method: GET
        name: getaudiooptions
        description: Get Audio Options
        call: meeting-preferences.getaudiooptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateaudiooptions
        description: Update Audio Options
        call: meeting-preferences.updateaudiooptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/personalmeetingroom
      name: meetingpreferences-personalmeetingroom
      description: REST surface for meetingPreferences-personalMeetingRoom.
      operations:
      - method: GET
        name: getpersonalmeetingroomoptions
        description: Get Personal Meeting Room Options
        call: meeting-preferences.getpersonalmeetingroomoptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatepersonalmeetingroomoptions
        description: Update Personal Meeting Room Options
        call: meeting-preferences.updatepersonalmeetingroomoptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/schedulingoptions
      name: meetingpreferences-schedulingoptions
      description: REST surface for meetingPreferences-schedulingOptions.
      operations:
      - method: GET
        name: getschedulingoptions
        description: Get Scheduling Options
        call: meeting-preferences.getschedulingoptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateschedulingoptions
        description: Update Scheduling Options
        call: meeting-preferences.updateschedulingoptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/schedulingoptions/delegateemails/delete
      name: meetingpreferences-schedulingoptions-delegateemails-delete
      description: REST surface for meetingPreferences-schedulingOptions-delegateEmails-delete.
      operations:
      - method: POST
        name: deletedelegateemails
        description: Delete Delegate Emails
        call: meeting-preferences.deletedelegateemails
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/schedulingoptions/delegateemails/insert
      name: meetingpreferences-schedulingoptions-delegateemails-insert
      description: REST surface for meetingPreferences-schedulingOptions-delegateEmails-insert.
      operations:
      - method: POST
        name: insertdelegateemails
        description: Insert Delegate Emails
        call: meeting-preferences.insertdelegateemails
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/sites
      name: meetingpreferences-sites
      description: REST surface for meetingPreferences-sites.
      operations:
      - method: GET
        name: getsitelist
        description: Get Site List
        call: meeting-preferences.getsitelist
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatedefaultsite
        description: Update Default Site
        call: meeting-preferences.updatedefaultsite
        with:
          defaultSite: rest.defaultSite
          userEmail: rest.userEmail
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meetingpreferences/video
      name: meetingpreferences-video
      description: REST surface for meetingPreferences-video.
      operations:
      - method: GET
        name: getvideooptions
        description: Get Video Options
        call: meeting-preferences.getvideooptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatevideooptions
        description: Update Video Options
        call: meeting-preferences.updatevideooptions
        with:
          userEmail: rest.userEmail
          siteUrl: rest.siteUrl
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: meeting-preferences-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Meetings — Preferences. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: batch-refresh-personal-meeting-room
      description: Batch Refresh Personal Meeting Room ID
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: meeting-preferences.batchrefreshpersonalmeetingroomid
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-meeting-preference-details
      description: Get Meeting Preference Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meeting-preferences.getmeetingpreferencedetails
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: get-audio-options
      description: Get Audio Options
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meeting-preferences.getaudiooptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: update-audio-options
      description: Update Audio Options
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: meeting-preferences.updateaudiooptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-personal-meeting-room-options
      description: Get Personal Meeting Room Options
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meeting-preferences.getpersonalmeetingroomoptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: update-personal-meeting-room-options
      description: Update Personal Meeting Room Options
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: meeting-preferences.updatepersonalmeetingroomoptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-scheduling-options
      description: Get Scheduling Options
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meeting-preferences.getschedulingoptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: update-scheduling-options
      description: Update Scheduling Options
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: meeting-preferences.updateschedulingoptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-delegate-emails
      description: Delete Delegate Emails
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: meeting-preferences.deletedelegateemails
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: insert-delegate-emails
      description: Insert Delegate Emails
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: meeting-preferences.insertdelegateemails
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-site-list
      description: Get Site List
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meeting-preferences.getsitelist
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: update-default-site
      description: Update Default Site
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: meeting-preferences.updatedefaultsite
      with:
        defaultSite: tools.defaultSite
        userEmail: tools.userEmail
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-video-options
      description: Get Video Options
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: meeting-preferences.getvideooptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: update-video-options
      description: Update Video Options
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: meeting-preferences.updatevideooptions
      with:
        userEmail: tools.userEmail
        siteUrl: tools.siteUrl
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.