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: $.