GitLab

DevOps platform for source code management

docs.gitlab.com/ee/api ↗
Version
v4
OpenAPI
3.0.1
Endpoints
73
Schemas
59
Updated
3 days ago
Developer tools git devops ci-cd
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://www.gitlab.com/api/v4

Authentication

apiKey

Endpoints

Access requests 8 endpoints

GET /groups/{id}/access_requests

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_getListForGroup

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user
page query optional integer Current page number
per_page query optional integer Number of items per page

Responses

200 Gets a list of access requests for a group.
GET /groups/{id}/access_requests
POST /groups/{id}/access_requests

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_authenticateUserToGroup

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user

Responses

200 successful operation
POST /groups/{id}/access_requests
DELETE /groups/{id}/access_requests/{user_id}

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_denyAccessRequest

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user
user_id path required integer The user ID of the access requester

Responses

204 Denies an access request for the given user.
DELETE /groups/{id}/access_requests/{user_id}
PUT /groups/{id}/access_requests/{user_id}/approve

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_approveUserAccess

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user
user_id path required integer The user ID of the access requester

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AccessrequestsApproveUserAccessRequest"
      }
    }
  }
}

Responses

200 successful operation
PUT /groups/{id}/access_requests/{user_id}/approve
GET /projects/{id}/access_requests

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_listForProject

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user
page query optional integer Current page number
per_page query optional integer Number of items per page

Responses

200 Gets a list of access requests for a project.
GET /projects/{id}/access_requests
POST /projects/{id}/access_requests

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_requestAccessToProject

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user

Responses

200 successful operation
POST /projects/{id}/access_requests
DELETE /projects/{id}/access_requests/{user_id}

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_denyAccessRequest

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user
user_id path required integer The user ID of the access requester

Responses

204 Denies an access request for the given user.
DELETE /projects/{id}/access_requests/{user_id}
PUT /projects/{id}/access_requests/{user_id}/approve

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_approveUserAccess

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user
user_id path required integer The user ID of the access requester

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AccessrequestsApproveUserAccessRequest1"
      }
    }
  }
}

Responses

200 successful operation
PUT /projects/{id}/access_requests/{user_id}/approve

Admin 1 endpoints

GET /admin/databases/{database_name}/dictionary/tables/{table_name}

Retrieve dictionary details

operationId: Admin_getDictionaryDetails

Parameters

Name In Required Type Description
database_name path required string The database name
table_name path required string The table name

Responses

200 Retrieve dictionary details
401 401 Unauthorized
403 403 Forbidden
404 404 Not found
GET /admin/databases/{database_name}/dictionary/tables/{table_name}

Alert management 5 endpoints

GET /projects/{id}/alert_management_alerts/{alert_iid}/metric_images

Metric Images for alert

operationId: Alertmanagement_getMetricImages

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
alert_iid path required integer The IID of the Alert

Responses

200 Metric Images for alert
404 Not found
GET /projects/{id}/alert_management_alerts/{alert_iid}/metric_images
POST /projects/{id}/alert_management_alerts/{alert_iid}/metric_images

Upload a metric image for an alert

operationId: Alertmanagement_uploadMetricImageForAlert

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
alert_iid path required integer The IID of the Alert

Request Body

{
  "content": {
    "multipart/form-data": {
      "schema": {
        "$ref": "#/components/schemas/AlertmanagementUploadMetricImageForAlertRequest"
      }
    }
  },
  "required": true
}

Responses

200 Upload a metric image for an alert
403 Forbidden
POST /projects/{id}/alert_management_alerts/{alert_iid}/metric_images
POST /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/authorize

Workhorse authorize metric image file upload

operationId: Alertmanagement_authorizeMetricImageFileUpload

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
alert_iid path required integer The IID of the Alert

Responses

200 Workhorse authorize metric image file upload
403 Forbidden
POST /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/authorize
DELETE /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}

Remove a metric image for an alert

operationId: Alertmanagement_removeMetricImage

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
alert_iid path required integer The IID of the Alert
metric_image_id path required integer The ID of metric image

Responses

204 Remove a metric image for an alert
403 Forbidden
422 Unprocessable entity
DELETE /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}
PUT /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}

Update a metric image for an alert

operationId: Alertmanagement_updateMetricImageForAlert

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
alert_iid path required integer The IID of the Alert
metric_image_id path required integer The ID of metric image

Request Body

{
  "content": {
    "multipart/form-data": {
      "schema": {
        "$ref": "#/components/schemas/AlertmanagementUpdateMetricImageForAlertRequest"
      }
    }
  }
}

Responses

200 Update a metric image for an alert
403 Forbidden
422 Unprocessable entity
PUT /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}

Application 2 endpoints

GET /application/appearance

Get the current appearance

operationId: Application_getCurrentAppearance

Responses

200 Get the current appearance
GET /application/appearance
PUT /application/appearance

Modify appearance

operationId: Application_modifyAppearance

Request Body

{
  "content": {
    "multipart/form-data": {
      "schema": {
        "$ref": "#/components/schemas/ApplicationModifyAppearanceRequest"
      }
    }
  }
}

Responses

200 Modify appearance
PUT /application/appearance

Applications 3 endpoints

GET /applications

List all registered applications

operationId: Applications_listAllRegistered

Responses

200 Get applications
GET /applications
POST /applications

This feature was introduced in GitLab 10.5

operationId: Applications_createNewApplication

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ApplicationsCreateNewApplicationRequest"
      }
    }
  },
  "required": true
}

Responses

200 Create a new application
POST /applications
DELETE /applications/{id}

Delete a specific application

operationId: Applications_removeSpecificApplication

Parameters

Name In Required Type Description
id path required integer The ID of the application (not the application_id)

Responses

204 Delete an application
DELETE /applications/{id}

Avatar 1 endpoints

GET /avatar

Return avatar url for a user

operationId: Avatar_getUserAvatarUrl

Parameters

Name In Required Type Description
email query required string Public email address of the user
size query optional integer Single pixel dimension for Gravatar images

Responses

200 Return avatar url for a user
GET /avatar

Badges 12 endpoints

GET /groups/{id}/badges

This feature was introduced in GitLab 10.6.

operationId: Badges_listViewableByAuthenticatedUser

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user.
page query optional integer Current page number
per_page query optional integer Number of items per page
name query optional string Name for the badge

Responses

200 Gets a list of group badges viewable by the authenticated user.
GET /groups/{id}/badges
POST /groups/{id}/badges

This feature was introduced in GitLab 10.6.

operationId: Badges_addToGroup

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BadgesAddToGroupRequest"
      }
    }
  },
  "required": true
}

Responses

201 Adds a badge to a group.
POST /groups/{id}/badges
GET /groups/{id}/badges/render

This feature was introduced in GitLab 10.6.

operationId: Badges_previewFromGroup

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user.
link_url query required string URL of the badge link
image_url query required string URL of the badge image

Responses

200 Preview a badge from a group.
GET /groups/{id}/badges/render
DELETE /groups/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_removeFromGroup

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user.
badge_id path required integer The badge ID

Responses

204 Removes a badge from the group.
DELETE /groups/{id}/badges/{badge_id}
GET /groups/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_getGroupBadge

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user.
badge_id path required integer The badge ID

