naftiko: 1.0.0-alpha2 info: label: Webex Contact Center — Address Book description: 'Webex Contact Center — Address Book. 19 operations. Lead operation: List Address Book(s). Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Address Book 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-address-book baseUri: '' description: Webex Contact Center — Address Book business capability. Self-contained, no shared references. resources: - name: organization-orgid-address-book path: /organization/{orgid}/address-book operations: - name: getallconfigwithentries method: GET description: List Address Book(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.Default all attributes are returned along with specified columns. All Attributes are supported - 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: createconfigwithentries method: POST description: Create a new Address Book 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-address-book-bulk-export path: /organization/{orgid}/address-book/bulk-export operations: - name: bulkexport22 method: GET description: Bulk export Address Book(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: 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-address-book-addressBookId-entry path: /organization/{orgid}/address-book/{addressBookId}/entry operations: - name: createconfig31 method: POST description: Create a new Address Book Entry 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: addressBookId in: path type: string description: Resource ID of the Address Book required: true - name: body in: body type: object description: Request body (JSON). required: true - name: organization-orgid-address-book-addressBookId-entry-bulk path: /organization/{orgid}/address-book/{addressBookId}/entry/bulk operations: - name: saveallconfig24 method: POST description: Bulk save Address Book Entry(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: addressBookId in: path type: string description: Resource ID of the Address Book required: true - name: body in: body type: object description: Request body (JSON). required: true - name: organization-orgid-address-book-addressBookId-entry-id path: /organization/{orgid}/address-book/{addressBookId}/entry/{id} operations: - name: getconfig31 method: GET description: Get specific Address Book Entry 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: addressBookId in: path type: string description: Resource ID of the Address Book required: true - name: id in: path type: string description: Resource ID of the Address Book Entry required: true - name: updateconfig31 method: PUT description: Update specific Address Book Entry 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: addressBookId in: path type: string description: Resource ID of the Address Book required: true - name: id in: path type: string description: Resource ID of the Address Book Entry required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteconfig28 method: DELETE description: Delete specific Address Book Entry 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: addressBookId in: path type: string description: Resource ID of the Address Book required: true - name: id in: path type: string description: Resource ID of the Address Book Entry required: true - name: organization-orgid-address-book-id path: /organization/{orgid}/address-book/{id} operations: - name: getconfigwithentries method: GET description: Get specific Address Book 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 Address Book. required: true - name: updateconfigwithentries method: PUT description: Update specific Address Book 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 Address Book required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteconfigwithentries method: DELETE description: Delete specific Address Book 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 Address Book. required: true - name: organization-orgid-address-book-id-incoming-references path: /organization/{orgid}/address-book/{id}/incoming-references operations: - name: getincomingreferences21 method: GET description: List references for a specific Address Book 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-address-book path: /organization/{orgid}/v2/address-book operations: - name: getallconfigwithmetadatawithentries method: GET description: List Address Book(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, createdTime, lastUpdatedTime ' - name: attributes in: query type: string description: Specify the attributes to be returned.Default all attributes are returned along with specified columns. All Attributes are supported - name: search in: query type: string description: Filter data based on the search keyword.Supported search columns(name, description) - 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-address-book-addressBookId-entry path: /organization/{orgid}/v2/address-book/{addressBookId}/entry operations: - name: getallconfigwithmetadata29 method: GET description: List Address Book Entry(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: addressBookId in: path type: string description: Resource ID of the Address Book 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, createdTime, lastUpdatedTime ' - name: attributes in: query type: string description: Specify the attributes to be returned.Default all attributes are returned along with specified columns. All Attributes are supported - name: search in: query type: string description: Filter data based on the search keyword.Supported search columns(name, number) - 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-v3-address-book path: /organization/{orgid}/v3/address-book operations: - name: getallconfigwithmetadata1 method: GET description: List Address Book(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, createdTime, lastUpdatedTime ' - name: attributes in: query type: string description: Specify the attributes to be returned.Default all attributes are returned along with specified columns. All Attributes are supported - name: search in: query type: string description: Filter data based on the search keyword.Supported search columns(name, number) - 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: createconfig2 method: POST description: Create a new Address Book 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-v3-address-book-id path: /organization/{orgid}/v3/address-book/{id} operations: - name: getconfig2 method: GET description: Get specific Address Book 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 Address Book. required: true - name: updateconfig2 method: PUT description: Update specific Address Book 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 Address Book. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteconfig2 method: DELETE description: Delete specific Address Book 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 Address Book. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: contact-center-address-book-rest port: 8080 description: REST adapter for Webex Contact Center — Address Book. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organization/{orgid}/address-book name: organization-orgid-address-book description: REST surface for organization-orgid-address-book. operations: - method: GET name: getallconfigwithentries description: List Address Book(s) call: contact-center-address-book.getallconfigwithentries with: orgid: rest.orgid filter: rest.filter attributes: rest.attributes page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - method: POST name: createconfigwithentries description: Create a new Address Book call: contact-center-address-book.createconfigwithentries with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/address-book/bulk-export name: organization-orgid-address-book-bulk-export description: REST surface for organization-orgid-address-book-bulk-export. operations: - method: GET name: bulkexport22 description: Bulk export Address Book(s) call: contact-center-address-book.bulkexport22 with: orgid: rest.orgid page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/address-book/{addressbookid}/entry name: organization-orgid-address-book-addressbookid-entry description: REST surface for organization-orgid-address-book-addressBookId-entry. operations: - method: POST name: createconfig31 description: Create a new Address Book Entry call: contact-center-address-book.createconfig31 with: orgid: rest.orgid addressBookId: rest.addressBookId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/address-book/{addressbookid}/entry/bulk name: organization-orgid-address-book-addressbookid-entry-bulk description: REST surface for organization-orgid-address-book-addressBookId-entry-bulk. operations: - method: POST name: saveallconfig24 description: Bulk save Address Book Entry(s) call: contact-center-address-book.saveallconfig24 with: orgid: rest.orgid addressBookId: rest.addressBookId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/address-book/{addressbookid}/entry/{id} name: organization-orgid-address-book-addressbookid-entry-id description: REST surface for organization-orgid-address-book-addressBookId-entry-id. operations: - method: GET name: getconfig31 description: Get specific Address Book Entry by ID call: contact-center-address-book.getconfig31 with: orgid: rest.orgid addressBookId: rest.addressBookId id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateconfig31 description: Update specific Address Book Entry by ID call: contact-center-address-book.updateconfig31 with: orgid: rest.orgid addressBookId: rest.addressBookId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfig28 description: Delete specific Address Book Entry by ID call: contact-center-address-book.deleteconfig28 with: orgid: rest.orgid addressBookId: rest.addressBookId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/address-book/{id} name: organization-orgid-address-book-id description: REST surface for organization-orgid-address-book-id. operations: - method: GET name: getconfigwithentries description: Get specific Address Book by ID call: contact-center-address-book.getconfigwithentries with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateconfigwithentries description: Update specific Address Book by ID call: contact-center-address-book.updateconfigwithentries with: orgid: rest.orgid id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfigwithentries description: Delete specific Address Book by ID call: contact-center-address-book.deleteconfigwithentries with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/address-book/{id}/incoming-references name: organization-orgid-address-book-id-incoming-references description: REST surface for organization-orgid-address-book-id-incoming-references. operations: - method: GET name: getincomingreferences21 description: List references for a specific Address Book call: contact-center-address-book.getincomingreferences21 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/address-book name: organization-orgid-v2-address-book description: REST surface for organization-orgid-v2-address-book. operations: - method: GET name: getallconfigwithmetadatawithentries description: List Address Book(s) call: contact-center-address-book.getallconfigwithmetadatawithentries with: orgid: rest.orgid filter: rest.filter attributes: rest.attributes search: rest.search page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v2/address-book/{addressbookid}/entry name: organization-orgid-v2-address-book-addressbookid-entry description: REST surface for organization-orgid-v2-address-book-addressBookId-entry. operations: - method: GET name: getallconfigwithmetadata29 description: List Address Book Entry(s) call: contact-center-address-book.getallconfigwithmetadata29 with: orgid: rest.orgid addressBookId: rest.addressBookId filter: rest.filter attributes: rest.attributes search: rest.search page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v3/address-book name: organization-orgid-v3-address-book description: REST surface for organization-orgid-v3-address-book. operations: - method: GET name: getallconfigwithmetadata1 description: List Address Book(s) call: contact-center-address-book.getallconfigwithmetadata1 with: orgid: rest.orgid filter: rest.filter attributes: rest.attributes search: rest.search page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - method: POST name: createconfig2 description: Create a new Address Book call: contact-center-address-book.createconfig2 with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v3/address-book/{id} name: organization-orgid-v3-address-book-id description: REST surface for organization-orgid-v3-address-book-id. operations: - method: GET name: getconfig2 description: Get specific Address Book by ID call: contact-center-address-book.getconfig2 with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateconfig2 description: Update specific Address Book by ID call: contact-center-address-book.updateconfig2 with: orgid: rest.orgid id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfig2 description: Delete specific Address Book by ID call: contact-center-address-book.deleteconfig2 with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: contact-center-address-book-mcp port: 9090 transport: http description: MCP adapter for Webex Contact Center — Address Book. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-address-book-s description: List Address Book(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getallconfigwithentries with: orgid: tools.orgid filter: tools.filter attributes: tools.attributes page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: create-new-address-book description: Create a new Address Book hints: readOnly: false destructive: false idempotent: false call: contact-center-address-book.createconfigwithentries with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: bulk-export-address-book-s description: Bulk export Address Book(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.bulkexport22 with: orgid: tools.orgid page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: create-new-address-book-entry description: Create a new Address Book Entry hints: readOnly: false destructive: false idempotent: false call: contact-center-address-book.createconfig31 with: orgid: tools.orgid addressBookId: tools.addressBookId body: tools.body outputParameters: - type: object mapping: $. - name: bulk-save-address-book-entry-s description: Bulk save Address Book Entry(s) hints: readOnly: false destructive: false idempotent: false call: contact-center-address-book.saveallconfig24 with: orgid: tools.orgid addressBookId: tools.addressBookId body: tools.body outputParameters: - type: object mapping: $. - name: get-specific-address-book-entry description: Get specific Address Book Entry by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getconfig31 with: orgid: tools.orgid addressBookId: tools.addressBookId id: tools.id outputParameters: - type: object mapping: $. - name: update-specific-address-book-entry description: Update specific Address Book Entry by ID hints: readOnly: false destructive: false idempotent: true call: contact-center-address-book.updateconfig31 with: orgid: tools.orgid addressBookId: tools.addressBookId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-specific-address-book-entry description: Delete specific Address Book Entry by ID hints: readOnly: false destructive: true idempotent: true call: contact-center-address-book.deleteconfig28 with: orgid: tools.orgid addressBookId: tools.addressBookId id: tools.id outputParameters: - type: object mapping: $. - name: get-specific-address-book-id description: Get specific Address Book by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getconfigwithentries with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: update-specific-address-book-id description: Update specific Address Book by ID hints: readOnly: false destructive: false idempotent: true call: contact-center-address-book.updateconfigwithentries with: orgid: tools.orgid id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-specific-address-book-id description: Delete specific Address Book by ID hints: readOnly: false destructive: true idempotent: true call: contact-center-address-book.deleteconfigwithentries with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: list-references-specific-address-book description: List references for a specific Address Book hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getincomingreferences21 with: orgid: tools.orgid id: tools.id type: tools.type page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: list-address-book-s-2 description: List Address Book(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getallconfigwithmetadatawithentries with: orgid: tools.orgid filter: tools.filter attributes: tools.attributes search: tools.search page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: list-address-book-entry-s description: List Address Book Entry(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getallconfigwithmetadata29 with: orgid: tools.orgid addressBookId: tools.addressBookId filter: tools.filter attributes: tools.attributes search: tools.search page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: list-address-book-s-3 description: List Address Book(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getallconfigwithmetadata1 with: orgid: tools.orgid filter: tools.filter attributes: tools.attributes search: tools.search page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: create-new-address-book-2 description: Create a new Address Book hints: readOnly: false destructive: false idempotent: false call: contact-center-address-book.createconfig2 with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: get-specific-address-book-id-2 description: Get specific Address Book by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-address-book.getconfig2 with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: update-specific-address-book-id-2 description: Update specific Address Book by ID hints: readOnly: false destructive: false idempotent: true call: contact-center-address-book.updateconfig2 with: orgid: tools.orgid id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-specific-address-book-id-2 description: Delete specific Address Book by ID hints: readOnly: false destructive: true idempotent: true call: contact-center-address-book.deleteconfig2 with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $.