openapi: 3.2.0 info: title: Webex Cloud Calling User Call Settings API 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. x-provenance: method: harvested authored_by: Cisco Webex harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true note: Published by Cisco. Retrieved unmodified except for this x-provenance block. provider_published: true x-evidence: - type: source url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-cloud-calling.json - type: raw url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-cloud-calling.json tags: - name: User Call Settings paths: /telephony/config/people/{personId}/monitoring/speedDials/availableMembers: get: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/GetAvailableMembersForMonitoringResponse' example: members: - id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS85ODhiYTQyOC0zMjMyLTRmNjItYjUyNy1hZGEyNTRlMTk0MjE firstName: John lastName: Doe displayName: John Doe phoneNumber: '+14085551234' extension: '1234' type: PEOPLE location: id: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1Njc4OTAxMjM0NTY3ODkw name: San Jose '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 Available Speed Dials for Person Monitoring operationId: getAvailableSpeedDialsForPersonMonitoring description: 'Get available speed dials for Person monitoring configuration. This API allows administrators to retrieve a list of members that can be added as speed dials for monitoring a specific person. Speed dials allow quick access to frequently contacted members. When configured for monitoring, speed dials enable users to quickly call or monitor the status of specific members within the organization. This API requires a full, user, or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.' tags: - User Call Settings parameters: - name: personId in: path description: Unique identifier for the person. required: true schema: type: string minLength: 1 maxLength: 128 example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS85ODhiYTQyOC0zMjMyLTRmNjItYjUyNy1hZGEyNTRlMTk0MjE - name: orgId in: query description: ID of the organization within which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API. required: false schema: type: string example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE - name: locationId in: query description: Search for the available speed dials in the location ID. required: false schema: type: string example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1Njc4OTAxMjM0NTY3ODkw - name: memberName in: query description: Search for available members by name. required: false schema: type: string example: John - name: phoneNumber in: query description: Search for available members by number or extension. required: false schema: type: string example: '1234' - name: order in: query description: 'Sort response based on `firstName` or `lastName` with sort direction `asc` or `desc`. Example: `lastName-asc` or `firstName-desc`. Default sort is ascending order.' required: false schema: type: array items: type: string example: - lastName-asc - name: start in: query description: Number of records to skip for pagination. required: false schema: type: integer minimum: 0 example: 0 - name: max in: query description: 'Number of records per page for pagination. Default: 2000. Maximum: 2000.' required: false schema: type: integer minimum: 1 maximum: 2000 default: 2000 example: 100 /telephony/config/people/{personId}/monitoring/availableMembers: get: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/GetAvailableMembersForMonitoringResponse' example: members: - id: Y2lzY29zcGFyazovL3VzL1BFT1BMRS85ODhiYTQyOC0zMjMyLTRmNjItYjUyNy1hZGEyNTRlMTk0MjE firstName: John lastName: Doe displayName: John Doe phoneNumber: '+14085551234' extension: '1234' type: PEOPLE location: id: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1Njc4OTAxMjM0NTY3ODkw name: San Jose '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 Available Members for Person Monitoring operationId: getAvailableMembersForPersonMonitoring description: 'Get available members for person monitoring. This API allows administrators to retrieve a list of members that can be added to the monitoring list for a specific person. Webex Calling monitoring allows a person to watch the line status of selected people, workspaces, and virtual lines. Configuring a monitoring list helps the person quickly see whether monitored members are on a call. This API requires a full, user, or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`.' tags: - User Call Settings parameters: - name: personId in: path description: Unique identifier for the person. required: true schema: type: string minLength: 1 maxLength: 128 example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS85ODhiYTQyOC0zMjMyLTRmNjItYjUyNy1hZGEyNTRlMTk0MjE - name: orgId in: query description: ID of the organization within which the person resides. Only admin users of another organization (such as partners) may use this parameter as the default is the same organization as the token used to access the API. required: false schema: type: string example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE - name: locationId in: query description: Search for the available members in the location ID. required: false schema: type: string example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1Njc4OTAxMjM0NTY3ODkw - name: memberName in: query description: Search for available members by name. required: false schema: type: string example: John - name: phoneNumber in: query description: Search for available members by number or extension. required: false schema: type: string example: '1234' - name: order in: query description: 'Sort response based on `firstName` or `lastName` with sort direction `asc` or `desc`. Example: `lastName-asc` or `firstName-desc`. Default sort is ascending order.' required: false schema: type: array items: type: string example: - lastName-asc - name: start in: query description: Number of records to skip for pagination. required: false schema: type: integer minimum: 0 example: 0 - name: max in: query description: 'Number of records per page for pagination. Default: 2000. Maximum: 2000.' required: false schema: type: integer minimum: 1 maximum: 2000 default: 2000 example: 100 components: schemas: LocationObject: type: object properties: id: type: string example: Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzEyMzQ1Njc4OTAxMjM0NTY3ODkw description: The ID of the location. name: type: string example: San Jose description: The name of the location. GetAvailableMembersForMonitoringResponse: type: object properties: members: type: array items: $ref: '#/components/schemas/AvailableMemberObject' description: List of available members. AvailableMemberObject: type: object properties: id: type: string example: Y2lzY29zcGFyazovL3VzL1BFT1BMRS85ODhiYTQyOC0zMjMyLTRmNjItYjUyNy1hZGEyNTRlMTk0MjE description: The identifier of the available member. firstName: type: string example: John description: The first name of the available member. lastName: type: string example: Doe description: The last name of the available member. displayName: type: string example: John Doe description: The display name of the available member. phoneNumber: type: string example: '+14085551234' description: The phone number of the available member. extension: type: string example: '1234' description: The extension of the available member. type: type: string enum: - PEOPLE - PLACE - VIRTUAL_LINE description: "The type of the available member.\n * `PEOPLE` - Object is a user.\n * `PLACE` - Object is a workspace.\n * `VIRTUAL_LINE` - Object is a virtual line.\n" location: $ref: '#/components/schemas/LocationObject' description: The location of the available member. securitySchemes: oauth2: flows: authorizationCode: authorizationUrl: / scopes: {} tokenUrl: / type: oauth2 bearer-key: type: http description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN scheme: bearer bearerFormat: JWT bearerAuth: type: http description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN scheme: bearer bearerFormat: JWT