Responses

200 Gets a badge of a group.
GET /groups/{id}/badges/{badge_id}
PUT /groups/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_updateGroupBadge

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the group owned by the authenticated user.
badge_id path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BadgesUpdateGroupBadgeRequest"
      }
    }
  }
}

Responses

200 Updates a badge of a group.
PUT /groups/{id}/badges/{badge_id}
GET /projects/{id}/badges

This feature was introduced in GitLab 10.6.

operationId: Badges_listViewableByAuthenticatedUser

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user.
page query optional integer Current page number
per_page query optional integer Number of items per page
name query optional string Name for the badge

Responses

200 Gets a list of project badges viewable by the authenticated user.
GET /projects/{id}/badges
POST /projects/{id}/badges

This feature was introduced in GitLab 10.6.

operationId: Badges_addToProject

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BadgesAddToProjectRequest"
      }
    }
  },
  "required": true
}

Responses

201 Adds a badge to a project.
POST /projects/{id}/badges
GET /projects/{id}/badges/render

This feature was introduced in GitLab 10.6.

operationId: Badges_previewFromProject

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user.
link_url query required string URL of the badge link
image_url query required string URL of the badge image

Responses

200 Preview a badge from a project.
GET /projects/{id}/badges/render
DELETE /projects/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_removeFromProject

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user.
badge_id path required integer The badge ID

Responses

204 Removes a badge from the project.
DELETE /projects/{id}/badges/{badge_id}
GET /projects/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_getProjectBadge

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user.
badge_id path required integer The badge ID

Responses

200 Gets a badge of a project.
GET /projects/{id}/badges/{badge_id}
PUT /projects/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_updateProjectBadge

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project owned by the authenticated user.
badge_id path required integer

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BadgesUpdateProjectBadgeRequest"
      }
    }
  }
}

Responses

200 Updates a badge of a project.
PUT /projects/{id}/badges/{badge_id}

Batched background migrations 4 endpoints

GET /admin/batched_background_migrations

Get the list of batched background migrations

operationId: Batchedbackgroundmigrations_listMigrations

Parameters

Name In Required Type Description
database query optional string The name of the database, the default `main`

Responses

200 Get the list of batched background migrations
401 401 Unauthorized
403 403 Forbidden
GET /admin/batched_background_migrations
GET /admin/batched_background_migrations/{id}

Retrieve a batched background migration

operationId: Batchedbackgroundmigrations_getMigration

Parameters

Name In Required Type Description
database query optional string The name of the database
id path required integer The batched background migration id

Responses

200 Retrieve a batched background migration
401 401 Unauthorized
403 403 Forbidden
404 404 Not found
GET /admin/batched_background_migrations/{id}
PUT /admin/batched_background_migrations/{id}/pause

Pause a batched background migration

operationId: Batchedbackgroundmigrations_pauseMigration

Parameters

Name In Required Type Description
id path required integer The batched background migration id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BatchedbackgroundmigrationsPauseMigrationRequest"
      }
    }
  }
}

Responses

200 Pause a batched background migration
401 401 Unauthorized
403 403 Forbidden
404 404 Not found
422 You can pause only `active` batched background migrations.
PUT /admin/batched_background_migrations/{id}/pause
PUT /admin/batched_background_migrations/{id}/resume

Resume a batched background migration

operationId: Batchedbackgroundmigrations_resumeMigration

Parameters

Name In Required Type Description
id path required integer The batched background migration id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BatchedbackgroundmigrationsResumeMigrationRequest"
      }
    }
  }
}

Responses

200 Resume a batched background migration
401 401 Unauthorized
403 403 Forbidden
404 404 Not found
422 You can resume only `paused` batched background migrations.
PUT /admin/batched_background_migrations/{id}/resume

Branches 8 endpoints

GET /projects/{id}/repository/branches

Get a project repository branches

operationId: Branches_getProjectRepository

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
page query optional integer Current page number
per_page query optional integer Number of items per page
search query optional string Return list of branches matching the search criteria
regex query optional string Return list of branches matching the regex
sort query optional string Return list of branches sorted by the given field
page_token query optional string Name of branch to start the pagination from

Responses

200 Get a project repository branches
404 404 Project Not Found
GET /projects/{id}/repository/branches
POST /projects/{id}/repository/branches

Create branch

operationId: Branches_createBranch

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
branch query required string The name of the branch
ref query required string Create branch from commit sha or existing branch

Responses

201 Create branch
400 Failed to create branch
POST /projects/{id}/repository/branches
DELETE /projects/{id}/repository/branches/{branch}

Delete a branch

operationId: Branches_deleteBranch

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
branch path required string The name of the branch

Responses

204 Delete a branch
404 Branch Not Found
DELETE /projects/{id}/repository/branches/{branch}
GET /projects/{id}/repository/branches/{branch}

Get a single repository branch

operationId: Branches_getSingleBranch

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
branch path required integer

Responses

200 Get a single repository branch
404 Branch Not Found
GET /projects/{id}/repository/branches/{branch}
HEAD /projects/{id}/repository/branches/{branch}

Check if a branch exists

operationId: Branches_checkExistence

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
branch path required string The name of the branch

Responses

204 No Content
404 Not Found
HEAD /projects/{id}/repository/branches/{branch}
PUT /projects/{id}/repository/branches/{branch}/protect

Protect a single branch

operationId: Branches_protectBranch

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
branch path required string The name of the branch

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BranchesProtectBranchRequest"
      }
    }
  }
}

Responses

200 Protect a single branch
404 404 Branch Not Found
PUT /projects/{id}/repository/branches/{branch}/protect
PUT /projects/{id}/repository/branches/{branch}/unprotect

Unprotect a single branch

operationId: Branches_unprotectBranch

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project
branch path required string The name of the branch

Responses

200 Unprotect a single branch
404 404 Project Not Found
PUT /projects/{id}/repository/branches/{branch}/unprotect
DELETE /projects/{id}/repository/merged_branches

Delete all merged branches

operationId: Branches_removeMergedBranches

Parameters

Name In Required Type Description
id path required string The ID or URL-encoded path of the project

Responses

202 202 Accepted
404 404 Project Not Found
DELETE /projects/{id}/repository/merged_branches

Broadcast messages 5 endpoints

GET /broadcast_messages

This feature was introduced in GitLab 8.12.

operationId: Broadcastmessages_getAllMessages

Parameters

Name In Required Type Description
page query optional integer Current page number
per_page query optional integer Number of items per page

Responses

200 Get all broadcast messages
GET /broadcast_messages
POST /broadcast_messages

This feature was introduced in GitLab 8.12.

operationId: Broadcastmessages_createMessage

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BroadcastmessagesCreateMessageRequest"
      }
    }
  },
  "required": true
}

Responses

201 Create a broadcast message
POST /broadcast_messages
DELETE /broadcast_messages/{id}

This feature was introduced in GitLab 8.12.

operationId: Broadcastmessages_deleteMessage

Parameters

Name In Required Type Description
id path required integer Broadcast message ID

Responses

200 Delete a broadcast message
DELETE /broadcast_messages/{id}
GET /broadcast_messages/{id}

This feature was introduced in GitLab 8.12.

