Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Webex Subscriptions API
version: 1.0.0
description: 'Operations tagged Subscriptions across 2 of this provider''s published API definitions: webex-contact-center-openapi.json, webex-subscriptions-api-openapi.yml. Each path carries the servers of the definition it was published in.'
x-provenance:
method: harvested
authored_by: Cisco Webex
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
provider_published: true
derived_view: Per-tag view of webex-contact-center-openapi.json, the provider's source document. Operations and schemas are the provider's, unmodified; only the partition is ours.
derived_from: webex-contact-center-openapi.json
operation_coverage: 12/12
x-evidence:
- type: source
url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-contact-center.json
- type: raw
url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-contact-center.json
tags:
- name: Subscriptions
paths:
/v1/subscriptions:
get:
tags:
- Subscriptions
summary: List Subscriptions
description: "Retrieve all subscriptions for a given organization. Requires `cjp:config_read` scope.\n\n\n Note: In the response JSON, the 'data' field only contains V1 based subscriptions, while the field 'meta.subscriptionCount' provides the total count encompassing all the created subscriptions in the organization."
operationId: getSubscriptionByOrgId
parameters:
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionApiListResponse'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
post:
tags:
- Subscriptions
summary: Register Subscription
description: Create a subscription which would allow consumers to listen to events. If creating a subscription causes the org-level limit to be exceeded, the subscription registration will be denied. Requires `cjp:config_write` scope.
operationId: createSubscription
parameters:
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionCreateApiResponse'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
/v1/subscriptions/{id}:
get:
tags:
- Subscriptions
summary: Get Subscription
description: Retrieve a subscription for a given subscription ID. Requires `cjp:config_read` scope.
operationId: getSubscriptionById
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID by which to retrieve the subscription.
format: uuid
example: 10b4079b-5162-4526-b6a4-4472734fb69b
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionApiResponse'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
delete:
tags:
- Subscriptions
summary: Delete Subscription
description: Deletes a subscription for a given subscription ID. Requires `cjp:config_write` scope.
operationId: deleteSubscriptionById
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID of the subscription to be deleted.
format: uuid
example: 10b4079b-5162-4526-b6a4-4472734fb69b
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'204':
description: No Content
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
patch:
tags:
- Subscriptions
summary: Update Subscription
description: Updates some of the properties in a subscription, for a given subscription ID. Requires `cjp:config_write` scope.
operationId: updateSubscriptionById
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID of the subscription to be updated.
format: uuid
example: 10b4079b-5162-4526-b6a4-4472734fb69b
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionRequestUpdate'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionApiResponse'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
/v1/event-types:
get:
tags:
- Subscriptions
summary: List Event Types
description: Retrieve all available event types for an organization. Requires `cjp:config_read` scope.
operationId: getAllEventTypes
parameters:
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypesApiListResponse'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
/v2/subscriptions:
get:
tags:
- Subscriptions
summary: List Subscriptions
description: "Retrieve all subscriptions for a given organization. Requires `cjp:config_read` scope.\n\n\n Note: In the response JSON, the 'data' field only contains V2 based subscriptions, while the field 'meta.subscriptionCount' provides the total count encompassing all the created subscriptions in the organization."
operationId: getSubscriptionByOrgIdV2
parameters:
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionApiListResponseEnhanced'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
post:
tags:
- Subscriptions
summary: Register Subscription
description: Create a subscription which would allow consumers to listen to events. If creating a subscription causes the org-level limit to be exceeded, the subscription registration will be denied. Requires `cjp:config_write` scope.
operationId: createSubscriptionWithV2
parameters:
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionRequestEnhanced'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionCreateApiResponseEnhanced'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
/v2/subscriptions/{id}:
get:
tags:
- Subscriptions
summary: Get Subscription
description: Retrieve a subscription for a given subscription ID. Requires `cjp:config_read` scope.
operationId: getSubscriptionByIdV2
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID by which to retrieve the subscription.
format: uuid
example: 10b4079b-5162-4526-b6a4-4472734fb69b
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionApiResponseEnhanced'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
delete:
tags:
- Subscriptions
summary: Delete Subscription
description: Deletes a subscription for a given subscription ID. Requires `cjp:config_write` scope.
operationId: deleteSubscriptionByIdV2
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID of the subscription to be deleted.
format: uuid
example: 10b4079b-5162-4526-b6a4-4472734fb69b
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'204':
description: No Content
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
patch:
tags:
- Subscriptions
summary: Update Subscription
description: Updates some of the properties in a subscription, for a given subscription ID. Requires `cjp:config_write` scope.
operationId: updateSubscriptionByIdWithV2
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID of the subscription to be updated.
format: uuid
example: 10b4079b-5162-4526-b6a4-4472734fb69b
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionRequestUpdateEnhanced'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionApiResponseEnhanced'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
/v2/event-types:
get:
tags:
- Subscriptions
summary: List Event Types
description: 'Retrieve all available event types for an organization along with information about the currently supported resource versions. Requires `cjp:config_read` scope. '
operationId: getAllEventTypesWithResourceVersionMetadata
parameters:
- name: orgId
in: query
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permissions to interact with the organization.
required: false
schema:
type: string
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
- name: TrackingId
in: header
description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you.
required: false
schema:
type: string
example: NOTIFS_9bcdc696-57fa-4e91-b5aa-57a66a347c23
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EventTypesApiListResponseEnhanced'
'400':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'401':
description: Unauthorized Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'403':
description: Forbidden Operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
'500':
description: An Unexpected Error Occurred
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResult'
components:
schemas:
EventTypesResponse:
required:
- action
- name
- resource
type: object
properties:
name:
maxLength: 64
minLength: 4
type: string
description: The name of the event type. Consists of the resource and the action which occurred on it, separated by a colon. Use when registering a subscription.
example: agent:login
resource:
maxLength: 64
minLength: 4
type: string
description: The resource to which the event type belongs.
example: agent
action:
maxLength: 64
minLength: 4
type: string
description: The action being taken on the resource in the event.
example: login
SubscriptionRequest:
required:
- destinationUrl
- eventTypes
- name
type: object
properties:
name:
maxLength: 64
minLength: 4
type: string
description: Client-defined string naming the subscription.
example: My Integration's Subscription
description:
maxLength: 1024
minLength: 0
type: string
description: Client-defined string describing the subscription.
example: The subscription my integration uses to synchronize with WxCC
eventTypes:
maxItems: 32
minItems: 1
type: array
description: Types of events to which the subscription will listen.
example:
- agent:login
- agent:logout
items:
type: string
destinationUrl:
pattern: ^(https?)://.*$
type: string
description: URL to which webhooks will be posted. Must be HTTPS on an IANA-listed top-level domain name (e.g. .com) with a path (at least /). No query parameters, userinfo, non-443 ports, or fragments allowed. We do not treat this field as sensitive data, so do not use secrets in this URL such as tokens or API keys.
format: uri
example: https://www.cisco.com/
secret:
maxLength: 256
minLength: 32
type: string
description: Secret string used to sign payloads sent to the destination URL.
example: my-32-plus-character-long-secret
orgId:
type: string
description: Organization ID to be used for this operation. If unspecified, the Organization ID is inferred from the token. The token must have permission to interact with the organization.
format: uuid
example: 97cdbf45-ebe2-4687-8341-44d5c7abf101
SubscriptionResponse:
required:
- createdBy
- createdTime
- destinationUrl
- eventTypes
- id
- lastUpdatedBy
- lastUpdatedTime
- name
- status
type: object
properties:
id:
type: string
description: Subscription ID.
format: uuid
example: 41e92806-331d-4802-bc12-674f92d4a6f7
name:
maxLength: 64
minLength: 4
type: string
description: Client-defined string naming the subscription.
example: My Integration's Subscription
description:
maxLength: 1024
type: string
description: Client-defined string describing the subscription.
example: The subscription my integration uses to synchronize with WxCC
eventTypes:
maxItems: 32
minItems: 1
type: array
description: Types of events to which the subscription will listen.
example:
- agent:login
- agent:logout
items:
type: string
destinationUrl:
type: string
description: URL to which webhooks will be posted. Must be HTTPS on an IANA-listed top-level domain name (e.g. .com) with a path (at least /). No query parameters, userinfo, non-443 ports, or fragments allowed. We do not treat this field as sensitive data, so do not use secrets in this URL such as tokens or API keys.
format: uri
example: https://www.cisco.com/
createdTime:
type: integer
description: Time when subscription was created (epoch milliseconds).
format: int64
example: 1591702170000
createdBy:
type: string
description: Email address of the user who created the subscription.
format: email
example: example@example.com
status:
type: string
description: Status of the subscription. Can be "active" or "inactive". The system may change the status to "inactive" in error scenarios.
example: active
enum:
- active
- inactive
lastUpdatedTime:
type: integer
description: Time when the subscription was last updated (epoch milliseconds).
format: int64
example: 1591702170000
lastUpdatedBy:
type: string
description: Email address of the user who updated the subscription most recently.
format: email
example: example@example.com
SubscriptionCreateApiResponse:
type: object
properties:
meta:
$ref: '#/components/schemas/MetaSubInfo'
data:
$ref: '#/components/schemas/SubscriptionResponse'
SubscriptionResponseEnhanced:
required:
- createdBy
- createdTime
- destinationUrl
- eventTypes
- id
- lastUpdatedBy
- lastUpdatedTime
- name
- resourceVersion
- status
type: object
properties:
id:
type: string
description: Subscription ID.
format: uuid
example: 41e92806-331d-4802-bc12-674f92d4a6f7
name:
maxLength: 64
minLength: 4
type: string
description: Client-defined string naming the subscription.
example: My Integration's Subscription
description:
maxLength: 1024
type: string
description: Client-defined string describing the subscription.
example: The subscription my integration uses to synchronize with WxCC
eventTypes:
maxItems: 32
minItems: 1
type: array
description: Types of events to which the subscription will listen.
example:
- agent:login
- agent:logout
items:
type: string
destinationUrl:
type: string
description: URL to which webhooks will be posted. Must be HTTPS on an IANA-listed top-level domain name (e.g. .com) with a path (at least /). No query parameters, userinfo, non-443 ports, or fragments allowed. We do not treat this field as sensitive data, so do not use secrets in this URL such as tokens or API keys.
format: uri
example: https://www.cisco.com/
createdTime:
type: integer
description: Time when subscription was created (epoch milliseconds).
format: int64
example: 1591702170000
createdBy:
type: string
description: Email address of the user who created the subscription.
format: email
example: example@example.com
status:
type: string
description: Status of the subscription. Can be
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-subscriptions-api-openapi.yml