Webex Cloud Calling
Webex Cloud Calling API with 633 endpoints for managing users, locations, call settings, hunt groups, auto-attendants, voicemail, call queues, and PSTN configurations for cloud-based telephony.
Webex Cloud Calling API with 633 endpoints for managing users, locations, call settings, hunt groups, auto-attendants, voicemail, call queues, and PSTN configurations for cloud-based telephony.
{
"openapi": "3.0.0",
"info": {
"title": "Webex Cloud Calling",
"version": "1.0.0",
"description": "The Webex Cloud Calling APIs enable comprehensive management of cloud-based calling services, including user provisioning, device assignment, call routing, feature configuration, and number management. These APIs facilitate integration with enterprise directories, automation of telephony workflows, and centralized management of global calling infrastructure. Use cases include automated onboarding, self-service portals, integration with CRM/ERP systems, and real-time monitoring of call quality and usage."
},
"tags": [
{
"name": "External Voicemail",
"description": "Operations related to external voicemail Message Waiting Indicator (MWI) status."
},
{
"name": "User Call Settings (2/2)",
"description": "APIs for managing user call settings including music on hold, access codes, transfer numbers, digit patterns, and more."
}
],
"paths": {
"/telephony/config/locations/{locationId}/dectNetworks": {
"post": {
"responses": {
"201": {
"description": "Created",
"headers": {},
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"dectNetworkId"
],
"properties": {
"dectNetworkId": {
"type": "string",
"example": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX05FVC81NmRiMjRkMy03YTdhLTQwYTItOWFjOS1iMjMzMjc3OTIxNzf",
"description": "A unique identifier for the DECT network."
}
}
},
"example": {
"dectNetworkId": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX05FVC81NmRiMjRkMy03YTdhLTQwYTItOWFjOS1iMjMzMjc3OTIxNzf"
}
}
}
},
"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": "Create a DECT Network",
"operationId": "Create a DECT Network",
"description": "Create a multi-cell DECT network for a given location.\n\nCreating a DECT network requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.",
"tags": [
"DECT Devices Settings"
],
"parameters": [
{
"name": "locationId",
"in": "path",
"description": "Create a DECT network in this location.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX05FVC81NmRiMjRkMy03YTdhLTQwYTItOWFjOS1iMjMzMjc3OTIxTrd",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"in": "query",
"description": "Create a DECT network in this organization.",
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"example": {
"name": "test-dect",
"displayName": "test-dect",
"model": "DMS Cisco DBS210",
"defaultAccessCodeEnabled": true,
"defaultAccessCode": "1551"
},
"schema": {
"$ref": "#/components/schemas/CreateDECTNetwork"
}
}
}
}
}
},
"/telephony/config/dectNetworks": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DECTNetworkList"
},
"example": {
"dectNetworks": [
{
"id": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"name": "Demo-DectNetwork",
"displayName": "Demo-DectNetwork",
"chainId": 1224,
"model": "DMS Cisco DBS210",
"defaultAccessCodeEnabled": true,
"defaultAccessCode": "1234",
"numberOfBaseStations": 2,
"numberOfHandsetsAssigned": 5,
"numberOfLines": 2,
"location": {
"id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA",
"name": "Cisco-HQ"
}
}
]
}
}
}
},
"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 the List of DECT Networks for an organization",
"operationId": "Get the List of DECT Networks for an organization",
"description": "Retrieves the list of DECT networks for an organization.\n\nDECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.",
"tags": [
"DECT Devices Settings"
],
"parameters": [
{
"name": "orgId",
"in": "query",
"description": "List of DECT networks in this organization.",
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
"type": "string"
}
},
{
"name": "name",
"in": "query",
"description": "List of DECT networks with this name.",
"example": "Training-DectNetwork",
"schema": {
"type": "string"
}
},
{
"name": "locationId",
"in": "query",
"description": "List of DECT networks at this location.",
"example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA",
"schema": {
"type": "string"
}
}
]
}
},
"/telephony/config/locations/{locationId}/dectNetworks/{dectNetworkId}": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DECTNetworkDetail"
},
"example": {
"id": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"name": "Demo-DectNetwork",
"displayName": "Demo-DectNetwork",
"chainId": 122456789,
"model": "DMS Cisco DBS210",
"defaultAccessCodeEnabled": true,
"defaultAccessCode": "1234",
"numberOfBaseStations": 2,
"numberOfHandsetsAssigned": 5,
"numberOfLines": 2,
"location": {
"id": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA",
"name": "Cisco-HQ"
}
}
}
}
},
"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 DECT Network Details",
"operationId": "Get DECT Network Details",
"description": "Retrieves the details of a DECT network.\n\nDECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.",
"tags": [
"DECT Devices Settings"
],
"parameters": [
{
"name": "locationId",
"in": "path",
"description": "Details of the DECT network at this location.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA",
"schema": {
"type": "string"
}
},
{
"name": "dectNetworkId",
"in": "path",
"description": "Details of the specified DECT network.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX05FVC9iNWNhZWVkMi0yYTJlLTQ0NTQtYjU3Yy1jMWFhMTk4MTBiMDk",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"in": "query",
"description": "Details of the DECT network in 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 DECT Network",
"operationId": "Update DECT Network",
"description": "Update the details of a DECT network.\n\nDECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_write`.",
"tags": [
"DECT Devices Settings"
],
"parameters": [
{
"name": "locationId",
"in": "path",
"description": "Update DECT network details in the specified location.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA",
"schema": {
"type": "string"
}
},
{
"name": "dectNetworkId",
"in": "path",
"description": "Update DECT network details in the specified DECT network.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX05FVC9iNWNhZWVkMi0yYTJlLTQ0NTQtYjU3Yy1jMWFhMTk4MTBiMDk=",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"in": "query",
"description": "Update DECT network details in the specified organization.",
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"example": {
"name": "Demo-DectNetwork",
"displayName": "Demo-DectNetwork",
"defaultAccessCodeEnabled": true,
"defaultAccessCode": 1234
},
"schema": {
"$ref": "#/components/schemas/DECTNetworkPatch"
}
}
}
}
},
"delete": {
"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": "Delete DECT Network",
"operationId": "Delete DECT Network",
"description": "Delete a DECT network.\n\nDECT Networks provide roaming voice services via base stations and wireless handsets. A DECT network can be provisioned up to 1000 lines across up to 254 base stations.\n\nThis API requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_write`.",
"tags": [
"DECT Devices Settings"
],
"parameters": [
{
"name": "locationId",
"in": "path",
"description": "Delete the DECT network in the specified location.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OL2E4Mjg5NzIyLTFiODAtNDFiNy05Njc4LTBlNzdhZThjMTA5OA",
"schema": {
"type": "string"
}
},
{
"name": "dectNetworkId",
"in": "path",
"description": "Delete the specified DECT network.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX05FVC9iNWNhZWVkMi0yYTJlLTQ0NTQtYjU3Yy1jMWFhMTk4MTBiMDk=",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"in": "query",
"description": "Delete the DECT network in the specified organization.",
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
"type": "string"
}
}
]
}
},
"/telephony/config/locations/{locationId}/dectNetworks/{dectNetworkId}/baseStations": {
"post": {
"responses": {
"201": {
"description": "Created",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseStationsPostResponse"
},
"example": {
"baseStations": [
{
"mac": "bbafec9a9027",
"result": {
"status": 201,
"id": "Y2lzY29zcGFyazovL3VzL0RFQ1RfREVWX1NUQVRJT04vYzRhMTQxN2ItZGNiYi00MGMzLWE3YWQtNTY1MGZkZGRkNTNj"
}
}
]
}
}
}
},
"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": "Create Multiple Base Stations",
"operationId": "Create Multiple Base Stations",
"description": "This API is used to create multiple base stations in a DECT network in an organization.\n\nCreating base stations in a DECT network requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`.",
"tags": [
"DECT Devices Settings"
],
"parameters": [
{
"name": "locationId",
"in": "path",
"description": "Create a base station in this location.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1",
"schema": {
"type": "string"
}
},
{
"name": "dectNetworkId",
"in": "path",
"description": "Create a base station for the DECT network.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0NBTEwvQkNMRC9jYWxsaGFsZi00ODg6MA",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"in": "query",
"description": "Create a base station for a DECT network in this organization.",
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
# --- truncated at 32 KB (7491 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-cloud-calling-openapi.json