Webex · Capability

Webex Admin — SCIM 2 Groups

Webex Admin — SCIM 2 Groups. 7 operations. Lead operation: Create a group. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexSCIM 2 Groups

What You Can Do

POST
Createagroup — Create a group
/v1/identity/scim/{orgid}/v2/groups
GET
Searchgroups — Search groups
/v1/identity/scim/{orgid}/v2/groups
GET
Getagroup — Get a group
/v1/identity/scim/{orgid}/v2/groups/{groupid}
PUT
Updateagroupwithput — Update a group with PUT
/v1/identity/scim/{orgid}/v2/groups/{groupid}
PATCH
Updateagroupwithpatch — Update a group with PATCH
/v1/identity/scim/{orgid}/v2/groups/{groupid}
DELETE
Deleteagroup — Delete a group
/v1/identity/scim/{orgid}/v2/groups/{groupid}
GET
Getgroupmembers — Get Group Members
/v1/identity/scim/{orgid}/v2/groups/{groupid}/members

MCP Tools

create-group

Create a group

search-groups

Search groups

read-only idempotent
get-group

Get a group

read-only idempotent
update-group-put

Update a group with PUT

idempotent
update-group-patch

Update a group with PATCH

idempotent
delete-group

Delete a group

idempotent
get-group-members

Get Group Members

read-only idempotent

Capability Spec

