gitlab-org--gitlab-foss/doc/api/openapi/openapi_v2.yaml

393 lines
11 KiB
YAML

---
info:
title: GitLab API
version: v4
swagger: '2.0'
produces:
- application/json
securityDefinitions:
access_token_header:
type: apiKey
name: PRIVATE-TOKEN
in: header
access_token_query:
type: apiKey
name: private_token
in: query
host: gitlab.com
tags:
- name: metadata
description: Operations related to metadata of the GitLab instance
- name: access_requests
description: Operations related to access requests
paths:
"/api/v4/groups/{id}/access_requests/{user_id}":
delete:
summary: Denies an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
responses:
'204':
description: Denies an access request for the given user.
tags:
- access_requests
operationId: deleteApiV4GroupsIdAccessRequestsUserId
"/api/v4/groups/{id}/access_requests/{user_id}/approve":
put:
summary: Approves an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
- in: formData
name: access_level
description: 'A valid access level (defaults: `30`, the Developer role)'
type: integer
format: int32
default: 30
required: false
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: putApiV4GroupsIdAccessRequestsUserIdApprove
"/api/v4/groups/{id}/access_requests":
post:
summary: Requests access for the authenticated user to a group.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: postApiV4GroupsIdAccessRequests
get:
summary: Gets a list of access requests for a group.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
responses:
'200':
description: Gets a list of access requests for a group.
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
tags:
- access_requests
operationId: getApiV4GroupsIdAccessRequests
"/api/v4/projects/{id}/access_requests/{user_id}":
delete:
summary: Denies an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
responses:
'204':
description: Denies an access request for the given user.
tags:
- access_requests
operationId: deleteApiV4ProjectsIdAccessRequestsUserId
"/api/v4/projects/{id}/access_requests/{user_id}/approve":
put:
summary: Approves an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
- in: formData
name: access_level
description: 'A valid access level (defaults: `30`, the Developer role)'
type: integer
format: int32
default: 30
required: false
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: putApiV4ProjectsIdAccessRequestsUserIdApprove
"/api/v4/projects/{id}/access_requests":
post:
summary: Requests access for the authenticated user to a project.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: postApiV4ProjectsIdAccessRequests
get:
summary: Gets a list of access requests for a project.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
responses:
'200':
description: Gets a list of access requests for a project.
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
tags:
- access_requests
operationId: getApiV4ProjectsIdAccessRequests
"/api/v4/metadata":
get:
summary: Retrieve metadata information for this GitLab instance.
description: This feature was introduced in GitLab 15.2.
produces:
- application/json
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_Metadata"
examples:
successful_response:
value:
version: 15.0-pre
revision: c401a659d0c
kas:
enabled: true
externalUrl: grpc://gitlab.example.com:8150
version: 15.0.0
'401':
description: unauthorized operation
tags:
- metadata
operationId: getApiV4Metadata
"/api/v4/version":
get:
summary: Get the version information of the GitLab instance.
description: This feature was introduced in GitLab 8.13 and deprecated in 15.5.
We recommend you instead use the Metadata API.
produces:
- application/json
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_Metadata"
examples:
Example:
value:
version: 15.0-pre
revision: c401a659d0c
kas:
enabled: true
externalUrl: grpc://gitlab.example.com:8150
version: 15.0.0
'401':
description: unauthorized operation
tags:
- metadata
operationId: getApiV4Version
definitions:
API_Entities_AccessRequester:
type: object
properties:
id:
type: string
username:
type: string
name:
type: string
state:
type: string
avatar_url:
type: string
avatar_path:
type: string
custom_attributes:
"$ref": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
is_gitlab_employee:
type: string
email:
type: string
requested_at:
type: string
description: API_Entities_AccessRequester model
API_Entities_CustomAttribute:
type: object
properties:
key:
type: string
value:
type: string
API_Entities_Metadata:
type: object
properties:
version:
type: string
revision:
type: string
kas:
type: object
properties:
enabled:
type: boolean
externalUrl:
type: string
version:
type: string
description: API_Entities_Metadata model