Snyk · Capability

Snyk API — Groups

Snyk API — Groups. 9 operations. Lead operation: Get all groups (Early Access). Self-contained Naftiko capability covering one Snyk business surface.

Run with Naftiko SnykGroups

What You Can Do

GET
Listgroups — Get all groups (Early Access)
/v1/groups
GET
Listgroupmemberships — Get all memberships of the group
/v1/groups/{group-id}/memberships
POST
Creategroupmembership — Create a group membership for a user with role
/v1/groups/{group-id}/memberships
DELETE
Deletegroupmembership — Delete a membership from a group
/v1/groups/{group-id}/memberships/{membership-id}
PATCH
Updategroupusermembership — Update a role from a group membership
/v1/groups/{group-id}/memberships/{membership-id}
GET
Listgroupuserorgmemberships — Get list of org memberships of a group user
/v1/groups/{group-id}/org-memberships
GET
Listgroupssoconnections — Get all SSO connections for a group (Early Access)
/v1/groups/{group-id}/sso-connections
GET
Listgroupssoconnectionusers — Get all users using a given SSO connection (Early Access)
/v1/groups/{group-id}/sso-connections/{sso-id}/users
DELETE
Deleteuser — Delete a user from a Group SSO connection (Early Access)
/v1/groups/{group-id}/sso-connections/{sso-id}/users/{user-id}

MCP Tools

get-all-groups-early-access

Get all groups (Early Access)

read-only idempotent
get-all-memberships-group

Get all memberships of the group

read-only idempotent
create-group-membership-user-role

Create a group membership for a user with role

delete-membership-group

Delete a membership from a group

idempotent
update-role-group-membership

Update a role from a group membership

idempotent
get-list-org-memberships-group

Get list of org memberships of a group user

read-only idempotent
get-all-sso-connections-group

Get all SSO connections for a group (Early Access)

read-only idempotent
get-all-users-using-given

Get all users using a given SSO connection (Early Access)

read-only idempotent
delete-user-group-sso-connection

Delete a user from a Group SSO connection (Early Access)

idempotent

Capability Spec