admin-scim-2-groups.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Admin — SCIM 2 Groups
  description: 'Webex Admin — SCIM 2 Groups. 7 operations. Lead operation: Create a group. Self-contained Naftiko capability
    covering one Webex business surface.'
  tags:
  - Webex
  - SCIM 2 Groups
  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-groups
    baseUri: ''
    description: Webex Admin — SCIM 2 Groups business capability. Self-contained, no shared references.
    resources:
    - name: identity-scim-orgId-v2-Groups
      path: /identity/scim/{orgId}/v2/Groups
      operations:
      - name: createagroup
        method: POST
        description: Create a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: searchgroups
        method: GET
        description: Search groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: filter
          in: query
          type: string
          description: The url encoded filter. The example content is 'displayName Eq "[email protected]" or displayName
            Eq "[email protected]"'.
        - name: attributes
          in: query
          type: string
          description: The attributes to return.
        - name: excludedAttributes
          in: query
          type: string
          description: Attributes to be excluded from the return.
        - name: sortBy
          in: query
          type: string
          description: A string indicating the attribute whose value be used to order the returned responses. Now we only
            allow `displayName, id, meta.lastModified` to sort.
        - name: sortOrder
          in: query
          type: string
          description: A string indicating the order in which the `sortBy` parameter is applied. Allowed values are `ascending`
            and `descending`.
        - name: startIndex
          in: query
          type: number
          description: An integer indicating the 1-based index of the first query result. The default is 1.
        - name: count
          in: query
          type: number
          description: An integer indicating the desired maximum number of query results per page. The default is 100.
        - name: includeMembers
          in: query
          type: boolean
          description: Default "false". If false, no members returned.
        - name: memberType
          in: query
          type: string
          description: 'Filter the members by member type. Sample data: `user`, `machine`, `group`.'
    - name: identity-scim-orgId-v2-Groups-groupId
      path: /identity/scim/{orgId}/v2/Groups/{groupId}
      operations:
      - name: getagroup
        method: GET
        description: Get a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: groupId
          in: path
          type: string
          description: A unique identifier for the group.
          required: true
        - name: excludedAttributes
          in: query
          type: string
          description: Attributes to be excluded from the return.
      - name: updateagroupwithput
        method: PUT
        description: Update a group with PUT
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: groupId
          in: path
          type: string
          description: A unique identifier for the group.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: updateagroupwithpatch
        method: PATCH
        description: Update a group with PATCH
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: groupId
          in: path
          type: string
          description: A unique identifier for the group.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteagroup
        method: DELETE
        description: Delete a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: groupId
          in: path
          type: string
          description: A unique identifier for the group.
          required: true
    - name: identity-scim-orgId-v2-Groups-groupId-Members
      path: /identity/scim/{orgId}/v2/Groups/{groupId}/Members
      operations:
      - name: getgroupmembers
        method: GET
        description: Get Group Members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The ID of the organization to which this group belongs. If not specified, the organization ID from
            the OAuth token is used.
          required: true
        - name: groupId
          in: path
          type: string
          description: A unique identifier for the group.
          required: true
        - name: startIndex
          in: query
          type: number
          description: The index to start for group pagination.
        - name: count
          in: query
          type: number
          description: Non-negative integer that specifies the desired number of search results per page. The maximum value
            for the count is 500.
        - name: memberType
          in: query
          type: string
          description: 'Filter the members by member type. Sample data: `user`, `machine`, `group`.'
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: admin-scim-2-groups-rest
    port: 8080
    description: REST adapter for Webex Admin — SCIM 2 Groups. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/identity/scim/{orgid}/v2/groups
      name: identity-scim-orgid-v2-groups
      description: REST surface for identity-scim-orgId-v2-Groups.
      operations:
      - method: POST
        name: createagroup
        description: Create a group
        call: admin-scim-2-groups.createagroup
        with:
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: searchgroups
        description: Search groups
        call: admin-scim-2-groups.searchgroups
        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
          includeMembers: rest.includeMembers
          memberType: rest.memberType
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/identity/scim/{orgid}/v2/groups/{groupid}
      name: identity-scim-orgid-v2-groups-groupid
      description: REST surface for identity-scim-orgId-v2-Groups-groupId.
      operations:
      - method: GET
        name: getagroup
        description: Get a group
        call: admin-scim-2-groups.getagroup
        with:
          orgId: rest.orgId
          groupId: rest.groupId
          excludedAttributes: rest.excludedAttributes
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateagroupwithput
        description: Update a group with PUT
        call: admin-scim-2-groups.updateagroupwithput
        with:
          orgId: rest.orgId
          groupId: rest.groupId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateagroupwithpatch
        description: Update a group with PATCH
        call: admin-scim-2-groups.updateagroupwithpatch
        with:
          orgId: rest.orgId
          groupId: rest.groupId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteagroup
        description: Delete a group
        call: admin-scim-2-groups.deleteagroup
        with:
          orgId: rest.orgId
          groupId: rest.groupId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/identity/scim/{orgid}/v2/groups/{groupid}/members
      name: identity-scim-orgid-v2-groups-groupid-members
      description: REST surface for identity-scim-orgId-v2-Groups-groupId-Members.
      operations:
      - method: GET
        name: getgroupmembers
        description: Get Group Members
        call: admin-scim-2-groups.getgroupmembers
        with:
          orgId: rest.orgId
          groupId: rest.groupId
          startIndex: rest.startIndex
          count: rest.count
          memberType: rest.memberType
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: admin-scim-2-groups-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Admin — SCIM 2 Groups. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: create-group
      description: Create a group
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-scim-2-groups.createagroup
      with:
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: search-groups
      description: Search groups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-scim-2-groups.searchgroups
      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
        includeMembers: tools.includeMembers
        memberType: tools.memberType
      outputParameters:
      - type: object
        mapping: $.
    - name: get-group
      description: Get a group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-scim-2-groups.getagroup
      with:
        orgId: tools.orgId
        groupId: tools.groupId
        excludedAttributes: tools.excludedAttributes
      outputParameters:
      - type: object
        mapping: $.
    - name: update-group-put
      description: Update a group with PUT
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin-scim-2-groups.updateagroupwithput
      with:
        orgId: tools.orgId
        groupId: tools.groupId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-group-patch
      description: Update a group with PATCH
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin-scim-2-groups.updateagroupwithpatch
      with:
        orgId: tools.orgId
        groupId: tools.groupId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-group
      description: Delete a group
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: admin-scim-2-groups.deleteagroup
      with:
        orgId: tools.orgId
        groupId: tools.groupId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-group-members
      description: Get Group Members
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-scim-2-groups.getgroupmembers
      with:
        orgId: tools.orgId
        groupId: tools.groupId
        startIndex: tools.startIndex
        count: tools.count
        memberType: tools.memberType
      outputParameters:
      - type: object
        mapping: $.