operationId: Broadcastmessages_getSpecificMessage

Parameters

Name In Required Type Description
id path required integer Broadcast message ID

Responses

200 Get a specific broadcast message
GET /broadcast_messages/{id}
PUT /broadcast_messages/{id}

This feature was introduced in GitLab 8.12.

operationId: Broadcastmessages_updateMessageById

Parameters

Name In Required Type Description
id path required integer Broadcast message ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BroadcastmessagesUpdateMessageByIdRequest"
      }
    }
  }
}

Responses

200 Update a broadcast message
PUT /broadcast_messages/{id}

Bulk imports 6 endpoints

GET /bulk_imports

This feature was introduced in GitLab 14.1.

operationId: Bulkimports_listMigrations

Parameters

Name In Required Type Description
page query optional integer Current page number
per_page query optional integer Number of items per page
sort query optional string Return GitLab Migrations sorted in created by `asc` or `desc` order.
status query optional string Return GitLab Migrations with specified status

Responses

200 List all GitLab Migrations
401 Unauthorized
404 Not found
503 Service unavailable
GET /bulk_imports
POST /bulk_imports

This feature was introduced in GitLab 14.2.

operationId: Bulkimports_startMigration

Request Body

{
  "content": {
    "application/x-www-form-urlencoded": {
      "schema": {
        "$ref": "#/components/schemas/BulkimportsStartMigrationRequest"
      }
    }
  },
  "required": true
}

Responses

200 Start a new GitLab Migration
400 Bad request
401 Unauthorized
404 Not found
422 Unprocessable entity
503 Service unavailable
POST /bulk_imports
GET /bulk_imports/entities

This feature was introduced in GitLab 14.1.

operationId: Bulkimports_listEntities

Parameters

Name In Required Type Description
page query optional integer Current page number
per_page query optional integer Number of items per page
sort query optional string Return GitLab Migrations sorted in created by `asc` or `desc` order.
status query optional string Return all GitLab Migrations' entities with specified status

Responses

200 List all GitLab Migrations' entities
401 Unauthorized
404 Not found
503 Service unavailable
GET /bulk_imports/entities
GET /bulk_imports/{import_id}

This feature was introduced in GitLab 14.1.

operationId: Bulkimports_getMigrationDetails

Parameters

Name In Required Type Description
import_id path required integer The ID of user's GitLab Migration

Responses

200 Get GitLab Migration details
401 Unauthorized
404 Not found
503 Service unavailable
GET /bulk_imports/{import_id}
GET /bulk_imports/{import_id}/entities

This feature was introduced in GitLab 14.1.

operationId: Bulkimports_listEntities

Parameters

Name In Required Type Description
import_id path required integer The ID of user's GitLab Migration
status query optional string Return import entities with specified status
page query optional integer Current page number
per_page query optional integer Number of items per page

Responses

200 List GitLab Migration entities
401 Unauthorized
404 Not found
503 Service unavailable
GET /bulk_imports/{import_id}/entities
GET /bulk_imports/{import_id}/entities/{entity_id}

This feature was introduced in GitLab 14.1.

operationId: Bulkimports_getEntityDetails

Parameters

Name In Required Type Description
import_id path required integer The ID of user's GitLab Migration
entity_id path required integer The ID of GitLab Migration entity

Responses

200 Get GitLab Migration entity details
401 Unauthorized
404 Not found
503 Service unavailable
GET /bulk_imports/{import_id}/entities/{entity_id}

Ci variables 5 endpoints

GET /admin/ci/variables

List all instance-level variables

operationId: Civariables_listAllInstanceVariables

Parameters

Name In Required Type Description
page query optional integer Current page number
per_page query optional integer Number of items per page

Responses

200 List all instance-level variables
GET /admin/ci/variables
POST /admin/ci/variables

Create a new instance-level variable

operationId: Civariables_createNewInstanceLevelVariable

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CivariablesCreateNewInstanceLevelVariableRequest"
      }
    }
  },
  "required": true
}

Responses

201 Create a new instance-level variable
400 400 Bad Request
POST /admin/ci/variables
DELETE /admin/ci/variables/{key}

Delete an existing instance-level variable

operationId: Civariables_deleteInstanceVariable

Parameters

Name In Required Type Description
key path required string The key of a variable

Responses

204 Delete an existing instance-level variable
404 Instance Variable Not Found
DELETE /admin/ci/variables/{key}
GET /admin/ci/variables/{key}

Get the details of a specific instance-level variable

operationId: Civariables_getInstanceVariableDetails

Parameters

Name In Required Type Description
key path required string The key of a variable

Responses

200 Get the details of a specific instance-level variable
404 Instance Variable Not Found
GET /admin/ci/variables/{key}
PUT /admin/ci/variables/{key}

Update an instance-level variable

operationId: Civariables_updateInstanceVariable

Parameters

Name In Required Type Description
key path required string The key of a variable

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CivariablesUpdateInstanceVariableRequest"
      }
    }
  }
}

Responses

200 Update an instance-level variable
404 Instance Variable Not Found
PUT /admin/ci/variables/{key}

Clusters 5 endpoints

GET /admin/clusters

This feature was introduced in GitLab 13.2. Returns a list of instance clusters.

operationId: Clusters_listInstanceClusters

Responses

200 List instance clusters
403 Forbidden
GET /admin/clusters
POST /admin/clusters/add

This feature was introduced in GitLab 13.2. Adds an existing Kubernetes instance cluster.

operationId: Clusters_addExistingInstance

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ClustersAddExistingInstanceRequest"
      }
    }
  },
  "required": true
}

Responses

201 Add existing instance cluster
400 Validation error
403 Forbidden
404 Not found
POST /admin/clusters/add
DELETE /admin/clusters/{cluster_id}

This feature was introduced in GitLab 13.2. Deletes an existing instance cluster. Does not remove existing resources within the connected Kubernetes cluster.

operationId: Clusters_deleteInstanceCluster

Parameters

Name In Required Type Description
cluster_id path required integer The cluster ID

Responses

204 Delete instance cluster
403 Forbidden
404 Not found
DELETE /admin/clusters/{cluster_id}
GET /admin/clusters/{cluster_id}

This feature was introduced in GitLab 13.2. Returns a single instance cluster.

operationId: Clusters_getSingleInstance

Parameters

Name In Required Type Description
cluster_id path required integer The cluster ID

Responses

200 Get a single instance cluster
403 Forbidden
404 Not found
GET /admin/clusters/{cluster_id}
PUT /admin/clusters/{cluster_id}

This feature was introduced in GitLab 13.2. Updates an existing instance cluster.

operationId: Clusters_updateInstanceCluster

Parameters

Name In Required Type Description
cluster_id path required integer The cluster ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ClustersUpdateInstanceClusterRequest"
      }
    }
  }
}

Responses

200 Edit instance cluster
400 Validation error
403 Forbidden
404 Not found
PUT /admin/clusters/{cluster_id}

Jobs 3 endpoints

GET /projects/{id}/jobs
operationId: Jobs_listForProject

Parameters

Name In Required Type Description
id path required integer The ID of the project
scope query optional array Return all jobs with the specified statuses

Responses

