naftiko: 1.0.0-alpha2 info: label: Webex Contact Center — Skill description: 'Webex Contact Center — Skill. 10 operations. Lead operation: List Skill(s). Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Skill 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-skill baseUri: '' description: Webex Contact Center — Skill business capability. Self-contained, no shared references. resources: - name: organization-orgid-skill path: /organization/{orgid}/skill operations: - name: getallconfig2 method: GET description: List Skill(s) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: filter in: query type: string description: 'Specify a filter based on which the results will be fetched. Supported filterable fields: id. ' - name: attributes in: query type: string description: Specify the attributes to be returned. By default, all attributes are returned along with the specified columns. All attributes are supported. except (enumSkill - name: page in: query type: integer description: Defines the number of displayed page. The page number starts from 0. - name: pageSize in: query type: integer 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 si - name: singleObjectResponse in: query type: boolean description: Specifiy whether to include array fields in the response, This query param should use only if the response contain single record, if we are using for multiple o - name: createconfig3 method: POST description: Create a new Skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: payloadDTO in: query type: string description: Skill configuration data required: true - name: organization-orgid-skill-bulk path: /organization/{orgid}/skill/bulk operations: - name: saveallconfig2 method: POST description: Bulk save Skill(s) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: organization-orgid-skill-populate-json-attr-id path: /organization/{orgid}/skill/populate-json-attr/{id} operations: - name: populatejsonattributesbyorgidandskillid method: POST description: Populate json-attributes field for a given skill-id of an organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string required: true - name: id in: path type: string required: true - name: organization-orgid-skill-purge-inactive-entities path: /organization/{orgid}/skill/purge-inactive-entities operations: - name: purgeinactiveconfig2 method: POST description: Purge inactive Skill(s) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: nextStartId in: query type: string description: This is the entity ID from which items for the next purge batch with be selected. - name: organization-orgid-skill-id path: /organization/{orgid}/skill/{id} operations: - name: getconfig3 method: GET description: Get specific Skill by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: id in: path type: string description: Resource ID of the Skill. required: true - name: updateconfig3 method: PUT description: Update specific Skill by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: id in: path type: string description: Resource ID of the Skill. required: true - name: payloadDTO in: query type: string description: Skill configuration data for update required: true - name: deleteconfig3 method: DELETE description: Delete specific Skill by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: id in: path type: string description: Resource ID of the Skill. required: true - name: organization-orgid-skill-id-incoming-references path: /organization/{orgid}/skill/{id}/incoming-references operations: - name: getincomingreferences2 method: GET description: List references for a specific Skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: id in: path type: string description: ID of this contact center resource. required: true - name: type in: query type: string description: Entity type of the other entity that has a reference to this specific entity. - name: page in: query type: integer description: Defines the number of displayed page. The page number starts from 0. - name: pageSize in: query type: integer 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 si - name: organization-orgid-v2-skill path: /organization/{orgid}/v2/skill operations: - name: getallconfigwithmetadata4 method: GET description: List Skill(s) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgid in: path type: string description: Organization ID to be used for this operation. The specified security token must have permission to interact with the organization. required: true - name: filter in: query type: string description: 'Specify a filter based on which the results will be fetched. All the fields are supported except: organizationId, enumSkillValues, createdTime, lastUpdatedTime ' - name: attributes in: query type: string description: Specify the attributes to be returned. By default, all attributes are returned along with the specified columns. All attributes are supported. except (enumSkill - name: search in: query type: string description: Filter data based on the search keyword.Supported search columns(name) - name: page in: query type: integer description: Defines the number of displayed page. The page number starts from 0. - name: pageSize in: query type: integer 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 si - name: singleObjectResponse in: query type: boolean description: Specifiy whether to include array fields in the response, This query param should use only if the response contain single record, if we are using for multiple o authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: contact-center-skill-rest port: 8080 description: REST adapter for Webex Contact Center — Skill. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organization/{orgid}/skill name: organization-orgid-skill description: REST surface for organization-orgid-skill. operations: - method: GET name: getallconfig2 description: List Skill(s) call: contact-center-skill.getallconfig2 with: orgid: rest.orgid filter: rest.filter attributes: rest.attributes page: rest.page pageSize: rest.pageSize singleObjectResponse: rest.singleObjectResponse outputParameters: - type: object mapping: $. - method: POST name: createconfig3 description: Create a new Skill call: contact-center-skill.createconfig3 with: orgid: rest.orgid payloadDTO: rest.payloadDTO outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/skill/bulk name: organization-orgid-skill-bulk description: REST surface for organization-orgid-skill-bulk. operations: - method: POST name: saveallconfig2 description: Bulk save Skill(s) call: contact-center-skill.saveallconfig2 with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/skill/populate-json-attr/{id} name: organization-orgid-skill-populate-json-attr-id description: REST surface for organization-orgid-skill-populate-json-attr-id. operations: - method: POST name: populatejsonattributesbyorgidandskillid description: Populate json-attributes field for a given skill-id of an organization call: contact-center-skill.populatejsonattributesbyorgidandskillid with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/skill/purge-inactive-entities name: organization-orgid-skill-purge-inactive-entities description: REST surface for organization-orgid-skill-purge-inactive-entities. operations: - method: POST name: purgeinactiveconfig2 description: Purge inactive Skill(s) call: contact-center-skill.purgeinactiveconfig2 with: orgid: rest.orgid nextStartId: rest.nextStartId outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/skill/{id} name: organization-orgid-skill-id description: REST surface for organization-orgid-skill-id. operations: - method: GET name: getconfig3 description: Get specific Skill by ID call: contact-center-skill.getconfig3 with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateconfig3 description: Update specific Skill by ID call: contact-center-skill.updateconfig3 with: orgid: rest.orgid id: rest.id payloadDTO: rest.payloadDTO outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfig3 description: Delete specific Skill by ID call: contact-center-skill.deleteconfig3 with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/skill/{id}/incoming-references name: organization-orgid-skill-id-incoming-references description: REST surface for organization-orgid-skill-id-incoming-references. operations: - method: GET name: getincomingreferences2 description: List references for a specific Skill call: contact-center-skill.getincomingreferences2 with: orgid: rest.orgid id: rest.id type: rest.type page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v2/skill name: organization-orgid-v2-skill description: REST surface for organization-orgid-v2-skill. operations: - method: GET name: getallconfigwithmetadata4 description: List Skill(s) call: contact-center-skill.getallconfigwithmetadata4 with: orgid: rest.orgid filter: rest.filter attributes: rest.attributes search: rest.search page: rest.page pageSize: rest.pageSize singleObjectResponse: rest.singleObjectResponse outputParameters: - type: object mapping: $. - type: mcp namespace: contact-center-skill-mcp port: 9090 transport: http description: MCP adapter for Webex Contact Center — Skill. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-skill-s description: List Skill(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-skill.getallconfig2 with: orgid: tools.orgid filter: tools.filter attributes: tools.attributes page: tools.page pageSize: tools.pageSize singleObjectResponse: tools.singleObjectResponse outputParameters: - type: object mapping: $. - name: create-new-skill description: Create a new Skill hints: readOnly: false destructive: false idempotent: false call: contact-center-skill.createconfig3 with: orgid: tools.orgid payloadDTO: tools.payloadDTO outputParameters: - type: object mapping: $. - name: bulk-save-skill-s description: Bulk save Skill(s) hints: readOnly: false destructive: false idempotent: false call: contact-center-skill.saveallconfig2 with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: populate-json-attributes-field-given description: Populate json-attributes field for a given skill-id of an organization hints: readOnly: false destructive: false idempotent: false call: contact-center-skill.populatejsonattributesbyorgidandskillid with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: purge-inactive-skill-s description: Purge inactive Skill(s) hints: readOnly: false destructive: false idempotent: false call: contact-center-skill.purgeinactiveconfig2 with: orgid: tools.orgid nextStartId: tools.nextStartId outputParameters: - type: object mapping: $. - name: get-specific-skill-id description: Get specific Skill by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-skill.getconfig3 with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: update-specific-skill-id description: Update specific Skill by ID hints: readOnly: false destructive: false idempotent: true call: contact-center-skill.updateconfig3 with: orgid: tools.orgid id: tools.id payloadDTO: tools.payloadDTO outputParameters: - type: object mapping: $. - name: delete-specific-skill-id description: Delete specific Skill by ID hints: readOnly: false destructive: true idempotent: true call: contact-center-skill.deleteconfig3 with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: list-references-specific-skill description: List references for a specific Skill hints: readOnly: true destructive: false idempotent: true call: contact-center-skill.getincomingreferences2 with: orgid: tools.orgid id: tools.id type: tools.type page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: list-skill-s-2 description: List Skill(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-skill.getallconfigwithmetadata4 with: orgid: tools.orgid filter: tools.filter attributes: tools.attributes search: tools.search page: tools.page pageSize: tools.pageSize singleObjectResponse: tools.singleObjectResponse outputParameters: - type: object mapping: $.