openapi: 3.0.0
info:
title: Webex Admin Address Book Desktop Profile 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: Desktop Profile
paths:
/organization/{orgid}/agent-profile:
get:
tags:
- Desktop Profile
summary: List Desktop Profile(s)
description: "Retrieve a list of Desktop Profile(s) in a given organization.\n Note: Array fields are removed from List API. If all fields are required please fetch Id's and use get-by-id API."
operationId: getAllConfig_14
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: filter
in: query
description: "Specify a filter based on which the results will be fetched. Supported filterable fields: id. \n\nThe examples below show some search queries\n- id==\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\"\n- id!=\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\"\n- id=in=(\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\",\"a421e0b2-732e-46f3-a057-39160a53afb9\")\n- id=out=(\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\",\"a421e0b2-732e-46f3-a057-39160a53afb9\")\nThis parameter uses the RSQL query syntax, a URI-friendly format for expressing criteria for filtering REST entities. For more information about RSQL in general, see <a href=\"https://www.here.com/docs/bundle/data-client-library-developer-guide-java-scala/page/client/rsql.html\">this reference</a>. For a list of supported operators, see <a href=\"https://github.com/perplexhub/rsql-jpa-specification#rsql-syntax-reference\">this syntax guide</a>.\n\nNote: values to be used in the filter syntax should not contain space, and if so kindly bound it with quotes to apply filter.\n"
required: false
schema:
type: string
example: id=="2f9eecc5-0472-4549-9a83-2afdae0d4ba1"
- name: attributes
in: query
description: 'Specify the attributes to be returned.Default all attributes are returned along with specified columns. All Attributes are supported except ( wrapUpCodes,queues, idleCodes,entryPoints, buddyTeams, dialPlans, loginVoiceOptions, viewableStatistics, thresholdRules,agentDNValidationCriterions ) '
required: false
schema:
type: string
format: string
example: id
- name: page
in: query
description: Defines the number of displayed page. The page number starts from 0.
schema:
type: integer
example: 0
default: 0
- name: pageSize
in: query
description: Defines the number of items to be displayed on a page. If the number specified is more than allowed max page size, the API will automatically adjust the page size to the max page size.
schema:
type: integer
example: 100
default: 100
- name: singleObjectResponse
in: query
description: Specifiy whether to include array fields in the response, This query param should use only if the response contain single record, if we are using for multiple objects response query param not supported and throws an exception.
schema:
type: boolean
example: false
default: false
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/AgentProfileResponseDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
post:
tags:
- Desktop Profile
summary: Create a new Desktop Profile
description: Create a new Desktop Profile in a given organization.
operationId: createConfig_28
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentProfileDTO'
required: true
responses:
'201':
description: Created
content:
'*/*':
schema:
$ref: '#/components/schemas/AgentProfileResponseDTO'
'400':
description: The request was invalid and cannot be served. An accompanying error message will explain further
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'409':
description: Similar entity is already present
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
/organization/{orgid}/agent-profile/bulk:
post:
tags:
- Desktop Profile
summary: Bulk save Desktop Profile(s)
description: Create, Update or delete Desktop Profile(s) in bulk in a given organization.
operationId: saveAllConfig_24
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkRequestDTOAgentProfileDTO'
required: true
responses:
'207':
description: Multi-Status
content:
'*/*':
schema:
$ref: '#/components/schemas/BulkResponseDTO'
'400':
description: The request was invalid and cannot be served. An accompanying error message will explain further
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'409':
description: Similar entity is already present
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
/organization/{orgid}/agent-profile/bulk-export:
get:
tags:
- Desktop Profile
summary: Bulk export Desktop Profile(s)
description: Export all Desktop Profile(s) in a given organization.
operationId: bulkExport_21
deprecated: true
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: page
in: query
description: Defines the number of displayed page. The page number starts from 0.
schema:
type: integer
example: 0
default: 0
- name: pageSize
in: query
description: Defines the number of items to be displayed on a page. If the number specified is more than allowed max page size, the API will automatically adjust the page size to the max page size.
schema:
type: integer
example: 100
default: 100
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/BulkExportDTOAgentProfileBulkExportDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
/organization/{orgid}/agent-profile/purge-inactive-entities:
post:
tags:
- Desktop Profile
summary: Purge inactive Desktop Profile(s)
description: Purge inactive Desktop Profile(s) older than the configured interval for a given organization.
operationId: purgeInactiveConfig_11
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: nextStartId
in: query
description: This is the entity ID from which items for the next purge batch with be selected.
required: false
schema:
type: string
default: ''
example: af9eecc5-0472-4549-9a83-2afdae0d4ba0
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/Response'
'400':
description: The request was invalid and cannot be served. An accompanying error message will explain further
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'409':
description: Similar entity is already present
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
/organization/{orgid}/agent-profile/{id}:
get:
tags:
- Desktop Profile
summary: Get specific Desktop Profile by ID
description: Retrieve an existing Desktop Profile by ID in a given organization.
operationId: getConfig_28
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: id
in: path
description: Resource ID of the Desktop Profile.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/AgentProfileResponseDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
put:
tags:
- Desktop Profile
summary: Update specific Desktop Profile by ID
description: Update an existing Desktop Profile by ID in a given organization.
operationId: updateConfig_28
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: id
in: path
description: Resource ID of the Desktop Profile.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentProfileDTO'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/AgentProfileResponseDTO'
'400':
description: The request was invalid and cannot be served. An accompanying error message will explain further
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'412':
description: Resource referred in other entity(s). Please get all the reference entities info by invoking Get incoming-references api.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
delete:
tags:
- Desktop Profile
summary: Delete specific Desktop Profile by ID
description: Delete an existing Desktop Profile by ID in a given organization.
operationId: deleteConfig_25
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: id
in: path
description: Resource ID of the Desktop Profile.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549
responses:
'204':
description: No Content
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'412':
description: Resource referred in other entity(s). Please get all the reference entities info by invoking Get incoming-references api.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
/organization/{orgid}/agent-profile/{id}/incoming-references:
get:
tags:
- Desktop Profile
summary: List references for a specific Desktop Profile
description: Retrieve a list of all entities that have reference to an existing Desktop Profile by ID in a given organization.
operationId: getIncomingReferences_20
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: id
in: path
description: ID of this contact center resource.
required: true
schema:
type: string
example: af9eecc5-0472-4549-9a83-2afdae0d4ba0
- name: type
in: query
description: Entity type of the other entity that has a reference to this specific entity.
required: false
schema:
type: string
example: type_text
- name: page
in: query
description: Defines the number of displayed page. The page number starts from 0.
schema:
type: integer
example: 0
default: 0
- name: pageSize
in: query
description: Defines the number of items to be displayed on a page. If the number specified is more than allowed max page size, the API will automatically adjust the page size to the max page size.
schema:
type: integer
example: 100
default: 100
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/EntityReferenceInfoDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
/organization/{orgid}/v2/agent-profile:
get:
tags:
- Desktop Profile
summary: List Desktop Profile(s)
description: "Retrieve a list of Desktop Profile(s) in a given organization.\n Note: Array fields are removed from List API. If all fields are required please fetch Id's and use get-by-id API."
operationId: getAllConfigWithMetaData_26
parameters:
- name: orgid
in: path
description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba1
- name: filter
in: query
description: "Specify a filter based on which the results will be fetched. All the fields are supported except: organizationId, autoWrapAfterSeconds, wrapUpCodes, idleCodes, queues, entryPoints, buddyTeams, dialPlans, agentDNValidationCriteria, agentDNValidationCriterions, loginVoiceOptions, viewableStatistics, thresholdRules, createdTime, lastUpdatedTime \n\nThe examples below show some search queries\n- id==\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\"\n- id!=\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\"\n- id=in=(\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\",\"a421e0b2-732e-46f3-a057-39160a53afb9\")\n- id=out=(\"57efb0e6-5af0-4245-a67d-d3c5045cdb6e\",\"a421e0b2-732e-46f3-a057-39160a53afb9\")\nThis parameter uses the RSQL query syntax, a URI-friendly format for expressing criteria for filtering REST entities. For more information about RSQL in general, see <a href=\"https://www.here.com/docs/bundle/data-client-library-developer-guide-java-scala/page/client/rsql.html\">this reference</a>. For a list of supported operators, see <a href=\"https://github.com/perplexhub/rsql-jpa-specification#rsql-syntax-reference\">this syntax guide</a>.\n\nNote: values to be used in the filter syntax should not contain space, and if so kindly bound it with quotes to apply filter.\n"
required: false
schema:
type: string
example: id=="2f9eecc5-0472-4549-9a83-2afdae0d4ba1"
- name: attributes
in: query
description: 'Specify the attributes to be returned.Default all attributes are returned along with specified columns. All Attributes are supported except ( wrapUpCodes,queues, idleCodes,entryPoints, buddyTeams, dialPlans, loginVoiceOptions, viewableStatistics, thresholdRules,agentDNValidationCriterions ) '
required: false
schema:
type: string
format: string
example: id
- name: search
in: query
description: 'Filter data based on the search keyword.Supported search columns(name, description)
The examples below show some search queries
- "Cisco"
- field=="name";value=="Cisco"
- fields=in=("name","description");value=="Cisco"
'
required: false
schema:
type: string
example: contact center
- name: page
in: query
description: Defines the number of displayed page. The page number starts from 0.
schema:
type: integer
example: 0
default: 0
- name: pageSize
in: query
description: Defines the number of items to be displayed on a page. If the number specified is more than allowed max page size, the API will automatically adjust the page size to the max page size.
schema:
type: integer
example: 100
default: 100
- name: singleObjectResponse
in: query
description: Specifiy whether to include array fields in the response, This query param should use only if the response contain single record, if we are using for multiple objects response query param not supported and throws an exception.
schema:
type: boolean
example: false
default: false
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
properties:
meta:
$ref: '#/components/schemas/MetaDataWithPagingInfo'
data:
type: array
items:
$ref: '#/components/schemas/AgentProfileResponseDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'429':
description: Too many requests have been sent in a given amount of time and the request has been rate limited
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
components:
schemas:
Response:
type: object
properties:
code:
type: integer
format: int32
details:
type: object
additionalProperties:
type: object
links:
type: array
items:
$ref: '#/components/schemas/Link'
ApiErrorResponse:
description: Response body for an API error.
type: object
properties:
trackingId:
type: string
description: "An opaque identifier for mapping protocol failures to service internal codes. \n\nWhen specified in a request, it can be used for co-relating events across services"
example: c1a4fcef-aee2-4dea-8977-29f594760552
error:
description: An object containing details about the error.
$ref: '#/components/schemas/ErrorDetails'
viewableStatistics:
required:
- accessQueueStats
- accessTeamStats
type: object
properties:
organizationId:
maxLength: 36
minLength: 32
pattern: ^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{12}$
type: string
description: ID of the contact center organization. It is required to define for the following operations - All bulk save operations
format: uuid
example: f53c8b54-46ca-43f6-ba05-08426a46e23d
id:
type: string
description: ID of this contact center resource. It should not be specified when creating a new resource. However, it is mandatory when updating a resource.
example: 93912f11-6017-404b-bf14-5331890b1797
version:
type: integer
description: The version of this resource. For a newly created resource, it will be 0 unless specified otherwise.
format: int32
example: 1
agentStats:
type: boolean
description: Indicates whether you want the agents to view their personal statistics in Agent Desktop or not.
example: true
accessQueueStats:
type: string
description: 'This setting controls whether the agent can view statistics for all or some queues in the Agent Personal Statistics tab.It can take one of these values:
ALL — To enable the agent to display statistics for all queues.
SPECIFIC — Select Queues drop-down list to enable the agent to display statistics for specific queues.
NONE — To prevent the agent from displaying queue statistics.
'
example: SPECIFIC
enum:
- SPECIFIC
- ALL
- PROVISIONED_VALUE
- NONE
contactServiceQueues:
uniqueItems: true
type: array
description: This setting should be specified when Access Queue Statistics is SPECIFIC.
# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-desktop-profile-api-openapi.yml