200 An array of jobs
GET /projects/{id}/jobs
GET /projects/{id}/jobs/{job_id}
operationId: Jobs_getById

Parameters

Name In Required Type Description
id path required integer The ID of the project
job_id path required integer The ID of the job

Responses

200 A single job object
GET /projects/{id}/jobs/{job_id}
POST /projects/{id}/jobs/{job_id}/play
operationId: Jobs_runManualJob

Parameters

Name In Required Type Description
id path required integer The ID of the project
job_id path required integer The ID of the manual job to run
job_variables_attributes query optional array An array containing the custom variables available to the job

Responses

200 Job started successfully
POST /projects/{id}/jobs/{job_id}/play

Metadata 2 endpoints

GET /metadata

This feature was introduced in GitLab 15.2.

operationId: Metadata_getInformation

Responses

200 Retrieve metadata information for this GitLab instance
401 Unauthorized
GET /metadata
GET /version

This feature was introduced in GitLab 8.13 and deprecated in 15.5. We recommend you instead use the Metadata API.

operationId: Metadata_getVersionInfo

Responses

200 Retrieves version information for the GitLab instance
401 Unauthorized
GET /version

Migrations 1 endpoints

POST /admin/migrations/{timestamp}/mark

Mark the migration as successfully executed

operationId: Migrations_markAsExecuted

Parameters

Name In Required Type Description
timestamp path required integer The migration version timestamp

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/MigrationsMarkAsExecutedRequest"
      }
    }
  }
}

Responses

201 201 Created
401 401 Unauthorized
403 403 Forbidden
404 404 Not found
422 You can mark only pending migrations
POST /admin/migrations/{timestamp}/mark

Plan limits 2 endpoints

GET /application/plan_limits

List the current limits of a plan on the GitLab instance.

operationId: Planlimits_getCurrentLimits

Parameters

Name In Required Type Description
plan_name query optional string Name of the plan to get the limits from. Default: default.

Responses

200 Get current plan limits
401 Unauthorized
403 Forbidden
GET /application/plan_limits
PUT /application/plan_limits

Modify the limits of a plan on the GitLab instance.

operationId: Planlimits_modifyPlanLimits

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PlanlimitsModifyPlanLimitsRequest"
      }
    }
  },
  "required": true
}

Responses

200 Change plan limits
400 Bad request
401 Unauthorized
403 Forbidden
PUT /application/plan_limits

Schemas

