openapi: 3.0.0
info:
title: 'Webex Admin Address Book Features: Customer Assist 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: 'Features: Customer Assist'
paths:
/telephony/config/cxEssentials/wrapup/reasons:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
type: object
required:
- wrapupReasons
properties:
wrapupReasons:
type: array
items:
$ref: '#/components/schemas/WrapUpReasonObject'
description: List of wrap-up reasons.
example:
wrapupReasons:
- id: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
name: Test Wrapup Reason 1
description: This is a description for wrap-up reason 1
numberOfQueuesAssigned: 5
- id: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvYjY2ZGY0ZjItYTc3Yy00MWNmLTkyYzAtOTA3MGUzZDA4M2Ex
name: Test Wrapup Reason 2
description: This is a description for wrap-up reason 2
numberOfQueuesAssigned: 13
'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 Wrap Up Reasons
operationId: List Wrap Up Reasons
description: 'Return the list of wrap-up reasons configured for a customer.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues. Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue. Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Retrieving the list of wrap-up reasons requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Features: Customer Assist'
parameters: []
post:
responses:
'201':
description: Created
headers: {}
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
description: Unique wrap-up identifier.
example:
id: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
'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 Wrap Up Reason
operationId: Create Wrap Up Reason
description: 'Create a wrap-up reason.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.
Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.
Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Creating a wrap-up reason requires a full or device administrator auth token with a scope of `spark-admin:telephony_config_write`.'
tags:
- 'Features: Customer Assist'
parameters: []
requestBody:
content:
application/json:
example:
name: Wrap up reason 1
description: This is a description for wrap-up reason 1
queues:
- Y2lzY29zcGFyazovL3VzL0NBTExfUVVFVUUvOGY1MDI2ZjMtMDZjYi00OTU3LWE0MDQtNDYyM2UzYjJjYzVi
assignAllQueuesEnabled: false
schema:
$ref: '#/components/schemas/CreateWrapUpReasonPayload'
/telephony/config/cxEssentials/wrapup/reasons/{wrapupReasonId}:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/WrapUpReasonDetailsObject'
description: Wrap-up reason object.
example:
name: Wrap up reason 1
description: This is a description for wrap-up reason 1
defaultWrapupQueuesCount: 1
queues:
- id: Y2lzY29zcGFyazovL3VzL0NBTExfUVVFVUUvOGY1MDI2ZjMtMDZjYi00OTU3LWE0MDQtNDYyM2UzYjJjYzVi
name: Queue 1
locationName: Location 1
phoneNumber: '+1234567890'
extension: '1234'
defaultWrapupEnabled: true
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Read Wrap Up Reason
operationId: Read Wrap Up Reason
description: 'Return the wrap-up reason by ID.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.
Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.
Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Retrieving the wrap-up reason by ID requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Features: Customer Assist'
parameters:
- name: wrapupReasonId
in: path
description: Wrap-up reason ID.
required: true
example: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
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 Wrap Up Reason
operationId: Update Wrap Up Reason
description: 'Modify a wrap-up reason.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.
Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.
Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Modifying a wrap-up reason requires a full or device administrator auth token with a scope of `spark-admin:telephony_config_write`.'
tags:
- 'Features: Customer Assist'
parameters:
- name: wrapupReasonId
in: path
description: Wrap-up reason ID.
required: true
example: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
schema:
type: string
requestBody:
content:
application/json:
example:
name: Wrap up reason 1
description: This is a description for wrap-up reason 1
queuesToAssign:
- Y2lzY29zcGFyazovL3VzL0NBTExfUVVFVUUvOGY1MDI2ZjMtMDZjYi00OTU3LWE0MDQtNDYyM2UzYjJjYzVi
queuesToUnassign:
- Y2lzY29zcGFyazovL3VzL0NBTExfUVVFVUUvYmI0MDc4NWMtZGZmMi00ODA3LTkwZTYtNGRlMzEwZmI1YTA5
assignAllQueuesEnabled: false
unassignAllQueuesEnabled: false
schema:
$ref: '#/components/schemas/UpdateWrapUpReasonPayload'
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 Wrap Up Reason
operationId: Delete Wrap Up Reason
description: 'Delete a wrap-up reason.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.
Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.
Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Deleting the wrap-up reason requires a full or device administrator auth token with a scope of `spark-admin:telephony_config_write`.'
tags:
- 'Features: Customer Assist'
parameters:
- name: wrapupReasonId
in: path
description: Wrap-up reason ID.
required: true
example: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
schema:
type: string
/telephony/config/cxEssentials/wrapup/reasons/actions/validateName/invoke:
post:
responses:
'200':
description: OK
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: Validate Wrap Up Reason
operationId: Validate Wrap Up Reason
description: 'Validate the wrap-up reason name.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.
Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.
Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Validating the wrap-up reason name requires a full or device administrator auth token with a scope of `spark-admin:telephony_config_write`.'
tags:
- 'Features: Customer Assist'
parameters: []
requestBody:
content:
application/json:
example:
name: Wrap up reason 1
schema:
$ref: '#/components/schemas/ValidateWrapUpReasonPayload'
/telephony/config/cxEssentials/wrapup/reasons/{wrapupReasonId}/availableQueues:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
type: object
required:
- queues
properties:
queues:
type: array
items:
$ref: '#/components/schemas/QueueObject'
description: List of queues.
example:
queues:
- id: Y2lzY29zcGFyazovL3VzL0NBTExfUVVFVUUvOGY1MDI2ZjMtMDZjYi00OTU3LWE0MDQtNDYyM2UzYjJjYzVi
name: Queue 1
locationName: Location 1
extension: '1234'
- id: Y2lzY29zcGFyazovL3VzL0NBTExfUVVFVUUvMTM1NDg0YTMtN2Y0Yi00MTlhLWI2ZGQtMTk4NmY5MmQwYWQ1
name: Queue 2
locationName: Location 2
extension: '12345'
'400':
description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
'401':
description: 'Unauthorized: Authentication credentials were missing or incorrect.'
'403':
description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
'404':
description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
'405':
description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
'409':
description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
'410':
description: 'Gone: The requested resource is no longer available.'
'415':
description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
'423':
description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
'428':
description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
'429':
description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
'500':
description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
'502':
description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
'503':
description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
'504':
description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
summary: Read Available Queues
operationId: Read Available Queues
description: 'Return the available queues for a wrap-up reason.
Agents handling calls use wrap-up reasons to categorize the outcome after a call ends. The control hub admin can configure these reasons for customers and assign them to queues.
Upon call completion, agents select a wrap-up reason from the queue''s assigned list. Each wrap-up reason includes a name and description, and can be set as the default for a queue.
Admins can also configure a timer, which dictates the time agents have to select a reason post-call, with a default of 60 seconds. This timer can be disabled if necessary.
Retrieving the available queues for a wrap-up reason requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`.'
tags:
- 'Features: Customer Assist'
parameters:
- name: wrapupReasonId
in: path
description: Wrap-up reason ID.
required: true
example: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
schema:
type: string
/telephony/config/cxEssentials/locations/{locationId}/queues/{queueId}/wrapup/settings:
get:
responses:
'200':
description: OK
headers: {}
content:
application/json:
schema:
type: object
required:
- wrapupReasons
properties:
wrapupTimerEnabled:
type: boolean
example: true
description: Denotes whether the wrap-up timer is enabled.
wrapupTimer:
type: number
example: 60
description: Wrap up timer value in seconds.
wrapupReasons:
type: array
items:
$ref: '#/components/schemas/QueueWrapUpReasonObject'
description: List of wrap-up reasons.
example:
wrapupTimerEnabled: true
wrapupTimer: 60
wrapupReasons:
- id: Y2lzY29zcGFyazovL3VzL1dSQVBVUF9SRUFTT05fSUQvOGVmNzM4OTctMmQzNS00ZjgwLWJkOGQtYzRjNmRhNWNlZjA2
name: Wrap up reason 1
description: This is a description for wrap-up reason 1
isDefaultEnabled: 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
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-features-customer-assist-api-openapi.yml