GitLab CI/CD · Capability

GitLab API — members

GitLab API — members. 23 operations. Lead operation: members. Self-contained Naftiko capability covering one Gitlab Ci business surface.

Run with Naftiko Gitlab Cimembers

What You Can Do

DELETE
Deleteapiv4groupsidbillablemembersuserid — Removes a billable member from a group or project.
/v1/api/v4/groups/{id}/billable-members/{user-id}
GET
Getapiv4groupsidbillablemembersuseridindirect — Get the indirect memberships of a billable user of a top-level group.
/v1/api/v4/groups/{id}/billable-members/{user-id}/indirect
GET
Getapiv4groupsidbillablemembersuseridmemberships — Get the direct memberships of a billable user of a top-level group.
/v1/api/v4/groups/{id}/billable-members/{user-id}/memberships
GET
Getapiv4groupsidmembers — Gets a list of group or project members viewable by the authenticated user,
/v1/api/v4/groups/{id}/members
POST
Postapiv4groupsidmembers — Adds a member to a group or project.
/v1/api/v4/groups/{id}/members
GET
Getapiv4groupsidmembersall — Gets a list of group or project members viewable by the authenticated user,
/v1/api/v4/groups/{id}/members/all
GET
Getapiv4groupsidmembersalluserid — Gets a member of a group or project, including those who gained membership through ancestor group
/v1/api/v4/groups/{id}/members/all/{user-id}
POST
Postapiv4groupsidmembersapproveall — Approves all pending members
/v1/api/v4/groups/{id}/members/approve-all
PUT
Putapiv4groupsidmembersmemberidapprove — Approves a pending member
/v1/api/v4/groups/{id}/members/{member-id}/approve
GET
Getapiv4groupsidmembersuserid — Gets a member of a group or project.
/v1/api/v4/groups/{id}/members/{user-id}
PUT
Putapiv4groupsidmembersuserid — Updates a member of a group or project.
/v1/api/v4/groups/{id}/members/{user-id}
DELETE
Deleteapiv4groupsidmembersuserid — Removes a user from a group or project.
/v1/api/v4/groups/{id}/members/{user-id}
POST
Postapiv4groupsidmembersuseridoverride — Overrides the access level of an LDAP group member.
/v1/api/v4/groups/{id}/members/{user-id}/override
DELETE
Deleteapiv4groupsidmembersuseridoverride — Remove an LDAP group member access level override.
/v1/api/v4/groups/{id}/members/{user-id}/override
PUT
Putapiv4groupsidmembersuseridstate — Changes the state of the memberships of a user in the group
/v1/api/v4/groups/{id}/members/{user-id}/state
GET
Getapiv4groupsidpendingmembers — Lists all pending members for a group including invited users
/v1/api/v4/groups/{id}/pending-members
GET
Getapiv4projectsidmembers — Gets a list of group or project members viewable by the authenticated user,
/v1/api/v4/projects/{id}/members
POST
Postapiv4projectsidmembers — Adds a member to a group or project.
/v1/api/v4/projects/{id}/members
GET
Getapiv4projectsidmembersall — Gets a list of group or project members viewable by the authenticated user,
/v1/api/v4/projects/{id}/members/all
GET
Getapiv4projectsidmembersalluserid — Gets a member of a group or project, including those who gained membership through ancestor group
/v1/api/v4/projects/{id}/members/all/{user-id}
GET
Getapiv4projectsidmembersuserid — Gets a member of a group or project.
/v1/api/v4/projects/{id}/members/{user-id}
PUT
Putapiv4projectsidmembersuserid — Updates a member of a group or project.
/v1/api/v4/projects/{id}/members/{user-id}
DELETE
Deleteapiv4projectsidmembersuserid — Removes a user from a group or project.
/v1/api/v4/projects/{id}/members/{user-id}

MCP Tools

removes-billable-member-group-project

Removes a billable member from a group or project.

idempotent
get-indirect-memberships-billable-user

Get the indirect memberships of a billable user of a top-level group.

read-only idempotent
get-direct-memberships-billable-user

Get the direct memberships of a billable user of a top-level group.

read-only idempotent
gets-list-group-project-members

Gets a list of group or project members viewable by the authenticated user,

read-only idempotent
adds-member-group-project

Adds a member to a group or project.

gets-list-group-project-members-2

Gets a list of group or project members viewable by the authenticated user,

read-only idempotent
gets-member-group-project-including

Gets a member of a group or project, including those who gained membership through ancestor group

read-only idempotent
approves-all-pending-members

