naftiko: 1.0.0-alpha2 info: label: Webex Contact Center — Subscriptions description: 'Webex Contact Center — Subscriptions. 12 operations. Lead operation: List Event Types. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Subscriptions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: contact-center-subscriptions baseUri: '' description: Webex Contact Center — Subscriptions business capability. Self-contained, no shared references. resources: - name: v1-event-types path: /v1/event-types operations: - name: getalleventtypes method: GET description: List Event Types outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: v1-subscriptions path: /v1/subscriptions operations: - name: getsubscriptionbyorgid method: GET description: List Subscriptions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: createsubscription method: POST description: Register Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: body in: body type: object description: Request body (JSON). required: true - name: v1-subscriptions-id path: /v1/subscriptions/{id} operations: - name: getsubscriptionbyid method: GET description: Get Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: deletesubscriptionbyid method: DELETE description: Delete Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: updatesubscriptionbyid method: PATCH description: Update Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: body in: body type: object description: Request body (JSON). required: true - name: v2-event-types path: /v2/event-types operations: - name: getalleventtypeswithresourceversionmetadata method: GET description: List Event Types outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: v2-subscriptions path: /v2/subscriptions operations: - name: getsubscriptionbyorgidv2 method: GET description: List Subscriptions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: createsubscriptionwithv2 method: POST description: Register Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: body in: body type: object description: Request body (JSON). required: true - name: v2-subscriptions-id path: /v2/subscriptions/{id} operations: - name: getsubscriptionbyidv2 method: GET description: Get Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: deletesubscriptionbyidv2 method: DELETE description: Delete Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: orgId in: query 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 permissions to interact with ' - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: updatesubscriptionbyidwithv2 method: PATCH description: Update Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: TrackingId in: header type: string description: Tracking ID to use for this operation, for traceability, debugging, and error reporting purposes. If not provided, we will generate one for you. - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: contact-center-subscriptions-rest port: 8080 description: REST adapter for Webex Contact Center — Subscriptions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/event-types name: v1-event-types description: REST surface for v1-event-types. operations: - method: GET name: getalleventtypes description: List Event Types call: contact-center-subscriptions.getalleventtypes with: orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - path: /v1/v1/subscriptions name: v1-subscriptions description: REST surface for v1-subscriptions. operations: - method: GET name: getsubscriptionbyorgid description: List Subscriptions call: contact-center-subscriptions.getsubscriptionbyorgid with: orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - method: POST name: createsubscription description: Register Subscription call: contact-center-subscriptions.createsubscription with: TrackingId: rest.TrackingId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/subscriptions/{id} name: v1-subscriptions-id description: REST surface for v1-subscriptions-id. operations: - method: GET name: getsubscriptionbyid description: Get Subscription call: contact-center-subscriptions.getsubscriptionbyid with: id: rest.id orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - method: DELETE name: deletesubscriptionbyid description: Delete Subscription call: contact-center-subscriptions.deletesubscriptionbyid with: id: rest.id orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - method: PATCH name: updatesubscriptionbyid description: Update Subscription call: contact-center-subscriptions.updatesubscriptionbyid with: id: rest.id TrackingId: rest.TrackingId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/event-types name: v2-event-types description: REST surface for v2-event-types. operations: - method: GET name: getalleventtypeswithresourceversionmetadata description: List Event Types call: contact-center-subscriptions.getalleventtypeswithresourceversionmetadata with: orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - path: /v1/v2/subscriptions name: v2-subscriptions description: REST surface for v2-subscriptions. operations: - method: GET name: getsubscriptionbyorgidv2 description: List Subscriptions call: contact-center-subscriptions.getsubscriptionbyorgidv2 with: orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - method: POST name: createsubscriptionwithv2 description: Register Subscription call: contact-center-subscriptions.createsubscriptionwithv2 with: TrackingId: rest.TrackingId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/subscriptions/{id} name: v2-subscriptions-id description: REST surface for v2-subscriptions-id. operations: - method: GET name: getsubscriptionbyidv2 description: Get Subscription call: contact-center-subscriptions.getsubscriptionbyidv2 with: id: rest.id orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - method: DELETE name: deletesubscriptionbyidv2 description: Delete Subscription call: contact-center-subscriptions.deletesubscriptionbyidv2 with: id: rest.id orgId: rest.orgId TrackingId: rest.TrackingId outputParameters: - type: object mapping: $. - method: PATCH name: updatesubscriptionbyidwithv2 description: Update Subscription call: contact-center-subscriptions.updatesubscriptionbyidwithv2 with: id: rest.id TrackingId: rest.TrackingId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: contact-center-subscriptions-mcp port: 9090 transport: http description: MCP adapter for Webex Contact Center — Subscriptions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-event-types description: List Event Types hints: readOnly: true destructive: false idempotent: true call: contact-center-subscriptions.getalleventtypes with: orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: list-subscriptions description: List Subscriptions hints: readOnly: true destructive: false idempotent: true call: contact-center-subscriptions.getsubscriptionbyorgid with: orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: register-subscription description: Register Subscription hints: readOnly: false destructive: false idempotent: false call: contact-center-subscriptions.createsubscription with: TrackingId: tools.TrackingId body: tools.body outputParameters: - type: object mapping: $. - name: get-subscription description: Get Subscription hints: readOnly: true destructive: false idempotent: true call: contact-center-subscriptions.getsubscriptionbyid with: id: tools.id orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: delete-subscription description: Delete Subscription hints: readOnly: false destructive: true idempotent: true call: contact-center-subscriptions.deletesubscriptionbyid with: id: tools.id orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: update-subscription description: Update Subscription hints: readOnly: false destructive: false idempotent: true call: contact-center-subscriptions.updatesubscriptionbyid with: id: tools.id TrackingId: tools.TrackingId body: tools.body outputParameters: - type: object mapping: $. - name: list-event-types-2 description: List Event Types hints: readOnly: true destructive: false idempotent: true call: contact-center-subscriptions.getalleventtypeswithresourceversionmetadata with: orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: list-subscriptions-2 description: List Subscriptions hints: readOnly: true destructive: false idempotent: true call: contact-center-subscriptions.getsubscriptionbyorgidv2 with: orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: register-subscription-2 description: Register Subscription hints: readOnly: false destructive: false idempotent: false call: contact-center-subscriptions.createsubscriptionwithv2 with: TrackingId: tools.TrackingId body: tools.body outputParameters: - type: object mapping: $. - name: get-subscription-2 description: Get Subscription hints: readOnly: true destructive: false idempotent: true call: contact-center-subscriptions.getsubscriptionbyidv2 with: id: tools.id orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: delete-subscription-2 description: Delete Subscription hints: readOnly: false destructive: true idempotent: true call: contact-center-subscriptions.deletesubscriptionbyidv2 with: id: tools.id orgId: tools.orgId TrackingId: tools.TrackingId outputParameters: - type: object mapping: $. - name: update-subscription-2 description: Update Subscription hints: readOnly: false destructive: false idempotent: true call: contact-center-subscriptions.updatesubscriptionbyidwithv2 with: id: tools.id TrackingId: tools.TrackingId body: tools.body outputParameters: - type: object mapping: $.