naftiko: 1.0.0-alpha2 info: label: Webex Contact Center — Desktop Layout description: 'Webex Contact Center — Desktop Layout. 9 operations. Lead operation: Create a new Desktop Layout. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Desktop Layout 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-desktop-layout baseUri: '' description: Webex Contact Center — Desktop Layout business capability. Self-contained, no shared references. resources: - name: organization-orgid-desktop-layout path: /organization/{orgid}/desktop-layout operations: - name: createconfig15 method: POST description: Create a new Desktop Layout 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-desktop-layout-bulk path: /organization/{orgid}/desktop-layout/bulk operations: - name: saveallconfig15 method: POST description: Bulk save Desktop Layout(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-desktop-layout-bulk-export path: /organization/{orgid}/desktop-layout/bulk-export operations: - name: bulkexport13 method: GET description: Bulk export Desktop Layout(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-desktop-layout-purge-inactive-entities path: /organization/{orgid}/desktop-layout/purge-inactive-entities operations: - name: purgeinactiveconfig7 method: POST description: Purge inactive Desktop Layout(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-desktop-layout-id path: /organization/{orgid}/desktop-layout/{id} operations: - name: getconfig17 method: GET description: Get specific Desktop Layout 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 Desktop Layout. required: true - name: updateconfig17 method: PUT description: Update specific Desktop Layout 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 Desktop Layout. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteconfig15 method: DELETE description: Delete specific Desktop Layout 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 Desktop Layout. required: true - name: organization-orgid-desktop-layout-id-incoming-references path: /organization/{orgid}/desktop-layout/{id}/incoming-references operations: - name: getincomingreferences13 method: GET description: List references for a specific Desktop Layout 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-desktop-layout path: /organization/{orgid}/v2/desktop-layout operations: - name: getallconfigwithmetadata16 method: GET description: List Desktop Layout(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, validatedTime, defaultJsonModifiedTime, modifi' - 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. - 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 - name: provisioningView in: query type: boolean description: If set to true, the API will only return data that user has access to, according to User Profile. authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: contact-center-desktop-layout-rest port: 8080 description: REST adapter for Webex Contact Center — Desktop Layout. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organization/{orgid}/desktop-layout name: organization-orgid-desktop-layout description: REST surface for organization-orgid-desktop-layout. operations: - method: POST name: createconfig15 description: Create a new Desktop Layout call: contact-center-desktop-layout.createconfig15 with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/desktop-layout/bulk name: organization-orgid-desktop-layout-bulk description: REST surface for organization-orgid-desktop-layout-bulk. operations: - method: POST name: saveallconfig15 description: Bulk save Desktop Layout(s) call: contact-center-desktop-layout.saveallconfig15 with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/desktop-layout/bulk-export name: organization-orgid-desktop-layout-bulk-export description: REST surface for organization-orgid-desktop-layout-bulk-export. operations: - method: GET name: bulkexport13 description: Bulk export Desktop Layout(s) call: contact-center-desktop-layout.bulkexport13 with: orgid: rest.orgid page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/desktop-layout/purge-inactive-entities name: organization-orgid-desktop-layout-purge-inactive-entities description: REST surface for organization-orgid-desktop-layout-purge-inactive-entities. operations: - method: POST name: purgeinactiveconfig7 description: Purge inactive Desktop Layout(s) call: contact-center-desktop-layout.purgeinactiveconfig7 with: orgid: rest.orgid nextStartId: rest.nextStartId outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/desktop-layout/{id} name: organization-orgid-desktop-layout-id description: REST surface for organization-orgid-desktop-layout-id. operations: - method: GET name: getconfig17 description: Get specific Desktop Layout by ID call: contact-center-desktop-layout.getconfig17 with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateconfig17 description: Update specific Desktop Layout by ID call: contact-center-desktop-layout.updateconfig17 with: orgid: rest.orgid id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfig15 description: Delete specific Desktop Layout by ID call: contact-center-desktop-layout.deleteconfig15 with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/desktop-layout/{id}/incoming-references name: organization-orgid-desktop-layout-id-incoming-references description: REST surface for organization-orgid-desktop-layout-id-incoming-references. operations: - method: GET name: getincomingreferences13 description: List references for a specific Desktop Layout call: contact-center-desktop-layout.getincomingreferences13 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/desktop-layout name: organization-orgid-v2-desktop-layout description: REST surface for organization-orgid-v2-desktop-layout. operations: - method: GET name: getallconfigwithmetadata16 description: List Desktop Layout(s) call: contact-center-desktop-layout.getallconfigwithmetadata16 with: orgid: rest.orgid filter: rest.filter attributes: rest.attributes search: rest.search page: rest.page pageSize: rest.pageSize singleObjectResponse: rest.singleObjectResponse provisioningView: rest.provisioningView outputParameters: - type: object mapping: $. - type: mcp namespace: contact-center-desktop-layout-mcp port: 9090 transport: http description: MCP adapter for Webex Contact Center — Desktop Layout. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-new-desktop-layout description: Create a new Desktop Layout hints: readOnly: false destructive: false idempotent: false call: contact-center-desktop-layout.createconfig15 with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: bulk-save-desktop-layout-s description: Bulk save Desktop Layout(s) hints: readOnly: false destructive: false idempotent: false call: contact-center-desktop-layout.saveallconfig15 with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: bulk-export-desktop-layout-s description: Bulk export Desktop Layout(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-desktop-layout.bulkexport13 with: orgid: tools.orgid page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: purge-inactive-desktop-layout-s description: Purge inactive Desktop Layout(s) hints: readOnly: false destructive: false idempotent: false call: contact-center-desktop-layout.purgeinactiveconfig7 with: orgid: tools.orgid nextStartId: tools.nextStartId outputParameters: - type: object mapping: $. - name: get-specific-desktop-layout-id description: Get specific Desktop Layout by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-desktop-layout.getconfig17 with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: update-specific-desktop-layout-id description: Update specific Desktop Layout by ID hints: readOnly: false destructive: false idempotent: true call: contact-center-desktop-layout.updateconfig17 with: orgid: tools.orgid id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-specific-desktop-layout-id description: Delete specific Desktop Layout by ID hints: readOnly: false destructive: true idempotent: true call: contact-center-desktop-layout.deleteconfig15 with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: list-references-specific-desktop-layout description: List references for a specific Desktop Layout hints: readOnly: true destructive: false idempotent: true call: contact-center-desktop-layout.getincomingreferences13 with: orgid: tools.orgid id: tools.id type: tools.type page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: list-desktop-layout-s description: List Desktop Layout(s) hints: readOnly: true destructive: false idempotent: true call: contact-center-desktop-layout.getallconfigwithmetadata16 with: orgid: tools.orgid filter: tools.filter attributes: tools.attributes search: tools.search page: tools.page pageSize: tools.pageSize singleObjectResponse: tools.singleObjectResponse provisioningView: tools.provisioningView outputParameters: - type: object mapping: $.