openapi: 3.0.0 info: title: Webex Admin Address Book Journey - Workspace management API 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: Journey - Workspace management API paths: /admin/v1/api/workspace/workspace-id/{workspaceId}: get: tags: - Journey - Workspace management API summary: Get Workspace description: Get workspace details. Use the cjp scope if you have a contact center license; otherwise, use the cjds scope. It requires the appropriate cjds:admin_org_read or cjds:admin_org_write scopes or cjp:config_read or cjp:config_write scopes operationId: getWorkspaceById parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 6377dafe02e7cc19b03a71b7 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/WorkspaceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ApiError404' '409': description: Resource already exists content: application/json: schema: $ref: '#/components/schemas/ApiError409' '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/ApiError429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] put: tags: - Journey - Workspace management API summary: Update Workspace description: Update workspace by Id. Use the cjp scope if you have a contact center license; otherwise, use the cjds scope. It requires the appropriate cjds:admin_org_write or cjp:config_write scopes operationId: updateWorkspaceById parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 6377dafe02e7cc19b03a71b7 requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkspaceRequestModel' required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/WorkspaceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ApiError404' '409': description: Resource already exists content: application/json: schema: $ref: '#/components/schemas/ApiError409' '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/ApiError429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] delete: tags: - Journey - Workspace management API summary: Delete Workspace description: Delete Workspace By Id. Use the cjp scope if you have a contact center license; otherwise, use the cjds scope. It requires the appropriate cjds:admin_org_write or cjp:config_write scopes operationId: deleteWorkspaceById parameters: - name: workspaceId in: path description: Workspace ID required: true schema: type: string example: 6377dafe02e7cc19b03a71b7 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/WorkspaceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ApiError404' '409': description: Resource already exists content: application/json: schema: $ref: '#/components/schemas/ApiError409' '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/ApiError429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] /admin/v1/api/workspace: get: tags: - Journey - Workspace management API summary: Get All Workspaces description: Get All Workspaces. Use the cjp scope if you have a contact center license; otherwise, use the cjds scope. It requires the appropriate cjds:admin_org_read or cjds:admin_org_write scopes or cjp:config_read or cjp:config_write scopes operationId: getAllWorkspaces parameters: - name: filter in: query description: "Optional filter which can be applied to the elements to be fetched. \n\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](https://developer.here.com/documentation/data-client-library/dev_guide/client/rsql.html). For a list of supported operators, see this [syntax guide](https://github.com/perplexhub/rsql-jpa-specification#rsql-syntax-reference)." required: false schema: type: string example: workspaces.name==Customer-Journey-Widget - name: sortBy in: query description: Sort By Field required: false schema: type: string example: name - name: sort in: query description: Sort direction required: false schema: type: string example: DESC - name: page in: query description: 'Index of the page of results to be fetched. Results are returned in blocks of pageSize elements. This parameter specifies which page number to retrieve.The page numbering starts with 0.' required: false schema: type: integer example: 0 - name: pageSize in: query description: Number of items to be displayed on a page. required: false schema: type: integer example: 10 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/WorkspaceResponseList' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ApiError404' '409': description: Resource already exists content: application/json: schema: $ref: '#/components/schemas/ApiError409' '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/ApiError429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] post: tags: - Journey - Workspace management API summary: Create Workspace description: Create Workspace in JDS. Use the cjp scope if you have a contact center license; otherwise, use the cjds scope.It requires the appropriate cjds:admin_org_write or cjp:config_write scopes operationId: createWorkspace requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkspaceRequestModel' required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/OrganizationResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ApiError404' '409': description: Resource already exists content: application/json: schema: $ref: '#/components/schemas/ApiError409' '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/ApiError429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiError500' security: - bearerAuth: [] components: schemas: ApiError409: required: - trackingId type: object properties: status: type: string description: Http Status Description example: 409 CONFLICT enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 103 CHECKPOINT - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 302 MOVED_TEMPORARILY - 303 SEE_OTHER - 304 NOT_MODIFIED - 305 USE_PROXY - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 PAYLOAD_TOO_LARGE - 413 REQUEST_ENTITY_TOO_LARGE - 414 URI_TOO_LONG - 414 REQUEST_URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 419 INSUFFICIENT_SPACE_ON_RESOURCE - 420 METHOD_FAILURE - 421 DESTINATION_LOCKED - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED message: type: string description: Error Message example: Resource Already Exists errors: type: array description: Resource Already Exists example: - Id 3249892348-sdfjsdhf-345hdsf-345345 already exists items: type: string timestamp: type: string description: Occurred timestamp format: date-time example: '2023-03-27T20:59:32.376Z' trackingId: type: string description: Unique ID by which a request can be debugged. Please provide if opening a support case. example: 76cd71d0e678a8bb OrganizationSettingsModel: type: object properties: general: $ref: '#/components/schemas/GeneralSettingsModel' webex: $ref: '#/components/schemas/WebexSettingsModel' description: Create Or Update Organization Settings ApiError429: required: - trackingId type: object properties: status: type: string description: Http Status Description example: 429 TOO_MANY_REQUESTS enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 103 CHECKPOINT - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 302 MOVED_TEMPORARILY - 303 SEE_OTHER - 304 NOT_MODIFIED - 305 USE_PROXY - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 PAYLOAD_TOO_LARGE - 413 REQUEST_ENTITY_TOO_LARGE - 414 URI_TOO_LONG - 414 REQUEST_URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 419 INSUFFICIENT_SPACE_ON_RESOURCE - 420 METHOD_FAILURE - 421 DESTINATION_LOCKED - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED message: type: string description: Error Message example: Too many requests errors: type: array description: Too many requests example: - Too many requests items: type: string timestamp: type: string description: Occurred timestamp format: date-time example: '2023-03-27T20:59:32.376Z' trackingId: type: string description: Unique ID by which a request can be debugged. Please provide if opening a support case. example: 76cd71d0e678a8bb WebexSettingsModel: type: object properties: env: type: string description: Webex Environment Name example: qaus1 description: Create Or Update Organization Webex Settings OrganizationResponse: type: object properties: meta: $ref: '#/components/schemas/BaseMetaResponseEnvelope' data: $ref: '#/components/schemas/OrganizationResponseModel' OrganizationResponseModel: type: object properties: createdAt: type: string description: Created Timestamp example: '2022-10-18T04:21:34.124Z' createdBy: type: string description: Created By example: 1eb65fdf-9643-417f-9974-ad72cae0e10f updatedAt: type: string description: Updated Timestamp example: '2022-10-18T04:21:34.124Z' updatedBy: type: string description: Updated By example: 1eb65fdf-9643-417f-9974-ad72cae0e10f organizationId: type: string description: Organization ID example: 1eb65fdf-9643-417f-9974-ad72cae0e10f name: type: string description: Organization Name example: Demo Assure isActive: type: boolean description: Is An Organization Active example: true workspaces: type: array description: Workspaces items: $ref: '#/components/schemas/WorkspaceResponseModel' enabledFeatureIds: type: array description: Enabled Feature Ids example: - 63d2d13e9544747f22f391cf5 items: type: string settings: $ref: '#/components/schemas/OrganizationSettingsModel' description: Organization Response Model GeneralSettingsModel: type: object properties: dataRetentionDays: type: integer description: Data Retention Days format: int32 example: 365 description: Create Or Update Organization General Settings ApiError500: required: - trackingId type: object properties: status: type: string description: Http Status Description example: 500 INTERNAL_SERVER_ERROR enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 103 CHECKPOINT - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 302 MOVED_TEMPORARILY - 303 SEE_OTHER - 304 NOT_MODIFIED - 305 USE_PROXY - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 PAYLOAD_TOO_LARGE - 413 REQUEST_ENTITY_TOO_LARGE - 414 URI_TOO_LONG - 414 REQUEST_URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 419 INSUFFICIENT_SPACE_ON_RESOURCE - 420 METHOD_FAILURE - 421 DESTINATION_LOCKED - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED message: type: string description: Error Message example: Internal server error errors: type: array description: Internal server error example: - 'Internal server error ' items: type: string timestamp: type: string description: Occurred timestamp format: date-time example: '2023-03-27T20:59:32.376Z' trackingId: type: string description: Unique ID by which a request can be debugged. Please provide if opening a support case. example: 76cd71d0e678a8bb ApiError404: required: - trackingId type: object properties: status: type: string description: Http Status Description example: 404 NOT_FOUND enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 103 CHECKPOINT - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 302 MOVED_TEMPORARILY - 303 SEE_OTHER - 304 NOT_MODIFIED - 305 USE_PROXY - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 PAYLOAD_TOO_LARGE - 413 REQUEST_ENTITY_TOO_LARGE - 414 URI_TOO_LONG - 414 REQUEST_URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 419 INSUFFICIENT_SPACE_ON_RESOURCE - 420 METHOD_FAILURE - 421 DESTINATION_LOCKED - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED message: type: string description: Error Message example: Resource not found errors: type: array description: Resource Already Found example: - Id 3249892348-sdfjsdhf-345hdsf-345345 Not Found items: type: string timestamp: type: string description: Occurred timestamp format: date-time example: '2023-03-27T20:59:32.376Z' trackingId: type: string description: Unique ID by which a request can be debugged. Please provide if opening a support case. example: 76cd71d0e678a8bb WorkspaceResponseModel: type: object properties: id: type: string description: Workspace ID example: 99ab6909-f982-410d-9e2f-16971d18ae24 name: type: string description: Workspace Name example: Customer-Journey-Widget description: type: string description: Workspace Description example: This is for sandbox1 environment wxccSubscriptionIds: type: array description: List of Wxcc Subscription Ids example: - task:new - agent:login items: type: string description: Workspace under an organization BaseMetaResponseEnvelope: type: object properties: organizationId: type: string description: Organization ID example: 1eb65fdf-9643-417f-9974-ad72cae0e10f description: Meta information of the response example: organizationId: 1eb65fdf-9643-417f-9974-ad72cae0e10f WorkspaceRequestModel: required: - description - name type: object properties: name: type: string description: Workspace Name example: Customer-Journey-Widget description: type: string description: Workspace Description example: This is for sandbox environment description: Create or Update Workspace of an organization WorkspaceResponse: type: object properties: meta: $ref: '#/components/schemas/BaseMetaResponseEnvelope' data: $ref: '#/components/schemas/WorkspaceResponseModel' WorkspaceResponseList: type: object properties: meta: $ref: '#/components/schemas/BaseMetaResponseEnvelope' data: type: array description: Data part of the response items: $ref: '#/components/schemas/WorkspaceResponseModel' 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