openapi: 3.0.0
info:
title: Webex Admin Address Book Call Settings For Me Phase 5 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: Call Settings For Me Phase 5
paths:
/telephony/config/people/me/settings/personalAssistant:
get:
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PersonalAssistantSettings'
'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: Get Personal Assistant Settings
operationId: getPersonalAssistantSettings
description: 'Retrieve personal assistant settings for a person. The personal assistant feature allows users to configure an automated attendant that can handle incoming calls when they are unavailable, including presence-based routing and call transfer options.
Personal Assistant is a feature of Webex Calling that helps manage incoming calls based on the user''s availability status.
This API requires a user auth token with a scope of `spark:telephony_config_read`.'
tags:
- Call Settings For Me Phase 5
parameters: []
put:
responses:
'204':
description: 'No Content: Personal assistant settings successfully updated.'
'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: Update Personal Assistant Settings
operationId: updatePersonalAssistantSettings
description: 'Update personal assistant settings for a person. Allows configuring the personal assistant feature including enabling/disabling it, setting presence status, configuring call transfer options, and alerting preferences.
Personal Assistant is a feature of Webex Calling that helps manage incoming calls based on the user''s availability status.
This API requires a user auth token with a scope of `spark:telephony_config_write`.'
tags:
- Call Settings For Me Phase 5
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PersonalAssistantSettingsUpdate'
/telephony/config/people/me/voicemail/rules:
get:
summary: Get Person's Voicemail Rules
operationId: getUserVoicemailRules
description: 'Get person''s voicemail passcode rules. Voicemail rules specify the default passcode requirements. They are provided for informational purposes only and cannot be modified.
The voicemail feature allows users to manage their voicemail settings as part of Webex Calling. Voicemail rules help ensure secure access to voice messages by defining passcode complexity requirements.
This API requires a user auth token with a scope of `spark:telephony_config_read`.'
tags:
- Call Settings For Me Phase 5
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/VoicemailRules'
'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.'
/telephony/config/people/me/voicemail/pin:
put:
summary: Update Voicemail PIN
operationId: updateVoicemailPin
description: 'Set the voicemail PIN for a person. Updates the PIN used to access voicemail messages. The PIN must comply with the passcode rules defined for the organization.
The voicemail feature is part of Webex Calling, allowing users to secure their voicemail access with a PIN. The PIN is required to retrieve voice messages via phone.
This API requires a user auth token with a scope of `spark:telephony_config_write`.'
tags:
- Call Settings For Me Phase 5
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VoicemailPin'
responses:
'204':
description: 'No Content: Voicemail PIN successfully updated.'
'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.'
/telephony/config/people/me/settings/hoteling/guest:
get:
summary: Get Hoteling Guest Settings
operationId: getHotelingGuestSettings
description: 'Retrieve hoteling guest settings for a person. Hoteling allows a person to temporarily use a device as a guest, associating their extension and configuration with that device for a limited time. This API returns the current hoteling guest configuration including any active host association details.
Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.
This API requires a user auth token with a scope of `spark:telephony_config_read`.'
tags:
- Call Settings For Me Phase 5
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HotelingGuestSettings'
'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.'
put:
summary: Update Hoteling Guest Settings
operationId: updateHotelingGuestSettings
description: 'Update hoteling guest settings for a person. Allows enabling or disabling the ability to use hoteling as a guest, configuring whether an association will be removed automatically after a specified time period, and associating with a hoteling host.
Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.
This API requires a user auth token with a scope of `spark:telephony_config_write`.'
tags:
- Call Settings For Me Phase 5
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HotelingGuestSettingsUpdate'
responses:
'204':
description: 'No Content: Hoteling guest settings successfully updated.'
'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.'
/telephony/config/people/me/settings/hoteling/availableHosts:
get:
summary: Get Available Hoteling Hosts
operationId: getAvailableHotelingHosts
description: 'Retrieve a list of available hoteling hosts that a person can associate with as a guest. Returns hosts that have hoteling enabled on their devices and are available for guest associations. The list can be filtered by name or phone number and supports pagination.
Hoteling is a feature of Webex Calling that enables flexible workspace solutions by allowing users to log into shared devices.
This API requires a user auth token with a scope of `spark:telephony_config_read`.'
tags:
- Call Settings For Me Phase 5
parameters:
- name: max
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 2000
default: 2000
description: Limit the maximum number of hosts in the response. Default is 100.
example: 100
- name: start
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
description: Start index for pagination. Default is 0.
example: 0
- name: name
in: query
required: false
schema:
type: string
description: Filter hosts by name (first name or last name). Partial match is supported.
example: John
- name: phoneNumber
in: query
required: false
schema:
type: string
description: Filter hosts by phone number. Partial match is supported.
example: '+14085551234'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableHotelingHosts'
'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.'
components:
schemas:
PasscodeLength:
type: object
required:
- min
- max
properties:
min:
type: integer
minimum: 2
maximum: 15
example: 6
description: The minimum value is 2. The maximum value is 15.
max:
type: integer
minimum: 3
maximum: 30
example: 15
description: The minimum value is 3. The maximum value is 30.
description: Length of the passcode.
HotelingGuestSettings:
type: object
required:
- enabled
properties:
enabled:
type: boolean
example: true
description: Enable/Disable hoteling guest functionality for the person. When enabled, the person can associate themselves with a hoteling host device.
associationLimitEnabled:
type: boolean
example: true
description: When enabled, the person's hoteling guest association will be automatically removed after the specified time period.
associationLimitHours:
type: integer
minimum: 1
maximum: 999
example: 12
description: Time limit in hours for the hoteling guest association (1-999). Applicable when associationLimitEnabled is true.
hostAssociationLimitHours:
type: integer
minimum: 1
maximum: 999
example: 24
description: Time limit in hours configured by the host for guest associations.
hostEnforcedAssociationLimitEnabled:
type: boolean
example: false
description: Indicates whether the host has enforced an association time limit.
hostFirstName:
type: string
example: John
description: First name of the hoteling host.
hostLastName:
type: string
example: Smith
description: Last name of the hoteling host.
hostId:
type: string
example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9hYmNkZWYxMi0zNDU2LTc4OTAtYWJjZC1lZjEyMzQ1Njc4OTA
description: Unique identifier of the hoteling host person or workspace.
hostPhoneNumber:
type: string
example: '+1234567890'
description: Phone number of the hoteling host.
hostExtension:
type: string
example: '1234'
description: Extension of the hoteling host.
hostLocation:
$ref: '#/components/schemas/HotelingHostLocation'
example:
enabled: true
associationLimitEnabled: true
associationLimitHours: 12
hostAssociationLimitHours: 24
hostEnforcedAssociationLimitEnabled: false
hostFirstName: John
hostLastName: Smith
hostId: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9hYmNkZWYxMi0zNDU2LTc4OTAtYWJjZC1lZjEyMzQ1Njc4OTA
hostPhoneNumber: '+1234567890'
hostExtension: '1234'
hostLocation:
id: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzU0MDQ5NzQzLTIwM2MtNDM5OS1iN2NjLTU4ZmNkYzIwNjA3Zg
name: San Jose
description: Hoteling guest settings for a person.
VoicemailRules:
type: object
required:
- blockRepeatedPatternsEnabled
- blockUserNumberEnabled
- blockReversedUserNumberEnabled
- blockPreviousPasscodes
- blockReversedOldPasscodeEnabled
- blockRepeatedDigits
- blockContiguousSequences
- length
properties:
blockRepeatedPatternsEnabled:
type: boolean
example: true
description: If enabled, the passcode cannot contain repeated patterns. For example, 121212 and 123123.
blockUserNumberEnabled:
type: boolean
example: true
description: If enabled, the passcode must not match the user's own phone number.
blockReversedUserNumberEnabled:
type: boolean
example: true
description: If enabled, the passcode must not match the user's phone number in reverse.
blockPreviousPasscodes:
$ref: '#/components/schemas/BlockPreviousPasscodes'
blockReversedOldPasscodeEnabled:
type: boolean
example: true
description: If enabled, the passcode must not match the user's old passcodes in reverse.
blockRepeatedDigits:
$ref: '#/components/schemas/BlockRepeatedDigits'
blockContiguousSequences:
$ref: '#/components/schemas/BlockContiguousSequences'
length:
$ref: '#/components/schemas/PasscodeLength'
description: Person's voicemail passcode rules and restrictions.
example:
blockRepeatedPatternsEnabled: true
blockUserNumberEnabled: true
blockReversedUserNumberEnabled: true
blockPreviousPasscodes:
enabled: true
numberOfPasscodes: 3
blockReversedOldPasscodeEnabled: true
blockRepeatedDigits:
enabled: true
max: 3
blockContiguousSequences:
enabled: true
numberOfAscendingDigits: 3
numberOfDescendingDigits: 3
length:
min: 6
max: 15
BlockRepeatedDigits:
type: object
required:
- enabled
- max
properties:
enabled:
type: boolean
example: true
description: If enabled, checks for sequence of the same digit being repeated.
max:
type: integer
minimum: 1
maximum: 6
example: 3
description: Maximum number of repeated digit sequence allowed. The minimum value is 1. The maximum value is 6.
description: Settings to prevent single digits from being repeated in the passcode. For example, with a maximum value of 3, 111222 is allowed but 112222 is not allowed since it contains a repeated digit sequence longer than 3.
AvailableHotelingHost:
type: object
required:
- hostId
- firstName
- lastName
- phoneNumber
- extension
- allowedAssociationDuration
properties:
hostId:
type: string
example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS9hYmNkZWYxMi0zNDU2LTc4OTAtYWJjZC1lZjEyMzQ1Njc4OTA
description: Unique identifier for the person or workspace.
firstName:
type: string
example: John
description: First name of the hoteling host.
lastName:
type: string
example: Doe
description: Last name of the hoteling host.
phoneNumber:
type: string
example: '+14085551234'
description: Phone number of the hoteling host.
extension:
type: string
example: '1234'
description: Extension of the hoteling host.
allowedAssociationDuration:
type: integer
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-call-settings-for-me-phase-5-api-openapi.yml