Documentation
Documentation
https://docs.gitlab.com/api/
APIReference
https://docs.gitlab.com/api/api_resources/
Authentication
https://docs.gitlab.com/api/rest/authentication/
swagger: '2.0'
info:
title: GitLab access_requests invitations API
version: v4
description: Operations related to access requests
host: gitlab.com
produces:
- application/json
tags:
- name: invitations
description: Operations about invitations
paths:
/api/v4/groups/{id}/invitations:
post:
summary: Invite non-members by email address to a group or project.
description: This feature was introduced in GitLab 13.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- name: postApiV4GroupsIdInvitations
in: body
required: true
schema:
$ref: '#/definitions/postApiV4GroupsIdInvitations'
responses:
'201':
description: Invite non-members by email address to a group or project.
schema:
$ref: '#/definitions/API_Entities_Invitation'
tags:
- invitations
operationId: postApiV4GroupsIdInvitations
get:
summary: Get a list of group or project invitations viewable by the authenticated user
description: This feature was introduced in GitLab 13.6
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: query
description: A query string to search for members
type: string
required: false
responses:
'200':
description: Get a list of group or project invitations viewable by the authenticated user
schema:
type: array
items:
$ref: '#/definitions/API_Entities_Invitation'
tags:
- invitations
operationId: getApiV4GroupsIdInvitations
/api/v4/groups/{id}/invitations/{email}:
put:
description: Updates a group or project invitation.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
- name: putApiV4GroupsIdInvitationsEmail
in: body
required: true
schema:
$ref: '#/definitions/putApiV4GroupsIdInvitationsEmail'
responses:
'200':
description: Updates a group or project invitation.
schema:
$ref: '#/definitions/API_Entities_Invitation'
tags:
- invitations
operationId: putApiV4GroupsIdInvitationsEmail
delete:
description: Removes an invitation from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
responses:
'204':
description: Removes an invitation from a group or project.
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Could not delete invitation
tags:
- invitations
operationId: deleteApiV4GroupsIdInvitationsEmail
/api/v4/projects/{id}/invitations:
post:
summary: Invite non-members by email address to a group or project.
description: This feature was introduced in GitLab 13.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- name: postApiV4ProjectsIdInvitations
in: body
required: true
schema:
$ref: '#/definitions/postApiV4ProjectsIdInvitations'
responses:
'201':
description: Invite non-members by email address to a group or project.
schema:
$ref: '#/definitions/API_Entities_Invitation'
tags:
- invitations
operationId: postApiV4ProjectsIdInvitations
get:
summary: Get a list of group or project invitations viewable by the authenticated user
description: This feature was introduced in GitLab 13.6
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: query
description: A query string to search for members
type: string
required: false
responses:
'200':
description: Get a list of group or project invitations viewable by the authenticated user
schema:
type: array
items:
$ref: '#/definitions/API_Entities_Invitation'
tags:
- invitations
operationId: getApiV4ProjectsIdInvitations
/api/v4/projects/{id}/invitations/{email}:
put:
description: Updates a group or project invitation.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
- name: putApiV4ProjectsIdInvitationsEmail
in: body
required: true
schema:
$ref: '#/definitions/putApiV4ProjectsIdInvitationsEmail'
responses:
'200':
description: Updates a group or project invitation.
schema:
$ref: '#/definitions/API_Entities_Invitation'
tags:
- invitations
operationId: putApiV4ProjectsIdInvitationsEmail
delete:
description: Removes an invitation from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
responses:
'204':
description: Removes an invitation from a group or project.
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Could not delete invitation
tags:
- invitations
operationId: deleteApiV4ProjectsIdInvitationsEmail
definitions:
postApiV4ProjectsIdInvitations:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
- 5
email:
type: array
description: The email address to invite, or multiple emails separated by comma
items:
type: string
user_id:
type: array
description: The user ID of the new member or multiple IDs separated by commas.
items:
type: string
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
invite_source:
type: string
description: Source that triggered the member creation process
default: invitations-api
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
required:
- access_level
description: Invite non-members by email address to a group or project.
putApiV4ProjectsIdInvitationsEmail:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
expires_at:
type: string
format: date-time
description: Date string in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`)
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
description: Updates a group or project invitation.
putApiV4GroupsIdInvitationsEmail:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
expires_at:
type: string
format: date-time
description: Date string in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`)
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
description: Updates a group or project invitation.
API_Entities_Invitation:
type: object
properties:
access_level:
type: string
created_at:
type: string
expires_at:
type: string
invite_email:
type: string
invite_token:
type: string
user_name:
type: string
created_by_name:
type: string
required:
- access_level
- created_at
- expires_at
- invite_email
- invite_token
- created_by_name
description: API_Entities_Invitation model
postApiV4GroupsIdInvitations:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
- 5
email:
type: array
description: The email address to invite, or multiple emails separated by comma
items:
type: string
user_id:
type: array
description: The user ID of the new member or multiple IDs separated by commas.
items:
type: string
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
invite_source:
type: string
description: Source that triggered the member creation process
default: invitations-api
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
required:
- access_level
description: Invite non-members by email address to a group or project.
securityDefinitions:
access_token_header:
type: apiKey
name: PRIVATE-TOKEN
in: header
access_token_query:
type: apiKey
name: private_token
in: query