openapi: 3.0.0
info:
title: 'Webex Admin Address Book Location Call Settings: Voicemail 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: 'Location Call Settings: Voicemail'
paths:
/telephony/config/locations/{locationId}/voicemail:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/GetLocationVoicemailObject'
example:
voicemailTranscriptionEnabled: 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: Get Location Voicemail
operationId: Get Location Voicemail
description: 'Retrieve voicemail settings for a specific location.
Location voicemail settings allows you to enable voicemail transcription for a specific location.
Retrieving a location''s voicemail settings requires a full, user or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Location Call Settings: Voicemail'
parameters:
- name: locationId
in: path
description: Retrieve voicemail settings for this location.
required: true
example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx
schema:
type: string
- name: orgId
in: query
description: Retrieve voicemail settings for this organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
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.'
summary: Update Location Voicemail
operationId: Update Location Voicemail
description: 'Update the voicemail settings for a specific location.
Location voicemail settings allows you to enable voicemail transcription for a specific location.
Updating a location''s voicemail settings requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`.'
tags:
- 'Location Call Settings: Voicemail'
parameters:
- name: locationId
in: path
description: Update voicemail settings for this location.
required: true
example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4NjczZDIwLWM0M2EtNDQ5Ni1iYWIxLTNiMjhhZGJjMjViYQ
schema:
type: string
- name: orgId
in: query
description: Update voicemail settings for this organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
requestBody:
content:
application/json:
example:
voicemailTranscriptionEnabled: true
schema:
$ref: '#/components/schemas/PutLocationVoicemailObject'
/telephony/config/locations/{locationId}/voicePortal:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/GetVoicePortalObject'
example:
id: Y2lzY29zcGFyazovL3VzL1ZPSUNFTUFJTF9HUk9VUC8yZmQzZGMwMy0yZWRhLTQ4NmUtODdhYS0xODY1ZDI5YWExZWI
name: test voicePortal
language: English
languageCode: en_us
extension: '0007'
phoneNumber: '+1345325235'
firstName: firstName
lastName: lastName
directLineCallerIdName:
selection: CUSTOM_NAME
customName: Hakim Smith
dialByName: Hakim Smith
'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 VoicePortal
operationId: Get VoicePortal
description: 'Retrieve Voice portal information for the location.
Voice portals provide an interactive voice response (IVR)
system so administrators can manage auto attendant announcements.
Retrieving voice portal information for an organization requires a full read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Location Call Settings: Voicemail'
parameters:
- name: locationId
in: path
description: Location to which the voice portal belongs.
required: true
example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx
schema:
type: string
- name: orgId
in: query
description: Organization to which the voice portal belongs.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
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.'
summary: Update VoicePortal
operationId: Update VoicePortal
description: 'Update Voice portal information for the location.
Voice portals provide an interactive voice response (IVR)
system so administrators can manage auto attendant anouncements.
Updating voice portal information for an organization and/or rules requires a full administrator or location administrator auth token with a scope of `spark-admin:telephony_config_write`.'
tags:
- 'Location Call Settings: Voicemail'
parameters:
- name: locationId
in: path
description: Location to which the voice portal belongs.
required: true
example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx
schema:
type: string
- name: orgId
in: query
description: Update voicemail rules for this organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
requestBody:
content:
application/json:
example:
name: Voice Portal Name
languageCode: en_us
extension: 5678
firstName: John
lastName: Brown
passcode:
newPasscode: '135668'
confirmPasscode: '135668'
directLineCallerIdName:
selection: CUSTOM_NAME
customName: Hakim Smith
dialByName: Hakim Smith
schema:
$ref: '#/components/schemas/PutVoicePortalObject'
/telephony/config/locations/{locationId}/voicePortal/passcodeRules:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/GetVoicePortalPasscodeRuleObject'
example:
expirePasscode:
enabled: true
numberOfDays: 180
failedAttempts:
enabled: true
attempts: 3
blockPreviousPasscodes:
enabled: true
numberOfPasscodes: 10
blockRepeatedDigits:
enabled: true
max: 3
blockContiguousSequences:
enabled: true
numberOfAscendingDigits: 3
numberOfDescendingDigits: 3
length:
min: 3
max: 3
blockRepeatedPatternsEnabled: true
blockUserNumberEnabled: true
blockReversedUserNumberEnabled: true
blockReversedOldPasscodeEnabled: 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: Get VoicePortal Passcode Rule
operationId: Get VoicePortal Passcode Rule
description: 'Retrieve the voice portal passcode rule for a location.
Voice portals provide an interactive voice response (IVR) system so administrators can manage auto attendant anouncements
Retrieving the voice portal passcode rule requires a full read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Location Call Settings: Voicemail'
parameters:
- name: locationId
in: path
description: Retrieve voice portal passcode rules for this location.
required: true
example: Y2lzY29zcGFyazovL3VzL0xPQ0fetchcllrjjejgghbruudtlknjbcleukhihhgFUSU9OLzMxMTYx
schema:
type: string
- name: orgId
in: query
description: Retrieve voice portal passcode rules for this organization.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
/telephony/config/voicemailGroups:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
type: object
required:
- voicemailGroups
properties:
voicemailGroups:
type: array
items:
$ref: '#/components/schemas/GetVoicemailGroupObject'
description: Array of VoicemailGroups.
example:
voicemailGroups:
- id: Y2lzY29zcGFyazovL3VzL1ZPSUNFTUFJTF9HUk9VUC9hN2RkNGQzOS00YTc4LTQ1MTYtOTU1Zi03ODEwZGJlMzc5Y2Y
name: RCDN-VM
locationName: Dallas
locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzljZmRhNzg5LWUwNjItNDU2MC05MzhiLTFmNDYxNmVmNzNmMg
phoneNumber: '+16066412147'
extension: '5896'
routingPrefix: '123'
esn: '1235896'
enabled: true
tollFreeNumber: false
- id: Y2lzY29zcGFyazovL3VzL1ZPSUNFTUFJTF9HUk9VUC8yZmQzZGMwMy0yZWRhLTQ4NmUtODdhYS0xODY1ZDI5YWExZWI
name: VG1
locationName: Boston
locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2EwYjk2ZWJhLTdiYjAtNDEwNy05NzVmLTBmMzkwZTBlNzc4OA
phoneNumber: null
extension: '1125'
routingPrefix: '123'
esn: '1235896'
enabled: true
- id: Y2lzY29zcGFyazovL3VzL1ZPSUNFTUFJTF9HUk9VUC8yZTY4ZjJmNC1lYTI2LTQyNjgtOWJmMy03YjNlNmJjMjE5YzE
name: VG2
locationName: RCDN
locationId: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzZhZjk4ZGViLWVlZGItNGFmYi1hMDAzLTEzNzgyYjdjODAxYw
phoneNumber: null
extension: '4567'
routingPrefix: '123'
esn: '1235896'
enabled: 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: List VoicemailGroup
operationId: List VoicemailGroup
description: 'List the voicemail group information for the organization.
You can create a shared voicemail box and inbound FAX box to
assign to users or call routing features like an auto attendant, call queue, or hunt group.
Retrieving a voicemail group for the organization requires a full read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Location Call Settings: Voicemail'
parameters:
- name: orgId
in: query
description: Organization to which the voicemail group belongs.
example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE
schema:
type: string
- name: locationId
in: query
description: Location to which the voicemail group belongs.
example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx
schema:
type: string
- name: name
in: query
description: Search (Contains) based on voicemail group name
example: voicemail
schema:
type: string
- name: phoneNumber
in: query
description: Search (Contains) based on number or extension
example: '+19828282867'
schema:
type: string
- name: max
in: query
description: Limit the maximum number of events in the response. The maximum value is `200`.
example: '100'
schema:
type: number
default: 100
- name: start
in: query
description: Offset from the first result that you want to fetch.
example: '0'
schema:
type: number
/telephony/config/locations/{locationId}/voicemailGroups/{voicemailGroupId}:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/GetLocationVoicemailGroupObject'
example:
id: a7dd4d39-4a78-4516-955f-7810dbe379cf
name: Voicemail Group Name
phoneNumber: '+16066412147'
extension: '1273'
routingPrefix: '123'
esn: '1231273'
tollFreeNumber: 'false'
firstName: rcdnfTest
lastName: rcdnlTest
enabled: true
languageCode: en_us
greeting: DEFAULT
greetingUploaded: true
greetingDescription: greetings.wav
messageStorage:
storageType: EXTERNAL
externalEmail: user@flex2.cisco.com
notifications:
enabled: true
destination: user@flex2.cisco.com
faxMessage:
enabled: true
phoneNumber: '+1234234324'
extension: '23455'
transferToNumber:
enabled: true
destination: '+12147691003'
emailCopyOfMessage:
enabled: true
emailId: <user@flex2.cisco.com
voiceMessageForwardingEnabled: true
directLineCallerIdName:
selection: CUSTOM_NAME
customName: Hakim Smith
dialByName: Hakim Smith
'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 Location Voicemail Group
operationId: Get Location Voicemail Group
description: 'Retrieve voicemail gr
# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-location-call-settings-voicemail-api-openapi.yml