openapi: 3.0.0
info:
title: Webex Admin Address Book Preferences API
version: 1.0.0
description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling.
tags:
- name: Preferences
paths:
/meetingPreferences:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/MeetingPreferenceObject'
example:
audio:
defaultAudioType: webexAudio
otherTeleconferenceDescription: Example Description
enabledGlobalCallIn: true
enabledTollFree: false
enabledAutoConnection: false
audioPin: '1314'
officeNumber:
countryCode: '123'
number: '123456'
enabledCallInAuthentication: false
enabledCallMe: false
mobileNumber:
countryCode: '1'
number: '123456789'
enabledCallInAuthentication: false
enabledCallMe: true
video:
videoDevices:
- deviceName: device1
deviceAddress: device1@example.com
isDefault: false
- deviceName: device2
deviceAddress: device2@example.com
isDefault: true
schedulingOptions:
enabledJoinBeforeHost: false
joinBeforeHostMinutes: 0
enabledAutoShareRecording: false
enabledWebexAssistantByDefault: false
delegateEmails:
- marcus.hoffmann@example.com
- brenda.song@example.com
sites:
- siteUrl: site1-example.webex.com
default: false
- siteUrl: site2-example.webex.com
default: false
- siteUrl: site3-example.webex.com
default: false
- siteUrl: site4-example.webex.com
default: true
personalMeetingRoom:
topic: John's PMR
hostPin: '4325'
enabledAutoLock: false
autoLockMinutes: 10
enabledNotifyHost: true
supportCoHost: true
supportAnyoneAsCoHost: false
allowFirstUserToBeCoHost: false
allowAuthenticatedDevices: false
coHosts:
- email: john.andersen@example.com
displayName: John Andersen
personalMeetingRoomLink: https://site4-example.webex.com/meet/john
sipAddress: john.andersen@example.com
dialInIpAddress: 192.168.100.100
telephony:
accessCode: '1234567890'
callInNumbers:
- label: US Toll
callInNumber: '123456789'
tollType: toll
links:
- rel: globalCallinNumbers
href: /v1/meetings/0fc6ec1109e0d9b6c94e1f6caccda976/globalCallinNumbers
method: GET
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: Forbidden
headers: {}
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
message:
type: string
errors:
type: array
items:
type: object
properties:
description:
type: string
trackingId:
type: string
example:
message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
errors:
- description: Not permitted to view or change other user's preferences.
trackingId: B4A8FB611CFE4BF697CC49B345730269_1572666125876
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Get Meeting Preference Details
operationId: Get Meeting Preference Details
description: Retrieves meeting preferences for the authenticated user.
tags:
- Preferences
parameters:
- name: userEmail
in: query
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#adminorganization-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will return details of the meeting preferences for that user.
example: john.andersen@example.com
schema:
type: string
- name: siteUrl
in: query
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` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
example: site4-example.webex.com
schema:
type: string
/meetingPreferences/personalMeetingRoom:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/PMRObject'
example:
topic: John's PMR
hostPin: '4325'
enabledAutoLock: false
autoLockMinutes: 10
enabledNotifyHost: true
supportCoHost: true
supportAnyoneAsCoHost: false
allowFirstUserToBeCoHost: false
allowAuthenticatedDevices: false
coHosts:
- email: john.andersen@example.com
displayName: John Andersen
personalMeetingRoomLink: https://site4-example.webex.com/meet/john
sipAddress: john.andersen@example.com
dialInIpAddress: 192.168.100.100
telephony:
accessCode: '1234567890'
callInNumbers:
- label: US Toll
callInNumber: '123456789'
tollType: toll
links:
- rel: globalCallinNumbers
href: /v1/meetings/0fc6ec1109e0d9b6c94e1f6caccda976/globalCallinNumbers
method: GET
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: Forbidden
headers: {}
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
message:
type: string
errors:
type: array
items:
type: object
properties:
description:
type: string
trackingId:
type: string
example:
message: Not permitted to view or change other user's preferences
errors:
- description: Not permitted to view or change other user's preferences
trackingId: C385085C959545C8813E51803297E132_1562293603899
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Get Personal Meeting Room Options
operationId: Get Personal Meeting Room Options
description: Retrieves the Personal Meeting Room options for the authenticated user.
tags:
- Preferences
parameters:
- name: userEmail
in: query
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-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will return details of the Personal Meeting Room options for that user.
example: john.andersen@example.com
schema:
type: string
- name: siteUrl
in: query
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` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
example: site4-example.webex.com
schema:
type: string
put:
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/PMRObject'
example:
topic: John's PMR
hostPin: '4325'
enabledAutoLock: false
autoLockMinutes: 10
enabledNotifyHost: true
supportCoHost: true
supportAnyoneAsCoHost: false
allowFirstUserToBeCoHost: false
allowAuthenticatedDevices: false
coHosts:
- email: john.andersen@example.com
displayName: John Andersen
personalMeetingRoomLink: https://site4-example.webex.com/meet/john
sipAddress: john.andersen@example.com
dialInIpAddress: 192.168.100.100
telephony:
accessCode: '1234567890'
callInNumbers:
- label: US Toll
callInNumber: '123456789'
tollType: toll
links:
- rel: globalCallinNumbers
href: /v1/meetings/0fc6ec1109e0d9b6c94e1f6caccda976/globalCallinNumbers
method: GET
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: Forbidden
headers: {}
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
message:
type: string
errors:
type: array
items:
type: object
properties:
description:
type: string
trackingId:
type: string
example:
message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
errors:
- description: Not permitted to view or change other user's preferences.
trackingId: 4A78EB66D02E4C78B9955AA504ECFC3D_1572666592909
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Update Personal Meeting Room Options
operationId: Update Personal Meeting Room Options
description: Updates Personal Meeting Room options for the authenticated user.
tags:
- Preferences
parameters:
- name: userEmail
in: query
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-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will update Personal Meeting Room options for that user.
example: john.andersen@example.com
schema:
type: string
- name: siteUrl
in: query
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` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
example: site4-example.webex.com
schema:
type: string
requestBody:
content:
application/json:
example:
topic: John's PMR
hostPin: '4325'
enabledAutoLock: false
autoLockMinutes: 10
enabledNotifyHost: true
supportCoHost: true
supportAnyoneAsCoHost: false
allowFirstUserToBeCoHost: false
allowAuthenticatedDevices: false
coHosts:
- email: john.andersen@example.com
displayName: John Andersen
schema:
$ref: '#/components/schemas/UpdatePMRObject'
/meetingPreferences/audio:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/AudioObject'
example:
defaultAudioType: webexAudio
otherTeleconferenceDescription: Example Description
enabledGlobalCallIn: true
enabledTollFree: false
enabledAutoConnection: false
audioPin: '1314'
officeNumber:
countryCode: '123'
number: '123456'
enabledCallInAuthentication: false
enabledCallMe: false
mobileNumber:
countryCode: '1'
number: '123456789'
enabledCallInAuthentication: false
enabledCallMe: true
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: Forbidden
headers: {}
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
message:
type: string
errors:
type: array
items:
type: object
properties:
description:
type: string
trackingId:
type: string
example:
message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
errors:
- description: Not permitted to view or change other user's preferences.
trackingId: 4A78EB66D02E4C78B9955AA504ECFC3D_1572666592909
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Get Audio Options
operationId: Get Audio Options
description: Retrieves audio options for the authenticated user.
tags:
- Preferences
parameters:
- name: userEmail
in: query
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-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will return details of the audio options for that user.
example: john.andersen@example.com
schema:
type: string
- name: siteUrl
in: query
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` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites](/docs/api/v1/meeting-preferences/get-site-list).
example: site4-example.webex.com
schema:
type: string
put:
responses:
'200':
description: OK
headers: {}
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/AudioObject'
example:
defaultAudioType: webexAudio
otherTeleconferenceDescription: Example Description
enabledGlobalCallIn: true
enabledTollFree: false
enabledAutoConnection: false
audioPin: '1314'
officeNumber:
countryCode: '123'
number: '123456'
enabledCallInAuthentication: false
enabledCallMe: false
mobileNumber:
countryCode: '1'
number: '123456789'
enabledCallInAuthentication: false
enabledCallMe: true
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: Forbidden
headers: {}
content:
application/json;charset=UTF-8:
schema:
type: object
properties:
message:
type: string
errors:
type: array
items:
type: object
properties:
description:
type: string
trackingId:
type: string
example:
message: The server understood the request, but refused to fulfill it because the access token is missing required scopes or the user is missing required roles or licenses.
errors:
- description: Not permitted to view or change other user's preferences.
trackingId: 4A78EB66D02E4C78B9955AA504ECFC3D_1572666592909
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Update Audio Options
operationId: Update Audio Options
description: Updates audio options for the authenticated user.
tags:
- Preferences
parameters:
- name: userEmail
in: query
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-level-authentication-and-scopes). If set, the admin may specify the email of a user in a site they manage and the API will update audio options for that user.
example: john.andersen@example.com
schema:
type: string
- name: siteUrl
in: query
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` is not specified, the query will use the default site for the admin's authorization token used to make the call. In the case where the user belongs to a site different than the admin’s default site, the admin can set the site to query using the `siteUrl` parameter. All available Webex sites and default site of a user can be retrieved from [/meetingPreferences/sites
# --- truncated at 32 KB (125 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-preferences-api-openapi.yml