rest-groups.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Snyk API — Groups
  description: 'Snyk API — Groups. 9 operations. Lead operation: Get all groups (Early Access). Self-contained Naftiko capability
    covering one Snyk business surface.'
  tags:
  - Snyk
  - Groups
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SNYK_API_KEY: SNYK_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-groups
    baseUri: https://api.snyk.io/rest
    description: Snyk API — Groups business capability. Self-contained, no shared references.
    resources:
    - name: groups
      path: /groups
      operations:
      - name: listgroups
        method: GET
        description: Get all groups (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: groups-group_id-memberships
      path: /groups/{group_id}/memberships
      operations:
      - name: listgroupmemberships
        method: GET
        description: Get all memberships of the group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
      - name: creategroupmembership
        method: POST
        description: Create a group membership for a user with role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: groups-group_id-memberships-membership_id
      path: /groups/{group_id}/memberships/{membership_id}
      operations:
      - name: deletegroupmembership
        method: DELETE
        description: Delete a membership from a group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
        - name: membership_id
          in: path
          type: string
          description: The ID of the Group Membership
          required: true
      - name: updategroupusermembership
        method: PATCH
        description: Update a role from a group membership
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
        - name: membership_id
          in: path
          type: string
          description: The ID of the Group Membership
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: groups-group_id-org_memberships
      path: /groups/{group_id}/org_memberships
      operations:
      - name: listgroupuserorgmemberships
        method: GET
        description: Get list of org memberships of a group user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
        - name: user_id
          in: query
          type: string
          description: The ID of the User
          required: true
    - name: groups-group_id-sso_connections
      path: /groups/{group_id}/sso_connections
      operations:
      - name: listgroupssoconnections
        method: GET
        description: Get all SSO connections for a group (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
    - name: groups-group_id-sso_connections-sso_id-users
      path: /groups/{group_id}/sso_connections/{sso_id}/users
      operations:
      - name: listgroupssoconnectionusers
        method: GET
        description: Get all users using a given SSO connection (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
    - name: groups-group_id-sso_connections-sso_id-users-user_id
      path: /groups/{group_id}/sso_connections/{sso_id}/users/{user_id}
      operations:
      - name: deleteuser
        method: DELETE
        description: Delete a user from a Group SSO connection (Early Access)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: group_id
          in: path
          type: string
          description: The ID of the group
          required: true
    authentication:
      type: bearer
      token: '{{env.SNYK_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-groups-rest
    port: 8080
    description: REST adapter for Snyk API — Groups. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/groups
      name: groups
      description: REST surface for groups.
      operations:
      - method: GET
        name: listgroups
        description: Get all groups (Early Access)
        call: rest-groups.listgroups
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/memberships
      name: groups-group-id-memberships
      description: REST surface for groups-group_id-memberships.
      operations:
      - method: GET
        name: listgroupmemberships
        description: Get all memberships of the group
        call: rest-groups.listgroupmemberships
        with:
          group_id: rest.group_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroupmembership
        description: Create a group membership for a user with role
        call: rest-groups.creategroupmembership
        with:
          group_id: rest.group_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/memberships/{membership-id}
      name: groups-group-id-memberships-membership-id
      description: REST surface for groups-group_id-memberships-membership_id.
      operations:
      - method: DELETE
        name: deletegroupmembership
        description: Delete a membership from a group
        call: rest-groups.deletegroupmembership
        with:
          group_id: rest.group_id
          membership_id: rest.membership_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updategroupusermembership
        description: Update a role from a group membership
        call: rest-groups.updategroupusermembership
        with:
          group_id: rest.group_id
          membership_id: rest.membership_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/org-memberships
      name: groups-group-id-org-memberships
      description: REST surface for groups-group_id-org_memberships.
      operations:
      - method: GET
        name: listgroupuserorgmemberships
        description: Get list of org memberships of a group user
        call: rest-groups.listgroupuserorgmemberships
        with:
          group_id: rest.group_id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/sso-connections
      name: groups-group-id-sso-connections
      description: REST surface for groups-group_id-sso_connections.
      operations:
      - method: GET
        name: listgroupssoconnections
        description: Get all SSO connections for a group (Early Access)
        call: rest-groups.listgroupssoconnections
        with:
          group_id: rest.group_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/sso-connections/{sso-id}/users
      name: groups-group-id-sso-connections-sso-id-users
      description: REST surface for groups-group_id-sso_connections-sso_id-users.
      operations:
      - method: GET
        name: listgroupssoconnectionusers
        description: Get all users using a given SSO connection (Early Access)
        call: rest-groups.listgroupssoconnectionusers
        with:
          group_id: rest.group_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{group-id}/sso-connections/{sso-id}/users/{user-id}
      name: groups-group-id-sso-connections-sso-id-users-user-id
      description: REST surface for groups-group_id-sso_connections-sso_id-users-user_id.
      operations:
      - method: DELETE
        name: deleteuser
        description: Delete a user from a Group SSO connection (Early Access)
        call: rest-groups.deleteuser
        with:
          group_id: rest.group_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-groups-mcp
    port: 9090
    transport: http
    description: MCP adapter for Snyk API — Groups. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-all-groups-early-access
      description: Get all groups (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-groups.listgroups
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-memberships-group
      description: Get all memberships of the group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-groups.listgroupmemberships
      with:
        group_id: tools.group_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-group-membership-user-role
      description: Create a group membership for a user with role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-groups.creategroupmembership
      with:
        group_id: tools.group_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-membership-group
      description: Delete a membership from a group
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-groups.deletegroupmembership
      with:
        group_id: tools.group_id
        membership_id: tools.membership_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-role-group-membership
      description: Update a role from a group membership
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-groups.updategroupusermembership
      with:
        group_id: tools.group_id
        membership_id: tools.membership_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-org-memberships-group
      description: Get list of org memberships of a group user
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-groups.listgroupuserorgmemberships
      with:
        group_id: tools.group_id
        user_id: tools.user_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-sso-connections-group
      description: Get all SSO connections for a group (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-groups.listgroupssoconnections
      with:
        group_id: tools.group_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-all-users-using-given
      description: Get all users using a given SSO connection (Early Access)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-groups.listgroupssoconnectionusers
      with:
        group_id: tools.group_id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-user-group-sso-connection
      description: Delete a user from a Group SSO connection (Early Access)
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-groups.deleteuser
      with:
        group_id: tools.group_id
      outputParameters:
      - type: object
        mapping: $.