openapi: 3.0.0
info:
title: Webex Admin Address Book Device Call Settings With Device Dynamic Settings 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: Device Call Settings With Device Dynamic Settings
paths:
/telephony/config/supportedDevices:
get:
responses:
'200':
description: OK
headers:
Link:
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/supportedDevicesObject'
example:
upgradeChannelList:
- STABLE
- STABLE_DELAY
- PREVIEW
- BETA
- TESTING
devices:
- model: 2N Customer Managed
displayName: 2N Customer Managed
type: GENERIC_SIP
manufacturer: THIRD_PARTY
managedBy: CUSTOMER
supportedFor:
- PEOPLE
- PLACE
onboardingMethod:
- MAC_ADDRESS
allowConfigureLayoutEnabled: false
numberOfLinePorts: 20
kemSupportEnabled: true
kemModuleCount: 1
kemModuleType:
- KEM_20_KEYS
upgradeChannelEnabled: false
additionalPrimaryLineAppearancesEnabled: false
basicEmergencyNomadicEnabled: false
customizedBehaviorsEnabled: false
allowConfigurePortsEnabled: false
customizableLineLabelEnabled: false
supportsLinePortReorderingEnabled: false
kemLinesSupportEnabled: false
portNumberSupportEnabled: false
numberOfLineKeyButtons: 0
t38Enabled: false
callDeclinedEnabled: false
touchScreenPhone: false
deviceSettingsConfiguration: NONE
allowHotelingHostEnabled: false
supportsLogCollection: NONE
supportsApplyChangesEnabled: false
allowConfigureLinesEnabled: true
allowConfigurePhoneSettingsEnabled: false
supportsHotlineEnabled: false
- model: DMS Polycom EE400
displayName: Polycom EE400
familyDisplayName: Poly
type: GENERIC_SIP
manufacturer: THIRD_PARTY
managedBy: CISCO
supportedFor:
- PEOPLE
- PLACE
onboardingMethod:
- MAC_ADDRESS
allowConfigureLayoutEnabled: false
numberOfLinePorts: 14
kemSupportEnabled: false
upgradeChannelEnabled: false
additionalPrimaryLineAppearancesEnabled: true
basicEmergencyNomadicEnabled: false
customizedBehaviorsEnabled: true
allowConfigurePortsEnabled: false
customizableLineLabelEnabled: false
supportsLinePortReorderingEnabled: true
kemLinesSupportEnabled: false
portNumberSupportEnabled: false
numberOfLineKeyButtons: 0
touchScreenPhone: false
t38Enabled: false
callDeclinedEnabled: true
deviceSettingsConfiguration: WEBEX_CALLING_DYNAMIC_DEVICE_CONFIGURATION
allowHotelingHostEnabled: true
supportsLogCollection: NONE
supportsApplyChangesEnabled: true
allowConfigureLinesEnabled: true
allowConfigurePhoneSettingsEnabled: true
supportsHotlineEnabled: 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: The request is understood, but it has been refused or access is not allowed.'
'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: Read the List of Supported Devices
operationId: readTheListOfSupportedDevices
description: 'Gets the list of supported devices for an organization.
Retrieving this list requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- Device Call Settings With Device Dynamic Settings
parameters:
- name: orgId
in: query
description: List supported devices for an organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
- name: allowConfigureLayoutEnabled
in: query
description: List supported devices that allow the user to configure the layout.
example: true
schema:
type: boolean
- name: type
in: query
description: List supported devices of a specific type. To excluded device types from a request or query, add `type=not:DEVICE_TYPE`. For example, `type=not:MPP`.
example: MPP
schema:
type: string
/telephony/config/devices/dynamicSettings/settingsGroups:
get:
responses:
'200':
description: OK.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDynamicSettingsSettingsGroupsGet'
example:
settingsGroups:
- path: Voice.Codec Preferences
friendlyName: voice.codecPref.G711Mu
tab: Poly
familyOrModelDisplayName: Poly
tags:
- tagBlock:
- '%G711U_ORDER%'
- path: Feature.Bluetooth
friendlyName: feature.bluetooth.enabled
tab: Poly
familyOrModelDisplayName: Poly
tags:
- tagBlock:
- '%ENABLE_BLUETOOTH%'
- path: User Interface.Menu
friendlyName: ui.menu.background
tab: Poly
familyOrModelDisplayName: Poly
tags:
- tagBlock:
- '%DO_UI_MENU_BACKGROUND%'
settingsTabs:
- Poly
- MPP
'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: The request is understood, but it has been refused or access is not allowed.'
'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.'
operationId: getSettingsGroups
summary: Get Settings Groups
description: "This API returns the `settingsGroups` that define the structure and association of tags for device dynamic settings.\n\n The `settingsGroups` are used to organize the tags into logical groups, making it easier to manage and configure device dynamic settings."
parameters:
- name: orgId
in: query
description: Settings groups for devices in this organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
- name: familyOrModelDisplayName
in: query
description: Device family or model display name to filter the `settingsGroups`.
example: Poly
schema:
type: string
- name: includeSettingsType
in: query
description: To show groups or tabs or both. Query param is case insensitive. Default is `ALL`.
example: ALL
schema:
type: string
enum:
- TABS
- GROUPS
- ALL
tags:
- Device Call Settings With Device Dynamic Settings
/telephony/config/lists/devices/dynamicSettings/actions/getSettings/invoke:
post:
responses:
'200':
description: OK.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerDeviceDynamicSettingsListPostResponse'
example:
tags:
- familyOrModelDisplayName: Poly
tag: '%DO_MENU_ITEM_BACKGROUND%'
value: '#RRGGBB'
parentValue: '#FFFFFF'
parentLevel: ORGANIZATION
- familyOrModelDisplayName: Poly
tag: '%ENABLE_BLUETOOTH%'
value: '1'
parentValue: '0'
parentLevel: SYSTEM_DEFAULT
- familyOrModelDisplayName: Poly
tag: '%DO_MENU_TITLE_BACKGROUND%'
value: '#1A1A1A'
parentValue: '#FFFFFF'
parentLevel: REGIONAL_DEFAULT
lastUpdateTime: 1651396800000
updateInProgress: false
'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: The request is understood, but it has been refused or access is not allowed.'
'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.'
operationId: getCustomerDeviceDynamicSettings
summary: Get Customer Device Dynamic Settings
description: 'Retrieve dynamic settings for specific device tags at customer level, allowing filters by `familyOrModelDisplayName` and `tag` identifier.
This API lets you request the values of multiple `Device Settings` at once by specifying a list of `familyOrModelDisplayName` and tag combinations.
This requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
parameters:
- name: orgId
in: query
description: List of device dynamic settings in this organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
- name: familyOrModelDisplayName
in: query
required: true
description: The family or model name for the device. If no tag is specified, all tags related to `familyOrModelDisplayName` are returned.
example: Poly
schema:
type: string
minLength: 1
maxLength: 40
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerDeviceDynamicSettingsListPostRequest'
example:
tags:
- '%DO_MENU_ITEM_BACKGROUND%'
- '%ENABLE_BLUETOOTH%'
- '%DO_MENU_TITLE_BACKGROUND%'
description: Request body containing the list of device tags to retrieve settings for.
required: false
tags:
- Device Call Settings With Device Dynamic Settings
/telephony/config/lists/locations/{locationId}/devices/dynamicSettings/actions/getSettings/invoke:
post:
responses:
'200':
description: OK.
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/LocationDeviceDynamicSettingsListPostResponse'
example:
tags:
- familyOrModelDisplayName: Poly
tag: '%G711U_ORDER%'
value: '4'
parentValue: '3'
parentLevel: ORGANIZATION
- familyOrModelDisplayName: Poly
tag: '%ENABLE_BLUETOOTH%'
value: '1'
parentValue: '0'
parentLevel: SYSTEM_DEFAULT
- familyOrModelDisplayName: Poly
tag: '%DO_UI_MENU_BACKGROUND%'
value: '#1A1A1A'
parentValue: '#FFFFFF'
parentLevel: LOCATION
lastUpdateTime: 1651396800000
updateInProgress: false
'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: The request is understood, but it has been refused or access is not allowed.'
'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.'
operationId: getLocationDeviceDynamicSettings
summary: Get Location Device Dynamic Settings
description: 'Retrieve dynamic settings for specific device tags at the specified location level, allowing filters by `familyOrModelDisplayName` and `tag` identifier.
This API lets you request the values of multiple `Device Settings` at once by specifying a list of `familyOrModelDisplayName` and tag combinations for a specific location.
This requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
parameters:
- name: locationId
in: path
required: true
description: Unique identifier for the `location`.
example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMzZjBlZDFiLWQ1YjctNGI4Mi1iMzIzLTg4ZTFmODMzNGNmMw
schema:
type: string
- name: orgId
in: query
description: Unique identifier for the `organization` to which this location belongs.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
- name: familyOrModelDisplayName
in: query
required: true
description: The family or model name for the device. If no tag is specified, all tags related to `familyOrModelDisplayName` are returned.
example: Poly
schema:
type: string
minLength: 1
maxLength: 40
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocationDeviceDynamicSettingsListPostRequest'
example:
tags:
- '%G711U_ORDER%'
- '%ENABLE_BLUETOOTH%'
- '%DO_UI_MENU_BACKGROUND%'
description: Request body containing the list of device tags to retrieve settings for.
required: false
tags:
- Device Call Settings With Device Dynamic Settings
/telephony/config/lists/devices/{deviceId}/dynamicSettings/actions/getSettings/invoke:
post:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDynamicSettingsListPostResponse'
example:
tags:
- familyOrModelDisplayName: Poly
tag: '%G711U_ORDER%'
value: '4'
parentValue: '3'
parentLevel: ORGANIZATION
- familyOrModelDisplayName: Poly
tag: '%ENABLE_BLUETOOTH%'
parentValue: '0'
parentLevel: SYSTEM_DEFAULT
- familyOrModelDisplayName: Poly
tag: '%DO_UI_MENU_BACKGROUND%'
value: '#1A1A1A'
parentValue: '#FFFFFF'
parentLevel: LOCATION
lastUpdateTime: 1651396800000
'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: The request is understood, but it has been refused or access is not allowed.'
'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.'
operationId: getDeviceDynamicSettings
summary: Get Device Dynamic Settings
description: 'Retrieve settings for a specified device.
This API retrieves device settings based on the specified `tags`; if the `tags` field is empty or missing, all settings for the device are returned.
This requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
parameters:
- name: deviceId
in: path
required: true
description: Device for which to retrieve settings.
example: Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=
schema:
type: string
- name: orgId
in: query
description: Organization to which the `device` belongs.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDynamicSettingsListPostRequest'
example:
tags:
- '%G711U_ORDER%'
- '%ENABLE_BLUETOOTH%'
- '%DO_UI_MENU_BACKGROUND%'
description: Request body containing the list of device tags to retrieve settings for.
required: true
tags:
- Device Call Settings With Device Dynamic Settings
/telephony/config/devices/{deviceId}/dynamicSettings:
put:
responses:
'204':
description: No Content
headers: {}
content: {}
'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: The request is understood, but it has been refused or access is not allowed.'
'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.'
operationId: updateSpecifiedSettingsForTheDevice
summary: Update Device Dynamic Settings
description: 'Modify dynamic settings for a specified device.
This API updates device settings based on the specified `tags`. If the `tags` field is empty, the request has no effect.
This requires a full, device, or read-only administrator auth token with a scope of `spark-admin:telephony_config_write`.'
parameters:
- name: deviceId
in: path
required: true
description: Device for which to update settings.
example: Y2lzY29zcGFyazovL3VybjpURUFNOnVzLWVhc3QtMV9pbnQxMy9DQUxMSU5HX0RFVklDRS8zMDAyZWJiZi1iMTVmLTQ1ODktYWNiZS1kZjY3OTA3MTU5NWE=
schema:
type: string
- name: orgId
in: query
description: Organization to which the device belongs.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
sch
# --- truncated at 32 KB (84 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-device-call-settings-with-device-dynamic-settings-api-openapi.yml