openapi: 3.0.0
info:
title: Webex Admin Address Book Contact Number 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: Contact Number
paths:
/organization/{orgid}/contact-number:
post:
tags:
- Contact Number
summary: Create a new Contact Number
description: Create a new Contact Number in a given organization.
operationId: createConfig_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
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactNumberDTO'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ContactNumberDTO'
'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'
deprecated: false
/organization/{orgid}/contact-number/all-numbers:
get:
tags:
- Contact Number
summary: List all contact numbers(property - number)
description: Retrieve a list of only contact numbers(property - number) from Contact Number(s) without pagination in a given organization.
operationId: getAllContactNumbers
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
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
type: string
'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'
deprecated: false
/organization/{orgid}/contact-number/bulk:
post:
tags:
- Contact Number
summary: Bulk save Contact Number(s)
description: Create, Update or delete Contact Number(s) in bulk in a given organization.
operationId: saveAllConfig_17
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/BulkRequestDTOContactNumberDTO'
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'
deprecated: false
/organization/{orgid}/contact-number/bulk-export:
get:
tags:
- Contact Number
summary: Bulk export Contact Number(s)
description: Export all Contact Number(s) in a given organization.
operationId: bulkExport_17
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: 10
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/BulkExportDTOContactNumberBulkExportDTO'
'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'
deprecated: true
/organization/{orgid}/contact-number/{id}:
get:
tags:
- Contact Number
summary: Get specific Contact Number by ID
description: Retrieve an existing Contact Number by ID in a given organization.
operationId: getConfig_21
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 Contact Number.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ContactNumberDTO'
'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'
deprecated: false
put:
tags:
- Contact Number
summary: Update specific Contact Number by ID
description: Update an existing Contact Number by ID in a given organization.
operationId: updateConfig_21
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 Contact Number.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContactNumberDTO'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ContactNumberDTO'
'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'
deprecated: false
delete:
tags:
- Contact Number
summary: Delete specific Contact Number by ID
description: Delete an existing Contact Number by ID in a given organization.
operationId: deleteConfig_19
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 Contact Number.
required: true
schema:
type: string
example: 2f9eecc5-0472-4549
responses:
'200':
description: OK
'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'
deprecated: false
/organization/{orgid}/v2/contact-number:
get:
tags:
- Contact Number
summary: List Contact Number(s)
description: Retrieve a list of Contact Number(s) in a given organization.
operationId: getAllConfigWithMetaData_19
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, 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 this reference. For a list of supported operators, see this syntax guide.\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
required: false
schema:
type: string
format: string
example: id
- name: search
in: query
description: Filter data based on the search keyword.
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
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResponseEnvelopeContactNumberDTO'
'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'
deprecated: false
components:
schemas:
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'
ErrorDetails:
description: Details of an error.
type: object
properties:
key:
type: string
description: An application defined error code.
example: '401'
message:
type: array
description: A message providing details about the error.
items:
$ref: '#/components/schemas/OperationError'
BulkResponseItemDTO:
type: object
properties:
itemIdentifier:
type: integer
description: Unique item identifier for a bulk operation.
format: int32
example: 10
status:
type: integer
description: Indicates the error status code.
format: int32
example: 400
operationType:
type: string
description: The kind of operation desired of an entity.
example: CREATE
enum:
- CREATE
- UPDATE
- DELETE
- GET
href:
type: string
description: The resource URI of an entity.
example: /api/organization/6705c69d-4585-42ad-bfc3-79cc485dfb15/team/7b26d174-0016-4682-9858-65918e05f85
apiError:
$ref: '#/components/schemas/ApiErrorResponse'
example:
apiError:
error:
key: '400'
message:
- description: 'siteId: not found for given orgId.'
entity: string
references:
- id: string
name: string
reason: dependency exists
trackingId: ccconfig_c1a4fcef-aee2-4dea-8977-29f594760552
href: /api/organization/6705c69d-4585-42ad-bfc3-79cc485dfb15/team/7b26d174-0016-4682-9858-65918e05f85
itemIdentifier: 10
operationType: CREATE
status: 400
BulkRequestItemDTOContactNumberDTO:
type: object
properties:
itemIdentifier:
type: integer
description: Unique item identifier for a bulk operation.
format: int32
example: 10
item:
$ref: '#/components/schemas/ContactNumberDTO'
requestAction:
type: string
description: Identifier for action type. Possible values can be SAVE and DELETE.
example: SAVE
BulkRequestDTOContactNumberDTO:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BulkRequestItemDTOContactNumberDTO'
ContactNumberBulkExportDTO:
type: object
properties:
number:
type: string
OperationError:
description: An error message providing details about the operation failure.
type: object
properties:
description:
type: string
description: A human readable explanation for the occurrence of an error.
example: Incorrect Credentials.
BulkResponseDTO:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/BulkResponseItemDTO'
ResponseEnvelopeContactNumberDTO:
type: object
properties:
meta:
type: object
additionalProperties:
type: object
data:
type: array
items:
$ref: '#/components/schemas/ContactNumberDTO'
BulkExportDTOContactNumberBulkExportDTO:
type: object
properties:
totalResources:
type: integer
description: Total number of items
format: int32
example: 100
pageNumber:
type: integer
description: Current page number
format: int32
example: 0
pageSize:
type: integer
description: Page size for current data set
format: int32
example: 50
rel:
type: string
description: Indicates whether more pages exist. When 'next' there are more pages available, otherwise 'last'.
example: last
resources:
type: array
items:
$ref: '#/components/schemas/ContactNumberBulkExportDTO'
ContactNumberDTO:
required:
- number
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
number:
pattern: ^[0-9]*$
type: string
description: The customized ani number.
example: '14033212'
createdTime:
type: integer
description: Creation time(in epoch millis) of this resource.
format: int64
readOnly: true
example: 1617536244000
lastUpdatedTime:
type: integer
description: Time(in epoch millis) when this resource was last updated.
format: int64
readOnly: true
example: 1617536244000
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: oauth2
description: OAuth 2.0 Bearer token authentication
flows:
authorizationCode:
authorizationUrl: https://webexapis.com/v1/authorize
tokenUrl: https://webexapis.com/v1/access_token
scopes:
spark:applications_token: Create access tokens for Service Apps