naftiko: 1.0.0-alpha2 info: label: Webex Contact Center — Contact List Management description: 'Webex Contact Center — Contact List Management. 5 operations. Lead operation: Create contact list. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Contact List Management 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-contact-list-management baseUri: '' description: Webex Contact Center — Contact List Management business capability. Self-contained, no shared references. resources: - name: v3-campaign-management-campaigns-campaignId-contact-list path: /v3/campaign-management/campaigns/{campaignId}/contact-list operations: - name: createcontactlist method: POST description: Create contact list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: campaignId in: path type: string description: Campaign ID to which the contact list belongs. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v3-campaign-management-campaigns-campaignId-contact-list-contactListId-contacts path: /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/contacts operations: - name: createcontactsincontactlist method: POST description: Create contacts within a contact list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: campaignId in: path type: string description: Campaign ID to which the contact list belongs. required: true - name: contactListId in: path type: string description: Contact List ID (as a number string). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v3-campaign-management-campaigns-campaignId-contact-list-contactListId-contacts- path: /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/contacts/{contactId} operations: - name: updatecontactstatusincontactlist method: PATCH description: Update a contact's status within a contact list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: campaignId in: path type: string description: Campaign ID. required: true - name: contactListId in: path type: string description: Contact List ID (as a number string). required: true - name: contactId in: path type: string description: Contact Unique ID (Customer Unique ID or Account Unique ID or Contact_Phone) required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v3-campaign-management-campaigns-campaignId-contact-list-contactListId-status path: /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/status operations: - name: updatecontactliststatus method: PATCH description: Update contact list status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: campaignId in: path type: string description: Campaign ID. required: true - name: contactListId in: path type: string description: Contact List ID (as a number string). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v3-campaign-management-campaigns-campaignId-contact-lists path: /v3/campaign-management/campaigns/{campaignId}/contact-lists operations: - name: getcontactlistsincampaign method: GET description: Get Contact Lists within a Campaign outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: campaignId in: path type: string description: Campaign ID. required: true - name: status in: query type: string description: Contact List Status filter (Active, Expired, UploadFailed, etc.) - name: source in: query type: string description: Contact List Source filter (API, SFTP, ManualFile, GlobalUpload, GlobalSFTP) authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: contact-center-contact-list-management-rest port: 8080 description: REST adapter for Webex Contact Center — Contact List Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/campaign-management/campaigns/{campaignid}/contact-list name: v3-campaign-management-campaigns-campaignid-contact-list description: REST surface for v3-campaign-management-campaigns-campaignId-contact-list. operations: - method: POST name: createcontactlist description: Create contact list call: contact-center-contact-list-management.createcontactlist with: campaignId: rest.campaignId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/campaign-management/campaigns/{campaignid}/contact-list/{contactlistid}/contacts name: v3-campaign-management-campaigns-campaignid-contact-list-contactlistid-contacts description: REST surface for v3-campaign-management-campaigns-campaignId-contact-list-contactListId-contacts. operations: - method: POST name: createcontactsincontactlist description: Create contacts within a contact list call: contact-center-contact-list-management.createcontactsincontactlist with: campaignId: rest.campaignId contactListId: rest.contactListId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/campaign-management/campaigns/{campaignid}/contact-list/{contactlistid}/contacts/{contactid} name: v3-campaign-management-campaigns-campaignid-contact-list-contactlistid-contacts description: REST surface for v3-campaign-management-campaigns-campaignId-contact-list-contactListId-contacts-. operations: - method: PATCH name: updatecontactstatusincontactlist description: Update a contact's status within a contact list call: contact-center-contact-list-management.updatecontactstatusincontactlist with: campaignId: rest.campaignId contactListId: rest.contactListId contactId: rest.contactId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/campaign-management/campaigns/{campaignid}/contact-list/{contactlistid}/status name: v3-campaign-management-campaigns-campaignid-contact-list-contactlistid-status description: REST surface for v3-campaign-management-campaigns-campaignId-contact-list-contactListId-status. operations: - method: PATCH name: updatecontactliststatus description: Update contact list status call: contact-center-contact-list-management.updatecontactliststatus with: campaignId: rest.campaignId contactListId: rest.contactListId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/campaign-management/campaigns/{campaignid}/contact-lists name: v3-campaign-management-campaigns-campaignid-contact-lists description: REST surface for v3-campaign-management-campaigns-campaignId-contact-lists. operations: - method: GET name: getcontactlistsincampaign description: Get Contact Lists within a Campaign call: contact-center-contact-list-management.getcontactlistsincampaign with: campaignId: rest.campaignId status: rest.status source: rest.source outputParameters: - type: object mapping: $. - type: mcp namespace: contact-center-contact-list-management-mcp port: 9090 transport: http description: MCP adapter for Webex Contact Center — Contact List Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-contact-list description: Create contact list hints: readOnly: false destructive: false idempotent: false call: contact-center-contact-list-management.createcontactlist with: campaignId: tools.campaignId body: tools.body outputParameters: - type: object mapping: $. - name: create-contacts-within-contact-list description: Create contacts within a contact list hints: readOnly: false destructive: false idempotent: false call: contact-center-contact-list-management.createcontactsincontactlist with: campaignId: tools.campaignId contactListId: tools.contactListId body: tools.body outputParameters: - type: object mapping: $. - name: update-contact-s-status-within-contact description: Update a contact's status within a contact list hints: readOnly: false destructive: false idempotent: true call: contact-center-contact-list-management.updatecontactstatusincontactlist with: campaignId: tools.campaignId contactListId: tools.contactListId contactId: tools.contactId body: tools.body outputParameters: - type: object mapping: $. - name: update-contact-list-status description: Update contact list status hints: readOnly: false destructive: false idempotent: true call: contact-center-contact-list-management.updatecontactliststatus with: campaignId: tools.campaignId contactListId: tools.contactListId body: tools.body outputParameters: - type: object mapping: $. - name: get-contact-lists-within-campaign description: Get Contact Lists within a Campaign hints: readOnly: true destructive: false idempotent: true call: contact-center-contact-list-management.getcontactlistsincampaign with: campaignId: tools.campaignId status: tools.status source: tools.source outputParameters: - type: object mapping: $.