GitLab CI/CD · Capability

GitLab API — invitations

GitLab API — invitations. 8 operations. Lead operation: Invite non-members by email address to a group or project.. Self-contained Naftiko capability covering one Gitlab Ci business surface.

Run with Naftiko Gitlab Ciinvitations

What You Can Do

POST
Postapiv4groupsidinvitations — Invite non-members by email address to a group or project.
/v1/api/v4/groups/{id}/invitations
GET
Getapiv4groupsidinvitations — Get a list of group or project invitations viewable by the authenticated user
/v1/api/v4/groups/{id}/invitations
PUT
Putapiv4groupsidinvitationsemail — Updates a group or project invitation.
/v1/api/v4/groups/{id}/invitations/{email}
DELETE
Deleteapiv4groupsidinvitationsemail — Removes an invitation from a group or project.
/v1/api/v4/groups/{id}/invitations/{email}
POST
Postapiv4projectsidinvitations — Invite non-members by email address to a group or project.
/v1/api/v4/projects/{id}/invitations
GET
Getapiv4projectsidinvitations — Get a list of group or project invitations viewable by the authenticated user
/v1/api/v4/projects/{id}/invitations
PUT
Putapiv4projectsidinvitationsemail — Updates a group or project invitation.
/v1/api/v4/projects/{id}/invitations/{email}
DELETE
Deleteapiv4projectsidinvitationsemail — Removes an invitation from a group or project.
/v1/api/v4/projects/{id}/invitations/{email}

MCP Tools

invite-non-members-email-address

Invite non-members by email address to a group or project.

get-list-group-project-invitations

Get a list of group or project invitations viewable by the authenticated user

read-only idempotent
updates-group-project-invitation

Updates a group or project invitation.

idempotent
removes-invitation-group-project

Removes an invitation from a group or project.

idempotent
invite-non-members-email-address-2

Invite non-members by email address to a group or project.

get-list-group-project-invitations-2

Get a list of group or project invitations viewable by the authenticated user

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

Updates a group or project invitation.

idempotent
removes-invitation-group-project-2

Removes an invitation from a group or project.

idempotent

Capability Spec

