naftiko: 1.0.0-alpha2 info: label: Webex Contact Center — User Profiles description: 'Webex Contact Center — User Profiles. 8 operations. Lead operation: List references for a specific User Profile. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - User Profiles 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-user-profiles baseUri: '' description: Webex Contact Center — User Profiles business capability. Self-contained, no shared references. resources: - name: organization-orgid-user-profile-id-incoming-references path: /organization/{orgid}/user-profile/{id}/incoming-references operations: - name: getincomingreferencesuserprofile method: GET description: List references for a specific User Profile 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-v3-user-profile path: /organization/{orgid}/v3/user-profile operations: - name: getallconfigwithmetadatauserprofilegranularaccess method: GET description: List user profiles 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, userProfileAppModules, entryPoints, sites, que' - 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 (entryPoin - name: search in: query type: string description: Filter data based on the search keyword.Supported search columns(name, profileType, 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: createconfiguserprofilegranularaccess method: POST description: Create a new User Profile 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-user-profile-bulk path: /organization/{orgid}/v3/user-profile/bulk operations: - name: saveallconfiguserprofilegranularaccess method: POST description: Bulk save User Profiles 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-user-profile-id path: /organization/{orgid}/v3/user-profile/{id} operations: - name: getconfiguserprofilegranularaccess method: GET description: Get specific User Profile 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 User Profile. required: true - name: includeNames in: query type: boolean description: Flag to include resource names in the response. - name: updateconfiguserprofilegranularaccess method: PUT description: Update specific User Profile 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 User Profile. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteconfiguserprofilegranularaccess method: DELETE description: Delete specific User Profile 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 User Profile. required: true - name: organization-orgid-v3-user-profile-id-acl path: /organization/{orgid}/v3/user-profile/{id}/acl operations: - name: getaclbyuserprofileuserprofilegranularaccess method: GET description: Get specific User Profile ACL 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 User Profile. required: true - name: names in: query type: array description: Default all resources are returned in the ACL. authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: contact-center-user-profiles-rest port: 8080 description: REST adapter for Webex Contact Center — User Profiles. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organization/{orgid}/user-profile/{id}/incoming-references name: organization-orgid-user-profile-id-incoming-references description: REST surface for organization-orgid-user-profile-id-incoming-references. operations: - method: GET name: getincomingreferencesuserprofile description: List references for a specific User Profile call: contact-center-user-profiles.getincomingreferencesuserprofile with: orgid: rest.orgid id: rest.id type: rest.type page: rest.page pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v3/user-profile name: organization-orgid-v3-user-profile description: REST surface for organization-orgid-v3-user-profile. operations: - method: GET name: getallconfigwithmetadatauserprofilegranularaccess description: List user profiles call: contact-center-user-profiles.getallconfigwithmetadatauserprofilegranularaccess 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: createconfiguserprofilegranularaccess description: Create a new User Profile call: contact-center-user-profiles.createconfiguserprofilegranularaccess with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v3/user-profile/bulk name: organization-orgid-v3-user-profile-bulk description: REST surface for organization-orgid-v3-user-profile-bulk. operations: - method: POST name: saveallconfiguserprofilegranularaccess description: Bulk save User Profiles call: contact-center-user-profiles.saveallconfiguserprofilegranularaccess with: orgid: rest.orgid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v3/user-profile/{id} name: organization-orgid-v3-user-profile-id description: REST surface for organization-orgid-v3-user-profile-id. operations: - method: GET name: getconfiguserprofilegranularaccess description: Get specific User Profile by ID call: contact-center-user-profiles.getconfiguserprofilegranularaccess with: orgid: rest.orgid id: rest.id includeNames: rest.includeNames outputParameters: - type: object mapping: $. - method: PUT name: updateconfiguserprofilegranularaccess description: Update specific User Profile by ID call: contact-center-user-profiles.updateconfiguserprofilegranularaccess with: orgid: rest.orgid id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfiguserprofilegranularaccess description: Delete specific User Profile by ID call: contact-center-user-profiles.deleteconfiguserprofilegranularaccess with: orgid: rest.orgid id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organization/{orgid}/v3/user-profile/{id}/acl name: organization-orgid-v3-user-profile-id-acl description: REST surface for organization-orgid-v3-user-profile-id-acl. operations: - method: GET name: getaclbyuserprofileuserprofilegranularaccess description: Get specific User Profile ACL by ID call: contact-center-user-profiles.getaclbyuserprofileuserprofilegranularaccess with: orgid: rest.orgid id: rest.id names: rest.names outputParameters: - type: object mapping: $. - type: mcp namespace: contact-center-user-profiles-mcp port: 9090 transport: http description: MCP adapter for Webex Contact Center — User Profiles. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-references-specific-user-profile description: List references for a specific User Profile hints: readOnly: true destructive: false idempotent: true call: contact-center-user-profiles.getincomingreferencesuserprofile with: orgid: tools.orgid id: tools.id type: tools.type page: tools.page pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: list-user-profiles description: List user profiles hints: readOnly: true destructive: false idempotent: true call: contact-center-user-profiles.getallconfigwithmetadatauserprofilegranularaccess 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-user-profile description: Create a new User Profile hints: readOnly: false destructive: false idempotent: false call: contact-center-user-profiles.createconfiguserprofilegranularaccess with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: bulk-save-user-profiles description: Bulk save User Profiles hints: readOnly: false destructive: false idempotent: false call: contact-center-user-profiles.saveallconfiguserprofilegranularaccess with: orgid: tools.orgid body: tools.body outputParameters: - type: object mapping: $. - name: get-specific-user-profile-id description: Get specific User Profile by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-user-profiles.getconfiguserprofilegranularaccess with: orgid: tools.orgid id: tools.id includeNames: tools.includeNames outputParameters: - type: object mapping: $. - name: update-specific-user-profile-id description: Update specific User Profile by ID hints: readOnly: false destructive: false idempotent: true call: contact-center-user-profiles.updateconfiguserprofilegranularaccess with: orgid: tools.orgid id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-specific-user-profile-id description: Delete specific User Profile by ID hints: readOnly: false destructive: true idempotent: true call: contact-center-user-profiles.deleteconfiguserprofilegranularaccess with: orgid: tools.orgid id: tools.id outputParameters: - type: object mapping: $. - name: get-specific-user-profile-acl description: Get specific User Profile ACL by ID hints: readOnly: true destructive: false idempotent: true call: contact-center-user-profiles.getaclbyuserprofileuserprofilegranularaccess with: orgid: tools.orgid id: tools.id names: tools.names outputParameters: - type: object mapping: $.