openapi: 3.0.0
info:
title: Webex Admin Address Book User Profiles 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: User Profiles
paths:
/organization/{orgid}/user-profile/{id}/incoming-references:
get:
tags:
- User Profiles
summary: List references for a specific User Profile
description: Retrieve a list of all entities that have reference to an existing user profile by ID in a given organization.
operationId: getIncomingReferencesUserProfile
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
default: 0
example: 0
example: 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
default: 100
example: 100
example: 100
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/EntityReferenceInfoDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '401'
reason: Test reason
message:
- description: Test error
code: '401'
entity: cc_user
references: []
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '403'
reason: Test reason
message:
- description: Test error
code: '403'
entity: cc_user
references: []
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '404'
reason: Test reason
message:
- description: Test error
code: '404'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '429'
reason: Test reason
message:
- description: Test error
code: '429'
entity: cc_user
references: []
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '500'
reason: Test reason
message:
- description: Test error
code: '500'
entity: cc_user
references: []
/organization/{orgid}/v3/user-profile:
get:
tags:
- User Profiles
summary: List user profiles
description: "Retrieve a list of user profiles 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: getAllConfigWithMetaDataUserProfileGranularAccess
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, userProfileAppModules, entryPoints, sites, queues, teams, editableFolderIds, viewableFolderIds, nonViewableFolderIds, 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 spaces. If they do, please enclose them in quotes to apply the 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. By default, all attributes are returned along with the specified columns. All attributes are supported. except (entryPoints,sites, queues, teams, userProfileAppModules,editableFolderIds, viewableFolderIds, nonViewableFolderIds)
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, profileType, 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
default: 0
example: 0
example: 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
default: 100
example: 100
example: 100
responses:
'200':
description: OK
content:
'*/*':
schema:
type: string
example: "\"{\n \"meta\": {\n \"orgid\": \"2f9eecc5-0472-4549-9a83-2afdae0d4ba1\",\n \"page\": 1,\n \"pageSize\": 100,\n \"totalPages\": 1,\n \"totalRecords\": 1000,\n \"links\": {\n \"next\": \"/organization/bde75a64-f4d5-4ffc-a239-feb607c17ef8/user-profile?page=2&pageSize=10\",\n \"last\": \"/organization/bde75a64-f4d5-4ffc-a239-feb607c17ef8/user-profile?page=3&pageSize=10\",\n \"prev\": \"/organization/bde75a64-f4d5-4ffc-a239-feb607c17ef8/user-profile?page=0&pageSize=10\",\n \"self\": \"/organization/bde75a64-f4d5-4ffc-a239-feb607c17ef8/user-profile?page=1&pageSize=10\",\n \"first\": \"/organization/bde75a64-f4d5-4ffc-a239-feb607c17ef8/user-profile?page=0&pageSize=10\"\n }\n },\n \"data\": [\n {\n \"organizationId\": \"f53c8b54-46ca-43f6-ba05-08426a46e23d\",\n \"id\": \"93912f11-6017-404b-bf14-5331890b1797\",\n \"version\": 1,\n \"name\": \"Contact Center Admin Profile\",\n \"description\": \"This profile should be applied only to contact center admins.\",\n \"profileType\": \"PREMIUM_AGENT\",\n \"active\": true,\n \"permissionAccessLevel\": \"ALL\",\n \"resourceAccessLevel\": \"ALL\",\n \"permissions\": [\n {\n \"id\": \"00734874-4732-43bb-bfff-d1e75d309eb1\",\n \"name\": \"sites\",\n \"access\": \"NONE\"\n }\n ],\n \"editableFolderIds\": [\n 1,\n 2\n ],\n \"viewableFolderIds\": [\n 1,\n 2\n ],\n \"nonViewableFolderIds\": [\n 1,\n 2\n ],\n \"systemDefault\": false,\n \"defaultResourceCollectionId\": \"80f49a6e-11d7-4651-b730-99ed2f726f61\",\n \"resourceCollections\": [\n {\n \"id\": \"80f49a6e-11d7-4651-b730-99ed2f726f61\",\n \"name\": \"Department1\",\n \"description\": \"Department1 description.\",\n \"resources\": [\n {\n \"name\": \"team\",\n \"accessLevel\": \"SPECIFIC\",\n \"ids\": [\n \"00734874-4732-43bb-bfff-d1e75d309eb1\",\n \"00734874-4732-43bb-bfff-d1e75d309eb2\"\n ]\n },\n {\n \"name\": \"desktop-profile\",\n \"accessLevel\": \"ALL\"\n },\n {\n \"name\": \"desktop-layout\",\n \"accessLevel\": \"NONE\"\n }\n ],\n \"resourceCount\": 2\n }\n ],\n \"createdTime\": 0,\n \"lastUpdatedTime\": 0\n }\n ]\n }\n\""
properties:
meta:
$ref: '#/components/schemas/MetaDataWithPagingInfo'
data:
type: array
items:
$ref: '#/components/schemas/UserProfileGranularAccessDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '401'
reason: Test reason
message:
- description: Test error
code: '401'
entity: cc_user
references: []
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '403'
reason: Test reason
message:
- description: Test error
code: '403'
entity: cc_user
references: []
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '404'
reason: Test reason
message:
- description: Test error
code: '404'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '429'
reason: Test reason
message:
- description: Test error
code: '429'
entity: cc_user
references: []
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '500'
reason: Test reason
message:
- description: Test error
code: '500'
entity: cc_user
references: []
post:
tags:
- User Profiles
summary: Create a new User Profile
description: Create a new user profile in a given organization.
operationId: createConfigUserProfileGranularAccess
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/UserProfileGranularAccessDTO'
required: true
responses:
'201':
description: Created
content:
'*/*':
schema:
$ref: '#/components/schemas/UserProfileGranularAccessDTO'
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '400'
reason: Test reason
message:
- description: Test error
code: '400'
entity: cc_user
references: []
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '401'
reason: Test reason
message:
- description: Test error
code: '401'
entity: cc_user
references: []
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '403'
reason: Test reason
message:
- description: Test error
code: '403'
entity: cc_user
references: []
'409':
description: Similar entity is already present
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '409'
reason: Test reason
message:
- description: Test error
code: '409'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '429'
reason: Test reason
message:
- description: Test error
code: '429'
entity: cc_user
references: []
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '500'
reason: Test reason
message:
- description: Test error
code: '500'
entity: cc_user
references: []
/organization/{orgid}/v3/user-profile/bulk:
post:
tags:
- User Profiles
summary: Bulk save User Profiles
description: Create, Update or delete user profiles in bulk in a given organization.
operationId: saveAllConfigUserProfileGranularAccess
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/BulkRequestDTOUserProfileGranularAccessDTO'
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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '400'
reason: Test reason
message:
- description: Test error
code: '400'
entity: cc_user
references: []
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '401'
reason: Test reason
message:
- description: Test error
code: '401'
entity: cc_user
references: []
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '403'
reason: Test reason
message:
- description: Test error
code: '403'
entity: cc_user
references: []
'409':
description: Similar entity is already present
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '409'
reason: Test reason
message:
- description: Test error
code: '409'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '429'
reason: Test reason
message:
- description: Test error
code: '429'
entity: cc_user
references: []
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '500'
reason: Test reason
message:
- description: Test error
code: '500'
entity: cc_user
references: []
/organization/{orgid}/v3/user-profile/{id}:
get:
tags:
- User Profiles
summary: Get specific User Profile by ID
description: Retrieve an existing user profile by ID in a given organization.
operationId: getConfigUserProfileGranularAccess
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 User Profile.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba2
- name: includeNames
in: query
description: Flag to include resource names in the response.
required: false
schema:
type: boolean
example: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/UserProfileGranularAccessDTO'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '401'
reason: Test reason
message:
- description: Test error
code: '401'
entity: cc_user
references: []
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '403'
reason: Test reason
message:
- description: Test error
code: '403'
entity: cc_user
references: []
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '404'
reason: Test reason
message:
- description: Test error
code: '404'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '429'
reason: Test reason
message:
- description: Test error
code: '429'
entity: cc_user
references: []
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '500'
reason: Test reason
message:
- description: Test error
code: '500'
entity: cc_user
references: []
put:
tags:
- User Profiles
summary: Update specific User Profile by ID
description: Update an existing user profile by ID in a given organization.
operationId: updateConfigUserProfileGranularAccess
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 User Profile.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549-9a83-2afdae0d4ba2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfileGranularAccessDTO'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/UserProfileGranularAccessDTO'
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '400'
reason: Test reason
message:
- description: Test error
code: '400'
entity: cc_user
references: []
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '401'
reason: Test reason
message:
- description: Test error
code: '401'
entity: cc_user
references: []
'403':
description: Operation is forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '403'
reason: Test reason
message:
- description: Test error
code: '403'
entity: cc_user
references: []
'404':
description: Resource not found or URI is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '404'
reason: Test reason
message:
- description: Test error
code: '404'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '412'
reason: Test reason
message:
- description: Test error
code: '412'
entity: cc_user
references: []
'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'
example:
trackingId: ccconfig_af9eecc5-0472-4549-9a83-2afdae0d4ba0
error:
key: '429'
reason: Test reason
message:
- description: Test error
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-user-profiles-api-openapi.yml