Approves all pending members

approves-pending-member

Approves a pending member

idempotent
gets-member-group-project

Gets a member of a group or project.

read-only idempotent
updates-member-group-project

Updates a member of a group or project.

idempotent
removes-user-group-project

Removes a user from a group or project.

idempotent
overrides-access-level-ldap-group

Overrides the access level of an LDAP group member.

remove-ldap-group-member-access

Remove an LDAP group member access level override.

idempotent
changes-state-memberships-user-group

Changes the state of the memberships of a user in the group

idempotent
lists-all-pending-members-group

Lists all pending members for a group including invited users

read-only idempotent
gets-list-group-project-members-3

Gets a list of group or project members viewable by the authenticated user,

read-only idempotent
adds-member-group-project-2

Adds a member to a group or project.

gets-list-group-project-members-4

Gets a list of group or project members viewable by the authenticated user,

read-only idempotent
gets-member-group-project-including-2

Gets a member of a group or project, including those who gained membership through ancestor group

read-only idempotent
gets-member-group-project-2

Gets a member of a group or project.

read-only idempotent
updates-member-group-project-2

Updates a member of a group or project.

idempotent
removes-user-group-project-2

Removes a user from a group or project.

idempotent

Capability Spec

gitlab-ci-members.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitLab API — members
  description: 'GitLab API — members. 23 operations. Lead operation: members. Self-contained Naftiko capability covering one
    Gitlab Ci business surface.'
  tags:
  - Gitlab Ci
  - members
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITLAB_CI_API_KEY: GITLAB_CI_API_KEY
capability:
  consumes:
  - type: http
    namespace: gitlab-ci-members
    baseUri: https://gitlab.com
    description: GitLab API — members business capability. Self-contained, no shared references.
    resources:
    - name: api-v4-groups-id-billable_members-user_id
      path: /api/v4/groups/{id}/billable_members/{user_id}
      operations:
      - name: deleteapiv4groupsidbillablemembersuserid
        method: DELETE
        description: Removes a billable member from a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
    - name: api-v4-groups-id-billable_members-user_id-indirect
      path: /api/v4/groups/{id}/billable_members/{user_id}/indirect
      operations:
      - name: getapiv4groupsidbillablemembersuseridindirect
        method: GET
        description: Get the indirect memberships of a billable user of a top-level group.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
    - name: api-v4-groups-id-billable_members-user_id-memberships
      path: /api/v4/groups/{id}/billable_members/{user_id}/memberships
      operations:
      - name: getapiv4groupsidbillablemembersuseridmemberships
        method: GET
        description: Get the direct memberships of a billable user of a top-level group.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
    - name: api-v4-groups-id-members
      path: /api/v4/groups/{id}/members
      operations:
      - name: getapiv4groupsidmembers
        method: GET
        description: Gets a list of group or project members viewable by the authenticated user,
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: query
          in: query
          type: string
          description: A query string to search for members
        - name: user_ids
          in: query
          type: array
          description: Array of user ids to look up for membership
        - name: skip_users
          in: query
          type: array
          description: Array of user ids to be skipped for membership
        - name: show_seat_info
          in: query
          type: boolean
          description: Show seat information for members
        - name: with_saml_identity
          in: query
          type: boolean
          description: List only members with linked SAML identity
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
      - name: postapiv4groupsidmembers
        method: POST
        description: Adds a member to a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: postApiV4GroupsIdMembers
          in: body
          type: string
          required: true
    - name: api-v4-groups-id-members-all
      path: /api/v4/groups/{id}/members/all
      operations:
      - name: getapiv4groupsidmembersall
        method: GET
        description: Gets a list of group or project members viewable by the authenticated user,
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: query
          in: query
          type: string
          description: A query string to search for members
        - name: user_ids
          in: query
          type: array
          description: Array of user ids to look up for membership
        - name: show_seat_info
          in: query
          type: boolean
          description: Show seat information for members
        - name: state
          in: query
          type: string
          description: Filter results by member state
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
    - name: api-v4-groups-id-members-all-user_id
      path: /api/v4/groups/{id}/members/all/{user_id}
      operations:
      - name: getapiv4groupsidmembersalluserid
        method: GET
        description: Gets a member of a group or project, including those who gained membership through ancestor group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
    - name: api-v4-groups-id-members-approve_all
      path: /api/v4/groups/{id}/members/approve_all
      operations:
      - name: postapiv4groupsidmembersapproveall
        method: POST
        description: Approves all pending members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
    - name: api-v4-groups-id-members-member_id-approve
      path: /api/v4/groups/{id}/members/{member_id}/approve
      operations:
      - name: putapiv4groupsidmembersmemberidapprove
        method: PUT
        description: Approves a pending member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: member_id
          in: path
          type: integer
          description: The ID of the member requiring approval
          required: true
    - name: api-v4-groups-id-members-user_id
      path: /api/v4/groups/{id}/members/{user_id}
      operations:
      - name: getapiv4groupsidmembersuserid
        method: GET
        description: Gets a member of a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
      - name: putapiv4groupsidmembersuserid
        method: PUT
        description: Updates a member of a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the new member
          required: true
        - name: putApiV4GroupsIdMembersUserId
          in: body
          type: string
          required: true
      - name: deleteapiv4groupsidmembersuserid
        method: DELETE
        description: Removes a user from a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
        - name: skip_subresources
          in: query
          type: boolean
          description: Flag indicating if the deletion of direct memberships of the removed member in subgroups and projects
            should be skipped
        - name: unassign_issuables
          in: query
          type: boolean
          description: Flag indicating if the removed member should be unassigned from any issues or merge requests within
            given group or project
    - name: api-v4-groups-id-members-user_id-override
      path: /api/v4/groups/{id}/members/{user_id}/override
      operations:
      - name: postapiv4groupsidmembersuseridoverride
        method: POST
        description: Overrides the access level of an LDAP group member.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
      - name: deleteapiv4groupsidmembersuseridoverride
        method: DELETE
        description: Remove an LDAP group member access level override.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
    - name: api-v4-groups-id-members-user_id-state
      path: /api/v4/groups/{id}/members/{user_id}/state
      operations:
      - name: putapiv4groupsidmembersuseridstate
        method: PUT
        description: Changes the state of the memberships of a user in the group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the user
          required: true
        - name: putApiV4GroupsIdMembersUserIdState
          in: body
          type: string
          required: true
    - name: api-v4-groups-id-pending_members
      path: /api/v4/groups/{id}/pending_members
      operations:
      - name: getapiv4groupsidpendingmembers
        method: GET
        description: Lists all pending members for a group including invited users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
    - name: api-v4-projects-id-members
      path: /api/v4/projects/{id}/members
      operations:
      - name: getapiv4projectsidmembers
        method: GET
        description: Gets a list of group or project members viewable by the authenticated user,
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: query
          in: query
          type: string
          description: A query string to search for members
        - name: user_ids
          in: query
          type: array
          description: Array of user ids to look up for membership
        - name: skip_users
          in: query
          type: array
          description: Array of user ids to be skipped for membership
        - name: show_seat_info
          in: query
          type: boolean
          description: Show seat information for members
        - name: with_saml_identity
          in: query
          type: boolean
          description: List only members with linked SAML identity
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
      - name: postapiv4projectsidmembers
        method: POST
        description: Adds a member to a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: postApiV4ProjectsIdMembers
          in: body
          type: string
          required: true
    - name: api-v4-projects-id-members-all
      path: /api/v4/projects/{id}/members/all
      operations:
      - name: getapiv4projectsidmembersall
        method: GET
        description: Gets a list of group or project members viewable by the authenticated user,
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: query
          in: query
          type: string
          description: A query string to search for members
        - name: user_ids
          in: query
          type: array
          description: Array of user ids to look up for membership
        - name: show_seat_info
          in: query
          type: boolean
          description: Show seat information for members
        - name: state
          in: query
          type: string
          description: Filter results by member state
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
    - name: api-v4-projects-id-members-all-user_id
      path: /api/v4/projects/{id}/members/all/{user_id}
      operations:
      - name: getapiv4projectsidmembersalluserid
        method: GET
        description: Gets a member of a group or project, including those who gained membership through ancestor group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
    - name: api-v4-projects-id-members-user_id
      path: /api/v4/projects/{id}/members/{user_id}
      operations:
      - name: getapiv4projectsidmembersuserid
        method: GET
        description: Gets a member of a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
      - name: putapiv4projectsidmembersuserid
        method: PUT
        description: Updates a member of a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the new member
          required: true
        - name: putApiV4ProjectsIdMembersUserId
          in: body
          type: string
          required: true
      - name: deleteapiv4projectsidmembersuserid
        method: DELETE
        description: Removes a user from a group or project.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: user_id
          in: path
          type: integer
          description: The user ID of the member
          required: true
        - name: skip_subresources
          in: query
          type: boolean
          description: Flag indicating if the deletion of direct memberships of the removed member in subgroups and projects
            should be skipped
        - name: unassign_issuables
          in: query
          type: boolean
          description: Flag indicating if the removed member should be unassigned from any issues or merge requests within
            given group or project
  exposes:
  - type: rest
    namespace: gitlab-ci-members-rest
    port: 8080
    description: REST adapter for GitLab API — members. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/v4/groups/{id}/billable-members/{user-id}
      name: api-v4-groups-id-billable-members-user-id
      description: REST surface for api-v4-groups-id-billable_members-user_id.
      operations:
      - method: DELETE
        name: deleteapiv4groupsidbillablemembersuserid
        description: Removes a billable member from a group or project.
        call: gitlab-ci-members.deleteapiv4groupsidbillablemembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/billable-members/{user-id}/indirect
      name: api-v4-groups-id-billable-members-user-id-indirect
      description: REST surface for api-v4-groups-id-billable_members-user_id-indirect.
      operations:
      - method: GET
        name: getapiv4groupsidbillablemembersuseridindirect
        description: Get the indirect memberships of a billable user of a top-level group.
        call: gitlab-ci-members.getapiv4groupsidbillablemembersuseridindirect
        with:
          id: rest.id
          user_id: rest.user_id
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/billable-members/{user-id}/memberships
      name: api-v4-groups-id-billable-members-user-id-memberships
      description: REST surface for api-v4-groups-id-billable_members-user_id-memberships.
      operations:
      - method: GET
        name: getapiv4groupsidbillablemembersuseridmemberships
        description: Get the direct memberships of a billable user of a top-level group.
        call: gitlab-ci-members.getapiv4groupsidbillablemembersuseridmemberships
        with:
          id: rest.id
          user_id: rest.user_id
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members
      name: api-v4-groups-id-members
      description: REST surface for api-v4-groups-id-members.
      operations:
      - method: GET
        name: getapiv4groupsidmembers
        description: Gets a list of group or project members viewable by the authenticated user,
        call: gitlab-ci-members.getapiv4groupsidmembers
        with:
          id: rest.id
          query: rest.query
          user_ids: rest.user_ids
          skip_users: rest.skip_users
          show_seat_info: rest.show_seat_info
          with_saml_identity: rest.with_saml_identity
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postapiv4groupsidmembers
        description: Adds a member to a group or project.
        call: gitlab-ci-members.postapiv4groupsidmembers
        with:
          id: rest.id
          postApiV4GroupsIdMembers: rest.postApiV4GroupsIdMembers
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/all
      name: api-v4-groups-id-members-all
      description: REST surface for api-v4-groups-id-members-all.
      operations:
      - method: GET
        name: getapiv4groupsidmembersall
        description: Gets a list of group or project members viewable by the authenticated user,
        call: gitlab-ci-members.getapiv4groupsidmembersall
        with:
          id: rest.id
          query: rest.query
          user_ids: rest.user_ids
          show_seat_info: rest.show_seat_info
          state: rest.state
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/all/{user-id}
      name: api-v4-groups-id-members-all-user-id
      description: REST surface for api-v4-groups-id-members-all-user_id.
      operations:
      - method: GET
        name: getapiv4groupsidmembersalluserid
        description: Gets a member of a group or project, including those who gained membership through ancestor group
        call: gitlab-ci-members.getapiv4groupsidmembersalluserid
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/approve-all
      name: api-v4-groups-id-members-approve-all
      description: REST surface for api-v4-groups-id-members-approve_all.
      operations:
      - method: POST
        name: postapiv4groupsidmembersapproveall
        description: Approves all pending members
        call: gitlab-ci-members.postapiv4groupsidmembersapproveall
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/{member-id}/approve
      name: api-v4-groups-id-members-member-id-approve
      description: REST surface for api-v4-groups-id-members-member_id-approve.
      operations:
      - method: PUT
        name: putapiv4groupsidmembersmemberidapprove
        description: Approves a pending member
        call: gitlab-ci-members.putapiv4groupsidmembersmemberidapprove
        with:
          id: rest.id
          member_id: rest.member_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/{user-id}
      name: api-v4-groups-id-members-user-id
      description: REST surface for api-v4-groups-id-members-user_id.
      operations:
      - method: GET
        name: getapiv4groupsidmembersuserid
        description: Gets a member of a group or project.
        call: gitlab-ci-members.getapiv4groupsidmembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putapiv4groupsidmembersuserid
        description: Updates a member of a group or project.
        call: gitlab-ci-members.putapiv4groupsidmembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
          putApiV4GroupsIdMembersUserId: rest.putApiV4GroupsIdMembersUserId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4groupsidmembersuserid
        description: Removes a user from a group or project.
        call: gitlab-ci-members.deleteapiv4groupsidmembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
          skip_subresources: rest.skip_subresources
          unassign_issuables: rest.unassign_issuables
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/{user-id}/override
      name: api-v4-groups-id-members-user-id-override
      description: REST surface for api-v4-groups-id-members-user_id-override.
      operations:
      - method: POST
        name: postapiv4groupsidmembersuseridoverride
        description: Overrides the access level of an LDAP group member.
        call: gitlab-ci-members.postapiv4groupsidmembersuseridoverride
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4groupsidmembersuseridoverride
        description: Remove an LDAP group member access level override.
        call: gitlab-ci-members.deleteapiv4groupsidmembersuseridoverride
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/members/{user-id}/state
      name: api-v4-groups-id-members-user-id-state
      description: REST surface for api-v4-groups-id-members-user_id-state.
      operations:
      - method: PUT
        name: putapiv4groupsidmembersuseridstate
        description: Changes the state of the memberships of a user in the group
        call: gitlab-ci-members.putapiv4groupsidmembersuseridstate
        with:
          id: rest.id
          user_id: rest.user_id
          putApiV4GroupsIdMembersUserIdState: rest.putApiV4GroupsIdMembersUserIdState
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/pending-members
      name: api-v4-groups-id-pending-members
      description: REST surface for api-v4-groups-id-pending_members.
      operations:
      - method: GET
        name: getapiv4groupsidpendingmembers
        description: Lists all pending members for a group including invited users
        call: gitlab-ci-members.getapiv4groupsidpendingmembers
        with:
          id: rest.id
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/members
      name: api-v4-projects-id-members
      description: REST surface for api-v4-projects-id-members.
      operations:
      - method: GET
        name: getapiv4projectsidmembers
        description: Gets a list of group or project members viewable by the authenticated user,
        call: gitlab-ci-members.getapiv4projectsidmembers
        with:
          id: rest.id
          query: rest.query
          user_ids: rest.user_ids
          skip_users: rest.skip_users
          show_seat_info: rest.show_seat_info
          with_saml_identity: rest.with_saml_identity
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postapiv4projectsidmembers
        description: Adds a member to a group or project.
        call: gitlab-ci-members.postapiv4projectsidmembers
        with:
          id: rest.id
          postApiV4ProjectsIdMembers: rest.postApiV4ProjectsIdMembers
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/members/all
      name: api-v4-projects-id-members-all
      description: REST surface for api-v4-projects-id-members-all.
      operations:
      - method: GET
        name: getapiv4projectsidmembersall
        description: Gets a list of group or project members viewable by the authenticated user,
        call: gitlab-ci-members.getapiv4projectsidmembersall
        with:
          id: rest.id
          query: rest.query
          user_ids: rest.user_ids
          show_seat_info: rest.show_seat_info
          state: rest.state
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/members/all/{user-id}
      name: api-v4-projects-id-members-all-user-id
      description: REST surface for api-v4-projects-id-members-all-user_id.
      operations:
      - method: GET
        name: getapiv4projectsidmembersalluserid
        description: Gets a member of a group or project, including those who gained membership through ancestor group
        call: gitlab-ci-members.getapiv4projectsidmembersalluserid
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/members/{user-id}
      name: api-v4-projects-id-members-user-id
      description: REST surface for api-v4-projects-id-members-user_id.
      operations:
      - method: GET
        name: getapiv4projectsidmembersuserid
        description: Gets a member of a group or project.
        call: gitlab-ci-members.getapiv4projectsidmembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putapiv4projectsidmembersuserid
        description: Updates a member of a group or project.
        call: gitlab-ci-members.putapiv4projectsidmembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
          putApiV4ProjectsIdMembersUserId: rest.putApiV4ProjectsIdMembersUserId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4projectsidmembersuserid
        description: Removes a user from a group or project.
        call: gitlab-ci-members.deleteapiv4projectsidmembersuserid
        with:
          id: rest.id
          user_id: rest.user_id
          skip_subresources: rest.skip_subresources
          unassign_issuables: rest.unassign_issuables
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gitlab-ci-members-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitLab API — members. One tool per consumed operation, routed inline through thi

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitlab-ci/refs/heads/main/capabilities/gitlab-ci-members.yaml