object API_Entities_AccessRequester
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "name": {
      "type": "string",
      "example": "Administrator"
    },
    "email": {
      "type": "string"
    },
    "state": {
      "type": "string",
      "example": "active"
    },
    "web_url": {
      "type": "string",
      "example": "https://gitlab.example.com/root"
    },
    "username": {
      "type": "string",
      "example": "admin"
    },
    "avatar_url": {
      "type": "string",
      "example": "https://gravatar.com/avatar/1"
    },
    "avatar_path": {
      "type": "string",
      "example": "/user/avatar/28/The-Big-Lebowski-400-400.png"
    },
    "requested_at": {
      "type": "string"
    },
    "custom_attributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/API_Entities_CustomAttribute"
      }
    }
  },
  "description": "API_Entities_AccessRequester model"
}
object API_Entities_Appearance
{
  "type": "object",
  "properties": {
    "logo": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "favicon": {
      "type": "string"
    },
    "pwa_icon": {
      "type": "string"
    },
    "pwa_name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "header_logo": {
      "type": "string"
    },
    "footer_message": {
      "type": "string"
    },
    "header_message": {
      "type": "string"
    },
    "pwa_short_name": {
      "type": "string"
    },
    "pwa_description": {
      "type": "string"
    },
    "message_font_color": {
      "type": "string"
    },
    "new_project_guidelines": {
      "type": "string"
    },
    "message_background_color": {
      "type": "string"
    },
    "profile_image_guidelines": {
      "type": "string"
    },
    "email_header_and_footer_enabled": {
      "type": "string"
    }
  },
  "description": "API_Entities_Appearance model"
}
object API_Entities_Application
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "callback_url": {
      "type": "string",
      "example": "https://redirect.uri"
    },
    "confidential": {
      "type": "boolean",
      "example": true
    },
    "application_id": {
      "type": "string",
      "example": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737"
    },
    "application_name": {
      "type": "string",
      "example": "MyApplication"
    }
  },
  "description": "API_Entities_Application model"
}
object API_Entities_ApplicationWithSecret
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "secret": {
      "type": "string",
      "example": "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34"
    },
    "callback_url": {
      "type": "string",
      "example": "https://redirect.uri"
    },
    "confidential": {
      "type": "boolean",
      "example": true
    },
    "application_id": {
      "type": "string",
      "example": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737"
    },
    "application_name": {
      "type": "string",
      "example": "MyApplication"
    }
  },
  "description": "API_Entities_ApplicationWithSecret model"
}
object API_Entities_Avatar
{
  "type": "object",
  "properties": {
    "avatar_url": {
      "type": "string"
    }
  },
  "description": "API_Entities_Avatar model"
}
object API_Entities_Badge
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "link_url": {
      "type": "string"
    },
    "image_url": {
      "type": "string"
    },
    "rendered_link_url": {
      "type": "string"
    },
    "rendered_image_url": {
      "type": "string"
    }
  },
  "description": "API_Entities_Badge model"
}
object API_Entities_BasicBadgeDetails
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "link_url": {
      "type": "string"
    },
    "image_url": {
      "type": "string"
    },
    "rendered_link_url": {
      "type": "string"
    },
    "rendered_image_url": {
      "type": "string"
    }
  },
  "description": "API_Entities_BasicBadgeDetails model"
}
object API_Entities_BatchedBackgroundMigration
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "1234"
    },
    "status": {
      "type": "string",
      "example": "active"
    },
    "progress": {
      "type": "number",
      "format": "float",
      "example": 50
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2022-11-28T14:26:39.000Z"
    },
    "table_name": {
      "type": "string",
      "example": "events"
    },
    "job_class_name": {
      "type": "string",
      "example": "CopyColumnUsingBackgroundMigrationJob"
    }
  },
  "description": "API_Entities_BatchedBackgroundMigration model"
}
object API_Entities_Branch
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "master"
    },
    "commit": {
      "$ref": "#/components/schemas/API_Entities_Commit"
    },
    "merged": {
      "type": "boolean",
      "example": true
    },
    "default": {
      "type": "boolean",
      "example": true
    },
    "web_url": {
      "type": "string",
      "example": "https://gitlab.example.com/Commit921/the-dude/-/tree/master"
    },
    "can_push": {
      "type": "boolean",
      "example": true
    },
    "protected": {
      "type": "boolean",
      "example": true
    },
    "developers_can_push": {
      "type": "boolean",
      "example": true
    },
    "developers_can_merge": {
      "type": "boolean",
      "example": true
    }
  },
  "description": "API_Entities_Branch model"
}
object API_Entities_BroadcastMessage
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "font": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "active": {
      "type": "string"
    },
    "ends_at": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "starts_at": {
      "type": "string"
    },
    "dismissable": {
      "type": "string"
    },
    "target_path": {
      "type": "string"
    },
    "broadcast_type": {
      "type": "string"
    },
    "target_access_levels": {
      "type": "string"
    }
  },
  "description": "API_Entities_BroadcastMessage model"
}
object API_Entities_BulkImport
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "status": {
      "enum": [
        "created",
        "started",
        "finished",
        "timeout",
        "failed"
      ],
      "type": "string",
      "example": "finished"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "source_type": {
      "type": "string",
      "example": "gitlab"
    }
  },
  "description": "API_Entities_BulkImport model"
}
object API_Entities_BulkImports
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "status": {
      "enum": [
        "created",
        "started",
        "finished",
        "timeout",
        "failed"
      ],
      "type": "string",
      "example": "created"
    },
    "failures": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/API_Entities_BulkImports_EntityFailure"
      }
    },
    "parent_id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "project_id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "entity_type": {
      "enum": [
        "group",
        "project"
      ],
      "type": "string"
    },
    "namespace_id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "bulk_import_id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "destination_name": {
      "type": "string",
      "example": "destination_slug"
    },
    "destination_slug": {
      "type": "string",
      "example": "destination_slug"
    },
    "migrate_projects": {
      "type": "boolean",
      "example": true
    },
    "source_full_path": {
      "type": "string",
      "example": "source_group"
    },
    "destination_full_path": {
      "type": "string",
      "example": "some_group/source_project"
    },
    "destination_namespace": {
      "type": "string",
      "example": "destination_path"
    }
  },
  "description": "API_Entities_BulkImports model"
}
object API_Entities_BulkImports_EntityFailure
{
  "type": "object",
  "properties": {
    "step": {
      "type": "string",
      "example": "extractor"
    },
    "relation": {
      "type": "string",
      "example": "group"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "pipeline_step": {
      "type": "string",
      "example": "extractor"
    },
    "pipeline_class": {
      "type": "string",
      "example": "BulkImports::Groups::Pipelines::GroupPipeline"
    },
    "exception_class": {
      "type": "string",
      "example": "Exception"
    },
    "exception_message": {
      "type": "string",
      "example": "error message"
    },
    "correlation_id_value": {
      "type": "string",
      "example": "dfcf583058ed4508e4c7c617bd7f0edd"
    }
  }
}
object API_Entities_Ci_Variable
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "example": "TEST_VARIABLE_1"
    },
    "raw": {
      "type": "boolean"
    },
    "value": {
      "type": "string",
      "example": "TEST_1"
    },
    "masked": {
      "type": "boolean"
    },
    "protected": {
      "type": "boolean"
    },
    "variable_type": {
      "type": "string",
      "example": "env_var"
    },
    "environment_scope": {
      "type": "string",
      "example": "*"
    }
  },
  "description": "API_Entities_Ci_Variable model"
}
object API_Entities_Cluster
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/API_Entities_UserBasic"
    },
    "domain": {
      "type": "string"
    },
    "enabled": {
      "type": "string"
    },
    "managed": {
      "type": "string"
    },
    "created_at": {
      "type": "string"
    },
    "cluster_type": {
      "type": "string"
    },
    "provider_gcp": {
      "$ref": "#/components/schemas/API_Entities_Provider_Gcp"
    },
    "platform_type": {
      "type": "string"
    },
    "provider_type": {
      "type": "string"
    },
    "environment_scope": {
      "type": "string"
    },
    "management_project": {
      "$ref": "#/components/schemas/API_Entities_ProjectIdentity"
    },
    "platform_kubernetes": {
      "$ref": "#/components/schemas/API_Entities_Platform_Kubernetes"
    },
    "namespace_per_environment": {
      "type": "string"
    }
  },
  "description": "API_Entities_Cluster model"
}
object API_Entities_Commit
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "2695effb5807a22ff3d138d593fd856244e155e7"
    },
    "title": {
      "type": "string",
      "example": "Initial commit"
    },
    "message": {
      "type": "string",
      "example": "Initial commit"
    },
    "web_url": {
      "type": "string",
      "example": "https://gitlab.example.com/janedoe/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746"
    },
    "short_id": {
      "type": "string",
      "example": "2695effb"
    },
    "trailers": {
      "type": "object",
      "example": "{ \"Merged-By\": \"Jane Doe janedoe@gitlab.com\" }",
      "properties": {}
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2017-07-26T09:08:53.000Z"
    },
    "parent_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "2a4b78934375d7f53875269ffd4f45fd83a84ebe"
      }
    },
    "author_name": {
      "type": "string",
      "example": "John Smith"
    },
    "author_email": {
      "type": "string",
      "example": "john@example.com"
    },
    "authored_date": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "committed_date": {
      "type": "string",
      "format": "date-time",
      "example": "2012-05-28T11:42:42.000Z"
    },
    "committer_name": {
      "type": "string",
      "example": "Jack Smith"
    },
    "committer_email": {
      "type": "string",
      "example": "jack@example.com"
    }
  }
}
object API_Entities_CustomAttribute
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "example": "foo"
    },
    "value": {
      "type": "string",
      "example": "bar"
    }
  }
}
object API_Entities_Dictionary_Table
{
  "type": "object",
  "properties": {
    "table_name": {
      "type": "string",
      "example": "users"
    },
    "feature_categories": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "database"
      }
    }
  },
  "description": "API_Entities_Dictionary_Table model"
}
object API_Entities_Job
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID of the job"
    },
    "ref": {
      "type": "string",
      "description": "The reference for the job"
    },
    "tag": {
      "type": "boolean",
      "description": "Indicates if the job is tagged"
    },
    "name": {
      "type": "string",
      "description": "The name of the job"
    },
    "user": {
      "$ref": "#/components/schemas/API_Entities_UserBasic",
      "description": "The user that started the job"
    },
    "stage": {
      "type": "string",
      "description": "The stage of the job in the CI/CD pipeline"
    },
    "commit": {
      "$ref": "#/components/schemas/API_Entities_Commit"
    },
    "status": {
      "type": "string",
      "description": "The current status of the job"
    },
    "project": {
      "type": "object",
      "properties": {
        "ci_job_token_scope_enabled": {
          "type": "boolean",
          "description": "Indicates if the CI/CD job token scope setting is enabled for the project"
        }
      }
    },
    "web_url": {
      "type": "string",
      "description": "The URL for accessing the job in the web interface"
    },
    "archived": {
      "type": "boolean",
      "description": "Indicates if the job is archived"
    },
    "duration": {
      "type": "integer",
      "description": "The duration of the job in seconds"
    },
    "artifacts": {
      "type": "array",
      "items": {
        "description": "WARNING: Missing items property in array schema. Missing items property has been filled with this AnyType schema."
      },
      "description": "The artifacts produced by the job"
    },
    "erased_at": {
      "type": "string",
      "format": "date-time",
      "example": "2016-01-11T10:13:33.506Z",
      "description": "The time when the job was erased, if applicable"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2016-01-11T10:13:33.506Z",
      "description": "The creation time of the job"
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "example": "2016-01-11T10:13:33.506Z",
      "description": "The start time of the job"
    },
    "finished_at": {
      "type": "string",
      "format": "date-time",
      "example": "2016-01-11T10:13:33.506Z",
      "description": "The finish time of the job"
    },
    "allow_failure": {
      "type": "boolean",
      "description": "Indicates if the job is allowed to fail"
    },
    "queued_duration": {
      "type": "number",
      "description": "The duration the job was queued before execution, in seconds"
    }
  },
  "description": "API_Entities_Job model"
}
object API_Entities_Metadata
{
  "type": "object",
  "properties": {
    "kas": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "version": {
          "type": "string",
          "example": "15.0.0"
        },
        "externalUrl": {
          "type": "string",
          "example": "grpc://gitlab.example.com:8150"
        }
      }
    },
    "version": {
      "type": "string",
      "example": "15.2-pre"
    },
    "revision": {
      "type": "string",
      "example": "c401a659d0c"
    },
    "enterprise": {
      "type": "boolean"
    }
  },
  "description": "API_Entities_Metadata model"
}
object API_Entities_MetricImage
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32",
      "example": 23
    },
    "url": {
      "type": "string",
      "example": "https://example.com/metric"
    },
    "filename": {
      "type": "string",
      "example": "file.png"
    },
    "url_text": {
      "type": "string",
      "example": "An example metric"
    },
    "file_path": {
      "type": "string",
      "example": "/uploads/-/system/alert_metric_image/file/23/file.png"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2020-11-13T00:06:18.084Z"
    }
  },
  "description": "API_Entities_MetricImage model"
}
object API_Entities_PlanLimit
{
  "type": "object",
  "properties": {
    "ci_active_jobs": {
      "type": "integer",
      "format": "int32",
      "example": 0
    },
    "limits_history": {
      "type": "object",
      "example": "{\"enforcement_limit\"=>[{\"timestamp\"=>1686909124, \"user_id\"=>1, \"username\"=>\"x\", \"value\"=>5}],\n                   \"notification_limit\"=>[{\"timestamp\"=>1686909124, \"user_id\"=>2, \"username\"=>\"y\", \"value\"=>7}]}",
      "properties": {}
    },
    "ci_pipeline_size": {
      "type": "integer",
      "format": "int32",
      "example": 0
    },
    "enforcement_limit": {
      "type": "integer",
      "format": "int32",
      "example": 15000
    },
    "npm_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 524288000
    },
    "helm_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 5242880
    },
    "notification_limit": {
      "type": "integer",
      "format": "int32",
      "example": 15000
    },
    "pypi_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 3221225472
    },
    "storage_size_limit": {
      "type": "integer",
      "format": "int32",
      "example": 15000
    },
    "ci_needs_size_limit": {
      "type": "integer",
      "format": "int32",
      "example": 50
    },
    "conan_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 3221225472
    },
    "maven_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 3221225472
    },
    "nuget_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 524288000
    },
    "ci_pipeline_schedules": {
      "type": "integer",
      "format": "int32",
      "example": 10
    },
    "pipeline_hierarchy_size": {
      "type": "integer",
      "format": "int32",
      "example": 1000
    },
    "ci_project_subscriptions": {
      "type": "integer",
      "format": "int32",
      "example": 2
    },
    "ci_registered_group_runners": {
      "type": "integer",
      "format": "int32",
      "example": 1000
    },
    "ci_registered_project_runners": {
      "type": "integer",
      "format": "int32",
      "example": 1000
    },
    "generic_packages_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 5368709120
    },
    "terraform_module_max_file_size": {
      "type": "integer",
      "format": "int32",
      "example": 1073741824
    }
  },
  "description": "API_Entities_PlanLimit model"
}
object API_Entities_Platform_Kubernetes
{
  "type": "object",
  "properties": {
    "api_url": {
      "type": "string"
    },
    "ca_cert": {
      "type": "string"
    },
    "namespace": {
      "type": "string"
    },
    "authorization_type": {
      "type": "string"
    }
  }
}
object API_Entities_ProjectIdentity
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "name": {
      "type": "string",
      "example": "project1"
    },
    "path": {
      "type": "string",
      "example": "project1"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "example": "2020-05-07T04:27:17.016Z"
    },
    "description": {
      "type": "string",
      "example": "desc"
    },
    "name_with_namespace": {
      "type": "string",
      "example": "John Doe / project1"
    },
    "path_with_namespace": {
      "type": "string",
      "example": "namespace1/project1"
    }
  }
}
object API_Entities_Provider_Gcp
{
  "type": "object",
  "properties": {
    "zone": {
      "type": "string"
    },
    "endpoint": {
      "type": "string"
    },
    "num_nodes": {
      "type": "string"
    },
    "cluster_id": {
      "type": "string"
    },
    "status_name": {
      "type": "string"
    },
    "machine_type": {
      "type": "string"
    },
    "gcp_project_id": {
      "type": "string"
    }
  }
}
object API_Entities_UserBasic
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32",
      "example": 1
    },
    "name": {
      "type": "string",
      "example": "Administrator"
    },
    "email": {
      "type": "string"
    },
    "state": {
      "type": "string",
      "example": "active"
    },
    "web_url": {
      "type": "string",
      "example": "https://gitlab.example.com/root"
    },
    "username": {
      "type": "string",
      "example": "admin"
    },
    "avatar_url": {
      "type": "string",
      "example": "https://gravatar.com/avatar/1"
    },
    "avatar_path": {
      "type": "string",
      "example": "/user/avatar/28/The-Big-Lebowski-400-400.png"
    },
    "custom_attributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/API_Entities_CustomAttribute"
      }
    }
  }
}
object AccessrequestsApproveUserAccessRequest
{
  "properties": {
    "access_level": {
      "type": "integer",
      "format": "int32",
      "default": 30,
      "description": "A valid access level (defaults: `30`, the Developer role)"
    }
  }
}
object AccessrequestsApproveUserAccessRequest1
{
  "properties": {
    "access_level": {
      "type": "integer",
      "format": "int32",
      "default": 30,
      "description": "A valid access level (defaults: `30`, the Developer role)"
    }
  }
}
array AlertmanagementGetMetricImagesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_MetricImage"
  }
}
object AlertmanagementUpdateMetricImageForAlertRequest
{
  "properties": {
    "url": {
      "type": "string",
      "description": "The url to view more metric info"
    },
    "url_text": {
      "type": "string",
      "description": "A description of the image or URL"
    }
  }
}
object AlertmanagementUploadMetricImageForAlertRequest
{
  "required": [
    "file"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "The url to view more metric info"
    },
    "file": {
      "type": "string",
      "format": "binary",
      "description": "The image file to be uploaded"
    },
    "url_text": {
      "type": "string",
      "description": "A description of the image or URL"
    }
  }
}
object ApplicationModifyAppearanceRequest
{
  "properties": {
    "logo": {
      "type": "string",
      "format": "binary",
      "description": "Instance image used on the sign in / sign up page"
    },
    "title": {
      "type": "string",
      "description": "Instance title on the sign in / sign up page"
    },
    "favicon": {
      "type": "string",
      "format": "binary",
      "description": "Instance favicon in .ico/.png format"
    },
    "pwa_icon": {
      "type": "string",
      "format": "binary",
      "description": "Icon used for Progressive Web App"
    },
    "pwa_name": {
      "type": "string",
      "description": "Name of the Progressive Web App"
    },
    "description": {
      "type": "string",
      "description": "Markdown text shown on the sign in / sign up page"
    },
    "header_logo": {
      "type": "string",
      "format": "binary",
      "description": "Instance image used for the main navigation bar"
    },
    "footer_message": {
      "type": "string",
      "description": "Message within the system footer bar"
    },
    "header_message": {
      "type": "string",
      "description": "Message within the system header bar"
    },
    "pwa_short_name": {
      "type": "string",
      "description": "Optional, short name for Progressive Web App"
    },
    "pwa_description": {
      "type": "string",
      "description": "An explanation of what the Progressive Web App does"
    },
    "message_font_color": {
      "type": "string",
      "description": "Font color for the system header / footer bar"
    },
    "new_project_guidelines": {
      "type": "string",
      "description": "Markdown text shown on the new project page"
    },
    "message_background_color": {
      "type": "string",
      "description": "Background color for the system header / footer bar"
    },
    "profile_image_guidelines": {
      "type": "string",
      "description": "Markdown text shown on the profile page below Public Avatar"
    },
    "email_header_and_footer_enabled": {
      "type": "boolean",
      "description": "Add header and footer to all outgoing emails if enabled"
    }
  }
}
object ApplicationsCreateNewApplicationRequest
{
  "required": [
    "name",
    "redirect_uri",
    "scopes"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the application."
    },
    "scopes": {
      "type": "string",
      "description": "Scopes of the application. You can specify multiple scopes by separating\\\n                                 each scope using a space"
    },
    "confidential": {
      "type": "boolean",
      "default": true,
      "description": "The application is used where the client secret can be kept confidential. Native mobile apps \\\n                        and Single Page Apps are considered non-confidential. Defaults to true if not supplied"
    },
    "redirect_uri": {
      "type": "string",
      "description": "Redirect URI of the application."
    }
  }
}
array ApplicationsListAllRegisteredResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_Application"
  }
}
object BadgesAddToGroupRequest
{
  "required": [
    "image_url",
    "link_url"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the badge"
    },
    "link_url": {
      "type": "string",
      "description": "URL of the badge link"
    },
    "image_url": {
      "type": "string",
      "description": "URL of the badge image"
    }
  }
}
object BadgesAddToProjectRequest
{
  "required": [
    "image_url",
    "link_url"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the badge"
    },
    "link_url": {
      "type": "string",
      "description": "URL of the badge link"
    },
    "image_url": {
      "type": "string",
      "description": "URL of the badge image"
    }
  }
}
array BadgesListViewableByAuthenticatedUser200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_Badge"
  }
}
array BadgesListViewableByAuthenticatedUserResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_Badge"
  }
}
object BadgesUpdateGroupBadgeRequest
{
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the badge"
    },
    "link_url": {
      "type": "string",
      "description": "URL of the badge link"
    },
    "image_url": {
      "type": "string",
      "description": "URL of the badge image"
    }
  }
}
object BadgesUpdateProjectBadgeRequest
{
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the badge"
    },
    "link_url": {
      "type": "string",
      "description": "URL of the badge link"
    },
    "image_url": {
      "type": "string",
      "description": "URL of the badge image"
    }
  }
}
array BatchedbackgroundmigrationsListMigrationsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_BatchedBackgroundMigration"
  }
}
object BatchedbackgroundmigrationsPauseMigrationRequest
{
  "properties": {
    "database": {
      "enum": [
        "main",
        "ci",
        "embedding",
        "main_clusterwide",
        "geo"
      ],
      "type": "string",
      "default": "main",
      "description": "The name of the database"
    }
  }
}
object BatchedbackgroundmigrationsResumeMigrationRequest
{
  "properties": {
    "database": {
      "enum": [
        "main",
        "ci",
        "embedding",
        "main_clusterwide",
        "geo"
      ],
      "type": "string",
      "default": "main",
      "description": "The name of the database"
    }
  }
}
array BranchesGetProjectRepositoryResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_Branch"
  }
}
object BranchesProtectBranchRequest
{
  "properties": {
    "developers_can_push": {
      "type": "boolean",
      "description": "Flag if developers can push to that branch"
    },
    "developers_can_merge": {
      "type": "boolean",
      "description": "Flag if developers can merge to that branch"
    }
  }
}
object BroadcastmessagesCreateMessageRequest
{
  "required": [
    "message"
  ],
  "properties": {
    "font": {
      "type": "string",
      "description": "Foreground color"
    },
    "color": {
      "type": "string",
      "description": "Background color"
    },
    "ends_at": {
      "type": "string",
      "format": "date-time",
      "description": "Ending time"
    },
    "message": {
      "type": "string",
      "description": "Message to display"
    },
    "starts_at": {
      "type": "string",
      "format": "date-time",
      "description": "Starting time"
    },
    "dismissable": {
      "type": "boolean",
      "description": "Is dismissable"
    },
    "target_path": {
      "type": "string",
      "description": "Target path"
    },
    "broadcast_type": {
      "enum": [
        "banner",
        "notification"
      ],
      "type": "string",
      "description": "Broadcast type. Defaults to banner"
    },
    "target_access_levels": {
      "type": "array",
      "items": {
        "enum": [
          10,
          20,
          30,
          40,
          50
        ],
        "type": "integer",
        "format": "int32"
      },
      "description": "Target user roles"
    }
  }
}
object BroadcastmessagesUpdateMessageByIdRequest
{
  "properties": {
    "font": {
      "type": "string",
      "description": "Foreground color"
    },
    "color": {
      "type": "string",
      "description": "Background color"
    },
    "ends_at": {
      "type": "string",
      "format": "date-time",
      "description": "Ending time"
    },
    "message": {
      "type": "string",
      "description": "Message to display"
    },
    "starts_at": {
      "type": "string",
      "format": "date-time",
      "description": "Starting time"
    },
    "dismissable": {
      "type": "boolean",
      "description": "Is dismissable"
    },
    "target_path": {
      "type": "string",
      "description": "Target path"
    },
    "broadcast_type": {
      "enum": [
        "banner",
        "notification"
      ],
      "type": "string",
      "description": "Broadcast Type"
    },
    "target_access_levels": {
      "type": "array",
      "items": {
        "enum": [
          10,
          20,
          30,
          40,
          50
        ],
        "type": "integer",
        "format": "int32"
      },
      "description": "Target user roles"
    }
  }
}
array BulkimportsListEntities200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_BulkImports"
  }
}
array BulkimportsListEntitiesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_BulkImports"
  }
}
array BulkimportsListMigrationsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_BulkImport"
  }
}
object BulkimportsStartMigrationRequest
{
  "required": [
    "configuration[access_token]",
    "configuration[url]",
    "entities[destination_namespace]",
    "entities[source_full_path]",
    "entities[source_type]"
  ],
  "properties": {
    "configuration[url]": {
      "type": "string",
      "description": "Source GitLab instance URL"
    },
    "entities[source_type]": {
      "type": "array",
      "items": {
        "enum": [
          "group_entity",
          "project_entity"
        ],
        "type": "string"
      },
      "description": "Source entity type"
    },
    "entities[destination_name]": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Deprecated: Use :destination_slug instead. Destination slug for the entity"
    },
    "entities[destination_slug]": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Destination slug for the entity"
    },
    "entities[migrate_projects]": {
      "type": "array",
      "items": {
        "type": "boolean"
      },
      "description": "Indicates group migration should include nested projects"
    },
    "entities[source_full_path]": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Relative path of the source entity to import"
    },
    "configuration[access_token]": {
      "type": "string",
      "description": "Access token to the source GitLab instance"
    },
    "entities[destination_namespace]": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Destination namespace for the entity"
    }
  }
}
object CivariablesCreateNewInstanceLevelVariableRequest
{
  "required": [
    "key",
    "value"
  ],
  "properties": {
    "key": {
      "type": "string",
      "description": "The key of the variable. Max 255 characters"
    },
    "raw": {
      "type": "boolean",
      "description": "Whether the variable will be expanded"
    },
    "value": {
      "type": "string",
      "description": "The value of a variable"
    },
    "masked": {
      "type": "boolean",
      "description": "Whether the variable is masked"
    },
    "protected": {
      "type": "boolean",
      "description": "Whether the variable is protected"
    },
    "variable_type": {
      "enum": [
        "env_var",
        "file"
      ],
      "type": "string",
      "description": "The type of a variable. Available types are: env_var (default) and file"
    }
  }
}
object CivariablesUpdateInstanceVariableRequest
{
  "properties": {
    "raw": {
      "type": "boolean",
      "description": "Whether the variable will be expanded"
    },
    "value": {
      "type": "string",
      "description": "The value of a variable"
    },
    "masked": {
      "type": "boolean",
      "description": "Whether the variable is masked"
    },
    "protected": {
      "type": "boolean",
      "description": "Whether the variable is protected"
    },
    "variable_type": {
      "enum": [
        "env_var",
        "file"
      ],
      "type": "string",
      "description": "The type of a variable. Available types are: env_var (default) and file"
    }
  }
}
object ClustersAddExistingInstanceRequest
{
  "required": [
    "name",
    "platform_kubernetes_attributes[api_url]",
    "platform_kubernetes_attributes[token]"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Cluster name"
    },
    "domain": {
      "type": "string",
      "description": "Cluster base domain"
    },
    "enabled": {
      "type": "boolean",
      "default": true,
      "description": "Determines if cluster is active or not, defaults to true"
    },
    "managed": {
      "type": "boolean",
      "default": true,
      "description": "Determines if GitLab will manage namespaces and service accounts for this cluster, defaults to true"
    },
    "environment_scope": {
      "type": "string",
      "default": "*",
      "description": "The associated environment to the cluster"
    },
    "management_project_id": {
      "type": "integer",
      "format": "int32",
      "description": "The ID of the management project"
    },
    "namespace_per_environment": {
      "type": "boolean",
      "default": true,
      "description": "Deploy each environment to a separate Kubernetes namespace"
    },
    "platform_kubernetes_attributes[token]": {
      "type": "string",
      "description": "Token to authenticate against Kubernetes"
    },
    "platform_kubernetes_attributes[api_url]": {
      "type": "string",
      "description": "URL to access the Kubernetes API"
    },
    "platform_kubernetes_attributes[ca_cert]": {
      "type": "string",
      "description": "TLS certificate (needed if API is using a self-signed TLS certificate)"
    },
    "platform_kubernetes_attributes[namespace]": {
      "type": "string",
      "description": "Unique namespace related to Project"
    },
    "platform_kubernetes_attributes[authorization_type]": {
      "enum": [
        "unknown_authorization",
        "rbac",
        "abac"
      ],
      "type": "string",
      "default": "rbac",
      "description": "Cluster authorization type, defaults to RBAC"
    }
  }
}
array ClustersListInstanceClustersResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_Cluster"
  }
}
object ClustersUpdateInstanceClusterRequest
{
  "properties": {
    "name": {
      "type": "string",
      "description": "Cluster name"
    },
    "domain": {
      "type": "string",
      "description": "Cluster base domain"
    },
    "enabled": {
      "type": "boolean",
      "description": "Enable or disable Gitlab's connection to your Kubernetes cluster"
    },
    "managed": {
      "type": "boolean",
      "description": "Determines if GitLab will manage namespaces and service accounts for this cluster"
    },
    "environment_scope": {
      "type": "string",
      "description": "The associated environment to the cluster"
    },
    "management_project_id": {
      "type": "integer",
      "format": "int32",
      "description": "The ID of the management project"
    },
    "namespace_per_environment": {
      "type": "boolean",
      "default": true,
      "description": "Deploy each environment to a separate Kubernetes namespace"
    },
    "platform_kubernetes_attributes[token]": {
      "type": "string",
      "description": "Token to authenticate against Kubernetes"
    },
    "platform_kubernetes_attributes[api_url]": {
      "type": "string",
      "description": "URL to access the Kubernetes API"
    },
    "platform_kubernetes_attributes[ca_cert]": {
      "type": "string",
      "description": "TLS certificate (needed if API is using a self-signed TLS certificate)"
    },
    "platform_kubernetes_attributes[namespace]": {
      "type": "string",
      "description": "Unique namespace related to Project"
    }
  }
}
array JobsListForProjectResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/API_Entities_Job"
  }
}
object MigrationsMarkAsExecutedRequest
{
  "properties": {
    "database": {
      "enum": [
        "main",
        "ci",
        "embedding",
        "main_clusterwide",
        "geo"
      ],
      "type": "string",
      "default": "main",
      "description": "The name of the database"
    }
  }
}
object PlanlimitsModifyPlanLimitsRequest
{
  "required": [
    "plan_name"
  ],
  "properties": {
    "plan_name": {
      "enum": [
        "default",
        "free",
        "bronze",
        "silver",
        "premium",
        "gold",
        "ultimate",
        "ultimate_trial",
        "premium_trial",
        "opensource"
      ],
      "type": "string",
      "description": "Name of the plan to update"
    },
    "ci_active_jobs": {
      "type": "integer",
      "format": "int32",
      "description": "Total number of jobs in currently active pipelines"
    },
    "ci_pipeline_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of jobs in a single pipeline"
    },
    "enforcement_limit": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum storage size for the root namespace enforcement in MiB"
    },
    "npm_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum NPM package file size in bytes"
    },
    "helm_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum Helm chart file size in bytes"
    },
    "notification_limit": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum storage size for the root namespace notifications in MiB"
    },
    "pypi_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum PyPI package file size in bytes"
    },
    "storage_size_limit": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum storage size for the root namespace in MiB"
    },
    "ci_needs_size_limit": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of DAG dependencies that a job can have"
    },
    "conan_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum Conan package file size in bytes"
    },
    "maven_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum Maven package file size in bytes"
    },
    "nuget_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum NuGet package file size in bytes"
    },
    "ci_pipeline_schedules": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of pipeline schedules"
    },
    "pipeline_hierarchy_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of downstream pipelines in a pipeline's hierarchy tree"
    },
    "ci_project_subscriptions": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of pipeline subscriptions to and from a project"
    },
    "ci_registered_group_runners": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of runners registered per group"
    },
    "ci_registered_project_runners": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of runners registered per project"
    },
    "generic_packages_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum generic package file size in bytes"
    },
    "terraform_module_max_file_size": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum Terraform Module package file size in bytes"
    }
  }
}