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.
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
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: $.