naftiko: 1.0.0-alpha2 info: label: Webex Admin — SCIM 2 Users description: 'Webex Admin — SCIM 2 Users. 7 operations. Lead operation: Get Me. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - SCIM 2 Users created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: admin-scim-2-users baseUri: '' description: Webex Admin — SCIM 2 Users business capability. Self-contained, no shared references. resources: - name: identity-scim-v2-Users-me path: /identity/scim/v2/Users/me operations: - name: getme method: GET description: Get Me outputRawFormat: json outputParameters: - name: result type: object value: $. - name: identity-scim-orgId-v2-Users path: /identity/scim/{orgId}/v2/Users operations: - name: createauser method: POST description: Create a user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for user's organization. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: searchusers method: GET description: Search users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for user's organization. required: true - name: filter in: query type: string description: The URL encoded filter. If the value is empty, the API will return all users under the organization. - name: attributes in: query type: string description: A multi-valued list of string names for resource attributes to return in the response, like 'userName,department,emails'. It supports the SCIM id 'urn:ietf:para - name: excludedAttributes in: query type: string description: A multi-valued list of strings names for resource attributes to be removed from the default set of attributes to return. The default is empty, all attributes wi - name: sortBy in: query type: string description: A string for the attribute whose value can be used to order the returned responses. Now we only allow `userName`, `id`, `meta.lastModified` to sort. - name: sortOrder in: query type: string description: A string for the order in which the 'sortBy' parameter is applied. Allowed values are 'ascending' and 'descending'. - name: startIndex in: query type: string description: An integer for the 1-based index of the first query result. The default is 1. - name: count in: query type: string description: An integer for the maximum number of query results per page. The default is 100. - name: returnGroups in: query type: string description: Define whether the group information needs to be returned. The default is false. - name: includeGroupDetails in: query type: string description: Define whether the group information with details needs to be returned. The default is false. - name: groupUsageTypes in: query type: string description: Returns groups with details of the specified group type. - name: identity-scim-orgId-v2-Users-userId path: /identity/scim/{orgId}/v2/Users/{userId} operations: - name: getauser method: GET description: Get a user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for user's organization. required: true - name: userId in: path type: string description: Webex Identity assigned user identifier. required: true - name: updateauserwithput method: PUT description: Update a user with PUT outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for user's organization. required: true - name: userId in: path type: string description: Webex Identity assigned user identifier. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: updateauserwithpatch method: PATCH description: Update a user with PATCH outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for user's organization. required: true - name: userId in: path type: string description: Webex Identity assigned user identifier. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteauser method: DELETE description: Delete a user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for user's organization. required: true - name: userId in: path type: string description: Webex Identity assigned user identifier. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: admin-scim-2-users-rest port: 8080 description: REST adapter for Webex Admin — SCIM 2 Users. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/identity/scim/v2/users/me name: identity-scim-v2-users-me description: REST surface for identity-scim-v2-Users-me. operations: - method: GET name: getme description: Get Me call: admin-scim-2-users.getme outputParameters: - type: object mapping: $. - path: /v1/identity/scim/{orgid}/v2/users name: identity-scim-orgid-v2-users description: REST surface for identity-scim-orgId-v2-Users. operations: - method: POST name: createauser description: Create a user call: admin-scim-2-users.createauser with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: searchusers description: Search users call: admin-scim-2-users.searchusers with: orgId: rest.orgId filter: rest.filter attributes: rest.attributes excludedAttributes: rest.excludedAttributes sortBy: rest.sortBy sortOrder: rest.sortOrder startIndex: rest.startIndex count: rest.count returnGroups: rest.returnGroups includeGroupDetails: rest.includeGroupDetails groupUsageTypes: rest.groupUsageTypes outputParameters: - type: object mapping: $. - path: /v1/identity/scim/{orgid}/v2/users/{userid} name: identity-scim-orgid-v2-users-userid description: REST surface for identity-scim-orgId-v2-Users-userId. operations: - method: GET name: getauser description: Get a user call: admin-scim-2-users.getauser with: orgId: rest.orgId userId: rest.userId outputParameters: - type: object mapping: $. - method: PUT name: updateauserwithput description: Update a user with PUT call: admin-scim-2-users.updateauserwithput with: orgId: rest.orgId userId: rest.userId body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: updateauserwithpatch description: Update a user with PATCH call: admin-scim-2-users.updateauserwithpatch with: orgId: rest.orgId userId: rest.userId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteauser description: Delete a user call: admin-scim-2-users.deleteauser with: orgId: rest.orgId userId: rest.userId outputParameters: - type: object mapping: $. - type: mcp namespace: admin-scim-2-users-mcp port: 9090 transport: http description: MCP adapter for Webex Admin — SCIM 2 Users. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-me description: Get Me hints: readOnly: true destructive: false idempotent: true call: admin-scim-2-users.getme outputParameters: - type: object mapping: $. - name: create-user description: Create a user hints: readOnly: false destructive: false idempotent: false call: admin-scim-2-users.createauser with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: search-users description: Search users hints: readOnly: true destructive: false idempotent: true call: admin-scim-2-users.searchusers with: orgId: tools.orgId filter: tools.filter attributes: tools.attributes excludedAttributes: tools.excludedAttributes sortBy: tools.sortBy sortOrder: tools.sortOrder startIndex: tools.startIndex count: tools.count returnGroups: tools.returnGroups includeGroupDetails: tools.includeGroupDetails groupUsageTypes: tools.groupUsageTypes outputParameters: - type: object mapping: $. - name: get-user description: Get a user hints: readOnly: true destructive: false idempotent: true call: admin-scim-2-users.getauser with: orgId: tools.orgId userId: tools.userId outputParameters: - type: object mapping: $. - name: update-user-put description: Update a user with PUT hints: readOnly: false destructive: false idempotent: true call: admin-scim-2-users.updateauserwithput with: orgId: tools.orgId userId: tools.userId body: tools.body outputParameters: - type: object mapping: $. - name: update-user-patch description: Update a user with PATCH hints: readOnly: false destructive: false idempotent: true call: admin-scim-2-users.updateauserwithpatch with: orgId: tools.orgId userId: tools.userId body: tools.body outputParameters: - type: object mapping: $. - name: delete-user description: Delete a user hints: readOnly: false destructive: true idempotent: true call: admin-scim-2-users.deleteauser with: orgId: tools.orgId userId: tools.userId outputParameters: - type: object mapping: $.