gitlab-ci-invitations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitLab API — invitations
  description: 'GitLab API — invitations. 8 operations. Lead operation: Invite non-members by email address to a group or
    project.. Self-contained Naftiko capability covering one Gitlab Ci business surface.'
  tags:
  - Gitlab Ci
  - invitations
  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-invitations
    baseUri: https://gitlab.com
    description: GitLab API — invitations business capability. Self-contained, no shared references.
    resources:
    - name: api-v4-groups-id-invitations
      path: /api/v4/groups/{id}/invitations
      operations:
      - name: postapiv4groupsidinvitations
        method: POST
        description: Invite non-members by email address 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: postApiV4GroupsIdInvitations
          in: body
          type: string
          required: true
      - name: getapiv4groupsidinvitations
        method: GET
        description: Get a list of group or project invitations 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: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
        - name: query
          in: query
          type: string
          description: A query string to search for members
    - name: api-v4-groups-id-invitations-email
      path: /api/v4/groups/{id}/invitations/{email}
      operations:
      - name: putapiv4groupsidinvitationsemail
        method: PUT
        description: Updates a group or project invitation.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The group ID
          required: true
        - name: email
          in: path
          type: string
          description: The email address of the invitation
          required: true
        - name: putApiV4GroupsIdInvitationsEmail
          in: body
          type: string
          required: true
      - name: deleteapiv4groupsidinvitationsemail
        method: DELETE
        description: Removes an invitation 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: email
          in: path
          type: string
          description: The email address of the invitation
          required: true
    - name: api-v4-projects-id-invitations
      path: /api/v4/projects/{id}/invitations
      operations:
      - name: postapiv4projectsidinvitations
        method: POST
        description: Invite non-members by email address 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: postApiV4ProjectsIdInvitations
          in: body
          type: string
          required: true
      - name: getapiv4projectsidinvitations
        method: GET
        description: Get a list of group or project invitations 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: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
        - name: query
          in: query
          type: string
          description: A query string to search for members
    - name: api-v4-projects-id-invitations-email
      path: /api/v4/projects/{id}/invitations/{email}
      operations:
      - name: putapiv4projectsidinvitationsemail
        method: PUT
        description: Updates a group or project invitation.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The project ID
          required: true
        - name: email
          in: path
          type: string
          description: The email address of the invitation
          required: true
        - name: putApiV4ProjectsIdInvitationsEmail
          in: body
          type: string
          required: true
      - name: deleteapiv4projectsidinvitationsemail
        method: DELETE
        description: Removes an invitation 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: email
          in: path
          type: string
          description: The email address of the invitation
          required: true
  exposes:
  - type: rest
    namespace: gitlab-ci-invitations-rest
    port: 8080
    description: REST adapter for GitLab API — invitations. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v4/groups/{id}/invitations
      name: api-v4-groups-id-invitations
      description: REST surface for api-v4-groups-id-invitations.
      operations:
      - method: POST
        name: postapiv4groupsidinvitations
        description: Invite non-members by email address to a group or project.
        call: gitlab-ci-invitations.postapiv4groupsidinvitations
        with:
          id: rest.id
          postApiV4GroupsIdInvitations: rest.postApiV4GroupsIdInvitations
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getapiv4groupsidinvitations
        description: Get a list of group or project invitations viewable by the authenticated user
        call: gitlab-ci-invitations.getapiv4groupsidinvitations
        with:
          id: rest.id
          page: rest.page
          per_page: rest.per_page
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/invitations/{email}
      name: api-v4-groups-id-invitations-email
      description: REST surface for api-v4-groups-id-invitations-email.
      operations:
      - method: PUT
        name: putapiv4groupsidinvitationsemail
        description: Updates a group or project invitation.
        call: gitlab-ci-invitations.putapiv4groupsidinvitationsemail
        with:
          id: rest.id
          email: rest.email
          putApiV4GroupsIdInvitationsEmail: rest.putApiV4GroupsIdInvitationsEmail
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4groupsidinvitationsemail
        description: Removes an invitation from a group or project.
        call: gitlab-ci-invitations.deleteapiv4groupsidinvitationsemail
        with:
          id: rest.id
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/invitations
      name: api-v4-projects-id-invitations
      description: REST surface for api-v4-projects-id-invitations.
      operations:
      - method: POST
        name: postapiv4projectsidinvitations
        description: Invite non-members by email address to a group or project.
        call: gitlab-ci-invitations.postapiv4projectsidinvitations
        with:
          id: rest.id
          postApiV4ProjectsIdInvitations: rest.postApiV4ProjectsIdInvitations
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getapiv4projectsidinvitations
        description: Get a list of group or project invitations viewable by the authenticated user
        call: gitlab-ci-invitations.getapiv4projectsidinvitations
        with:
          id: rest.id
          page: rest.page
          per_page: rest.per_page
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/projects/{id}/invitations/{email}
      name: api-v4-projects-id-invitations-email
      description: REST surface for api-v4-projects-id-invitations-email.
      operations:
      - method: PUT
        name: putapiv4projectsidinvitationsemail
        description: Updates a group or project invitation.
        call: gitlab-ci-invitations.putapiv4projectsidinvitationsemail
        with:
          id: rest.id
          email: rest.email
          putApiV4ProjectsIdInvitationsEmail: rest.putApiV4ProjectsIdInvitationsEmail
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4projectsidinvitationsemail
        description: Removes an invitation from a group or project.
        call: gitlab-ci-invitations.deleteapiv4projectsidinvitationsemail
        with:
          id: rest.id
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gitlab-ci-invitations-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitLab API — invitations. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: invite-non-members-email-address
      description: Invite non-members by email address to a group or project.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-invitations.postapiv4groupsidinvitations
      with:
        id: tools.id
        postApiV4GroupsIdInvitations: tools.postApiV4GroupsIdInvitations
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-group-project-invitations
      description: Get a list of group or project invitations viewable by the authenticated user
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-invitations.getapiv4groupsidinvitations
      with:
        id: tools.id
        page: tools.page
        per_page: tools.per_page
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-group-project-invitation
      description: Updates a group or project invitation.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gitlab-ci-invitations.putapiv4groupsidinvitationsemail
      with:
        id: tools.id
        email: tools.email
        putApiV4GroupsIdInvitationsEmail: tools.putApiV4GroupsIdInvitationsEmail
      outputParameters:
      - type: object
        mapping: $.
    - name: removes-invitation-group-project
      description: Removes an invitation from a group or project.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gitlab-ci-invitations.deleteapiv4groupsidinvitationsemail
      with:
        id: tools.id
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.
    - name: invite-non-members-email-address-2
      description: Invite non-members by email address to a group or project.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-invitations.postapiv4projectsidinvitations
      with:
        id: tools.id
        postApiV4ProjectsIdInvitations: tools.postApiV4ProjectsIdInvitations
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-group-project-invitations-2
      description: Get a list of group or project invitations viewable by the authenticated user
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-invitations.getapiv4projectsidinvitations
      with:
        id: tools.id
        page: tools.page
        per_page: tools.per_page
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-group-project-invitation-2
      description: Updates a group or project invitation.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gitlab-ci-invitations.putapiv4projectsidinvitationsemail
      with:
        id: tools.id
        email: tools.email
        putApiV4ProjectsIdInvitationsEmail: tools.putApiV4ProjectsIdInvitationsEmail
      outputParameters:
      - type: object
        mapping: $.
    - name: removes-invitation-group-project-2
      description: Removes an invitation from a group or project.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gitlab-ci-invitations.deleteapiv4projectsidinvitationsemail
      with:
        id: tools.id
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.