Use this API to manage deploy keys, deploy tokens, and code deployments to GitLab environments.

List all deploy keys

GET /api/v4/deploy_keys

Lists all deploy keys for the instance.

Parameters

NameTypeDescription
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
public
Query
BooleanOnly return deploy keys that are public
Default: false

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployKey
400Bad Request—
401Unauthorized—
403Forbidden—

Create a deploy key

POST /api/v4/deploy_keys

Creates a deploy key for the GitLab instance. Requires administrator access.

Request body (application/json)

PropertyTypeDescription
expires_atString (date-time)The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
key
Required
StringNew deploy key
title
Required
StringNew deploy key’s title

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeployKey
400Bad request—
401Unauthorized—
403Forbidden—

List all deploy tokens

GET /api/v4/deploy_tokens

Lists all deploy tokens for the instance.

Parameters

NameTypeDescription
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
active
Query
BooleanLimit by active status

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployToken
400Bad Request—
401Unauthorized—
403Forbidden—

List all group deploy tokens

GET /api/v4/groups/{id}/deploy_tokens

Lists all group deploy tokens.

Parameters

NameTypeDescription
id
Path, required
Integer or stringThe ID or URL-encoded path of the group owned by the authenticated user
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
active
Query
BooleanLimit by active status

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployToken
400Bad Request—
401Unauthorized—
403Forbidden—
404Not found—

Create a group deploy token

POST /api/v4/groups/{id}/deploy_tokens

Creates a group deploy token.

Parameters

NameTypeDescription
id
Path, required
Integer or stringThe ID or URL-encoded path of the group owned by the authenticated user

Request body (application/json)

PropertyTypeDescription
expires_atString (date-time)Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (2019-03-15T08:00:00Z)
name
Required
StringNew deploy token’s name
scopes
Required
Array of stringsIndicates the deploy token scopes. Must be at least one of read_repository, read_registry, write_registry, read_package_registry, or write_package_registry
usernameStringUsername for deploy token. Default is gitlab+deploy-token-{n}

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeployTokenWithToken
400Bad request—
401Unauthorized—
404Not found—

Retrieve a group deploy token

GET /api/v4/groups/{id}/deploy_tokens/{token_id}

Get a single group’s deploy token by ID. This feature was introduced in GitLab 14.9.

Parameters

NameTypeDescription
id
Path, required
Integer or stringThe ID or URL-encoded path of the group owned by the authenticated user
token_id
Path, required
IntegerThe ID of the deploy token

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployToken
400Bad Request—
401Unauthorized—
404Not found—

Delete a group deploy token

DELETE /api/v4/groups/{id}/deploy_tokens/{token_id}

Deletes a group deploy token.

Parameters

NameTypeDescription
id
Path, required
Integer or stringThe ID or URL-encoded path of the group owned by the authenticated user
token_id
Path, required
IntegerThe ID of the deploy token

Responses

CodeDescriptionSchema
204Resource deleted—
400Bad Request—
401Unauthorized—
404Not found—

List all deploy keys for project

GET /api/v4/projects/{id}/deploy_keys

Lists all deploy keys for a specified project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployKeysProject
400Bad Request—
401Unauthorized—
404Not found—

Add a deploy key for a project

POST /api/v4/projects/{id}/deploy_keys

Adds a deploy key for a specified project. If the deploy key already exists in another project, it is joined to the current project only if the original one is accessible by the same user.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user

Request body (application/json)

PropertyTypeDescription
can_pushBooleanCan deploy key push to the project’s repository
expires_atString (date-time)The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
key
Required
StringNew deploy key
title
Required
StringNew deploy key’s title

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeployKeysProject
400Bad request—
401Unauthorized—
404Not found—

Retrieve a deploy key

GET /api/v4/projects/{id}/deploy_keys/{key_id}

Retrieves a specified deploy key.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
key_id
Path, required
IntegerThe ID of the deploy key

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployKeysProject
400Bad Request—
401Unauthorized—
404Not found—

Update a deploy key

PUT /api/v4/projects/{id}/deploy_keys/{key_id}

Updates a deploy key for a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
key_id
Path, required
IntegerThe ID of the deploy key

Request body (application/json)

PropertyTypeDescription
can_pushBooleanCan deploy key push to the project’s repository
titleStringNew deploy key’s title

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployKey
400Bad request—
401Unauthorized—
403Forbidden—
404Not found—

Delete deploy key

DELETE /api/v4/projects/{id}/deploy_keys/{key_id}

FE version

Removes a deploy key from the project. If the deploy key is used only for this project, it’s deleted from the system.

Parameters

NameTypeDescription
key_id
Path, required
IntegerThe ID of the deploy key
id
Path, required
String or integerThe ID or URL-encoded path of the project
Example: 11

Responses

CodeDescriptionSchema
204No Content—
400Bad Request—
401Unauthorized—
404Not found—

Enable a deploy key

POST /api/v4/projects/{id}/deploy_keys/{key_id}/enable

Enables a deploy key for a project so this can be used. Returns the enabled key, with a status code 201 when successful.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
key_id
Path, required
IntegerThe ID of the deploy key

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeployKey
400Bad Request—
401Unauthorized—
404Not found—

List all project deploy tokens

GET /api/v4/projects/{id}/deploy_tokens

Lists all project deploy tokens.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
active
Query
BooleanLimit by active status

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployToken
400Bad Request—
401Unauthorized—
403Forbidden—
404Not found—

Create a project deploy token

POST /api/v4/projects/{id}/deploy_tokens

Creates a project deploy token.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user

Request body (application/json)

PropertyTypeDescription
expires_atString (date-time)Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (2019-03-15T08:00:00Z)
name
Required
StringNew deploy token’s name
scopes
Required
Array of stringsIndicates the deploy token scopes. Must be at least one of read_repository, read_registry, write_registry, read_package_registry, write_package_registry, read_virtual_registry, or write_virtual_registry
usernameStringUsername for deploy token. Default is gitlab+deploy-token-{n}

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeployTokenWithToken
400Bad request—
401Unauthorized—
404Not found—

Retrieve a project deploy token

GET /api/v4/projects/{id}/deploy_tokens/{token_id}

Retrieves a project deploy token.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
token_id
Path, required
IntegerThe ID of the deploy token

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployToken
400Bad Request—
401Unauthorized—
404Not found—

Delete a project deploy token

DELETE /api/v4/projects/{id}/deploy_tokens/{token_id}

Deletes a project deploy token.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
token_id
Path, required
IntegerThe ID of the deploy token

Responses

CodeDescriptionSchema
204Resource deleted—
400Bad Request—
401Unauthorized—
404Not found—

List all project deployments

GET /api/v4/projects/{id}/deployments

Lists all deployments in a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
order_by
Query
StringReturn deployments ordered by either one of id, iid, created_at, updated_at or ref fields. Default is id
Allowed values: id, iid, created_at, updated_at, finished_at
Default: id
sort
Query
StringReturn deployments sorted in asc or desc order. Default is asc
Allowed values: asc, desc
Default: asc
updated_after
Query
String (date-time)Return deployments updated after the specified date. Expected in ISO 8601 format (2019-03-15T08:00:00Z)
updated_before
Query
String (date-time)Return deployments updated before the specified date. Expected in ISO 8601 format (2019-03-15T08:00:00Z)
finished_after
Query
String (date-time)Return deployments finished after the specified date. Expected in ISO 8601 format (2019-03-15T08:00:00Z)
finished_before
Query
String (date-time)Return deployments finished before the specified date. Expected in ISO 8601 format (2019-03-15T08:00:00Z)
environment
Query
StringThe name of the environment to filter deployments by
status
Query
StringThe status to filter deployments by. One of created, running, success, failed, canceled, or blocked
Allowed values: created, running, success, failed, canceled, skipped, blocked

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployment
400Bad request—
401Unauthorized—
404Not found—

Create a deployment

POST /api/v4/projects/{id}/deployments

Creates a deployment.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user

Request body (application/json)

PropertyTypeDescription
environment
Required
StringThe name of the environment to create the deployment for
ref
Required
StringThe name of the branch or tag that is deployed
sha
Required
StringThe SHA of the commit that is deployed
status
Required
StringThe status of the deployment that is created. One of running, success, failed, or canceled
Allowed values: running, success, failed, canceled
Minimum length: 1
tag
Required
BooleanA boolean that indicates if the deployed ref is a tag (true) or not (false)

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeploymentExtended
400Bad request—
401Unauthorized—
404Not found—

Retrieve a deployment

GET /api/v4/projects/{id}/deployments/{deployment_id}

Retrieves a specified deployment.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
deployment_id
Path, required
IntegerThe ID of the deployment

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeploymentExtended
400Bad Request—
401Unauthorized—
404Not found—

Update a deployment

PUT /api/v4/projects/{id}/deployments/{deployment_id}

Updates a specified deployment.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
deployment_id
Path, required
IntegerThe ID of the deployment

Request body (application/json)

PropertyTypeDescription
status
Required
StringThe new status of the deployment. One of running, success, failed, or canceled
Allowed values: running, success, failed, canceled
Minimum length: 1

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeploymentExtended
400Bad request—
401Unauthorized—
403Forbidden—
404Not found—

Delete a deployment

DELETE /api/v4/projects/{id}/deployments/{deployment_id}

Deletes a specified deployment that is not currently the last deployment for an environment or in a running state.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
deployment_id
Path, required
IntegerThe ID of the deployment

Responses

CodeDescriptionSchema
204Deployment destroyed—
400“Cannot destroy running deployment” or “Deployment currently deployed to environment”—
403Forbidden—
404Not Found—

Approve or reject a deployment

POST /api/v4/projects/{id}/deployments/{deployment_id}/approval

Approves or rejects a protected deployment.

Parameters

NameTypeDescription
deployment_id
Path, required
IntegerThe ID of the deployment
id
Path, required
String or integerThe ID or URL-encoded path of the project
Example: 11

Request body (application/json)

PropertyTypeDescription
commentStringA comment to go with the approval
represented_asStringThe user, group, or role represented by the approval
status
Required
StringThe status of the approval
Allowed values: approved, rejected
Minimum length: 1

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesDeploymentApproval
400Bad request—
401Unauthorized—
403Forbidden—
404Not found—

List all merge requests associated with a deployment

GET /api/v4/projects/{id}/deployments/{deployment_id}/merge_requests

Lists all merge requests shipped with a specified deployment.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project owned by the authenticated user
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
deployment_id
Path, required
IntegerThe ID of the deployment
author_id
Query
IntegerReturns merge requests created by the given user id. Combine with scope=all or scope=assigned_to_me. Mutually exclusive with author_username
author_username
Query
StringReturns merge requests created by the given username. Mutually exclusive with author_id
assignee_id
Query
Integer or stringReturns merge requests assigned to the given user id. None returns unassigned merge requests. Any returns merge requests with an assignee. Mutually exclusive with assignee_username
assignee_username
Query
Array of stringsReturns merge requests created by the given username. Mutually exclusive with assignee_id
reviewer_username
Query
StringReturns merge requests which have the user as a reviewer with the given username. None returns merge requests with no reviewers. Any returns merge requests with any reviewer. Introduced in GitLab 13.8. Mutually exclusive with reviewer_id
labels
Query
Array of stringsReturns merge requests matching a comma-separated list of labels. None lists all merge requests with no labels. Any lists all merge requests with at least one label. Predefined names are case-insensitive
milestone
Query
StringReturns merge requests for a specific milestone. None returns merge requests with no milestone. Any returns merge requests that have an assigned milestone
my_reaction_emoji
Query
StringReturns merge requests reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction
reviewer_id
Query
Integer or stringReturns merge requests which have the user as a reviewer with the given user id. None returns merge requests with no reviewers. Any returns merge requests with any reviewer. Mutually exclusive with reviewer_username
state
Query
StringReturns all merge requests or just those that are opened, closed, locked, or merged
Allowed values: opened, closed, locked, merged, all
Default: all
order_by
Query
StringReturns merge requests ordered by created_at, label_priority, milestone_due, popularity, priority, title, updated_at or merged_at fields. Introduced in GitLab 14.8
Allowed values: created_at, label_priority, milestone_due, popularity, priority, title, updated_at, merged_at
Default: created_at
sort
Query
StringReturns merge requests sorted in asc or desc order
Allowed values: asc, desc
Default: desc
with_labels_details
Query
BooleanIf true, response returns more details for each label in labels field: :name,:color, :description, :description_html, :text_color
Default: false
with_merge_status_recheck
Query
BooleanIf true, this projection requests (but does not guarantee) that the merge_status field be recalculated asynchronously. Introduced in GitLab 13.0
Default: false
created_after
Query
String (date-time)Returns merge requests created on or after the given time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
created_before
Query
String (date-time)Returns merge requests created on or before the given time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
updated_after
Query
String (date-time)Returns merge requests updated on or after the given time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
updated_before
Query
String (date-time)Returns merge requests updated on or before the given time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
merged_after
Query
String (date-time)Returns merge requests merged on or after the given time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
merged_before
Query
String (date-time)Returns merge requests merged on or before the given time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
view
Query
StringIf simple, returns the iid, URL, title, description, and basic state of merge request
Allowed values: simple
scope
Query
StringReturns merge requests for the given scope: created_by_me, assigned_to_me, reviews_for_me or all
Allowed values: created-by-me, assigned-to-me, created_by_me, assigned_to_me, reviews_for_me, all
source_branch
Query
StringReturns merge requests with the given source branch
source_project_id
Query
IntegerReturns merge requests with the given source project id
target_branch
Query
StringReturns merge requests with the given target branch
search
Query
StringSearch merge requests against their title and description
in
Query
StringModify the scope of the search attribute. title, description, or a string joining them with comma
Example: title,description
wip
Query
StringDeprecated. Use draft instead. Filter merge requests against their wip status. yes to return only draft merge requests, no to return non-draft merge requests. Mutually exclusive with draft
Allowed values: yes, no
draft
Query
BooleanFilter merge requests against their draft status. true to return only draft merge requests, false to return non-draft merge requests. Mutually exclusive with wip
not
Query
ObjectReturns merge requests that do not match the parameters supplied
not[author_id]
Query
Integer<Negated> Returns merge requests created by the given user id. Combine with scope=all or scope=assigned_to_me. Mutually exclusive with not[author_username]
not[author_username]
Query
String<Negated> Returns merge requests created by the given username. Mutually exclusive with not[author_id]
not[assignee_id]
Query
Integer or string<Negated> Returns merge requests assigned to the given user id. None returns unassigned merge requests. Any returns merge requests with an assignee. Mutually exclusive with not[assignee_username]
not[assignee_username]
Query
Array of strings<Negated> Returns merge requests created by the given username. Mutually exclusive with not[assignee_id]
not[reviewer_username]
Query
String<Negated> Returns merge requests which have the user as a reviewer with the given username. None returns merge requests with no reviewers. Any returns merge requests with any reviewer. Introduced in GitLab 13.8. Mutually exclusive with not[reviewer_id]
not[labels]
Query
Array of strings<Negated> Returns merge requests matching a comma-separated list of labels. None lists all merge requests with no labels. Any lists all merge requests with at least one label. Predefined names are case-insensitive
not[milestone]
Query
String<Negated> Returns merge requests for a specific milestone. None returns merge requests with no milestone. Any returns merge requests that have an assigned milestone
not[my_reaction_emoji]
Query
String<Negated> Returns merge requests reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction
not[reviewer_id]
Query
Integer<Negated> Returns merge requests which have the user as a reviewer with the given user id. None returns merge requests with no reviewers. Any returns merge requests with any reviewer. Mutually exclusive with not[reviewer_username]
deployed_before
Query
String (date-time)Returns merge requests deployed before the given date/time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
deployed_after
Query
String (date-time)Returns merge requests deployed after the given date/time. Expected in ISO 8601 format
Example: 2019-03-15T08:00:00Z
environment
Query
StringReturns merge requests deployed to the given environment
Example: production
merge_user_id
Query
IntegerReturns merge requests which have been merged by the user with the given user id. Mutually exclusive with merge_user_username
merge_user_username
Query
StringReturns merge requests which have been merged by the user with the given username. Mutually exclusive with merge_user_id

Responses

CodeDescriptionSchema
200OKAPIEntitiesMergeRequestBasic
400Bad Request—
401Unauthorized—
404Not found—

List all project deploy keys for a user

GET /api/v4/users/{user_id}/project_deploy_keys

Lists all project deploy keys accessible to a specified user.

Parameters

NameTypeDescription
user_id
Path, required
StringThe ID or username of the user
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20

Responses

CodeDescriptionSchema
200OKAPIEntitiesDeployKey
400Bad Request—
404Not Found—

Schemas

Objects returned by the operations above and objects nested in their request bodies.

APIEntitiesCiJob

PropertyTypeDescription
allow_failureBoolean—
archivedBooleanExample: false
artifactsArray of APIEntitiesCiJobArtifact—
artifacts_expire_atString (date-time)Example: 2016-01-19T09:05:50.355Z
artifacts_fileAPIEntitiesCiJobArtifactFile—
commitAPIEntitiesCommit—
coverageNumber (float)Example: 98.29
created_atString (date-time)Example: 2015-12-24T15:51:21.880Z
durationNumber (float)Time spent running
Example: 0.465
erased_atString (date-time)Example: 2015-12-24T18:00:29.728Z
failure_reasonStringExample: script_failure
finished_atString (date-time)Example: 2015-12-24T17:54:31.198Z
idInteger (int64)Example: 1
nameStringExample: deploy_to_production
pipelineAPIEntitiesCiPipelineBasic—
projectObject—
project.ci_job_token_scope_enabledStringExample: false
queued_durationNumber (float)Time spent enqueued
Example: 0.123
refStringExample: main
runnerAPIEntitiesCiRunner—
runner_managerAPIEntitiesCiRunnerManager—
stageStringExample: deploy
started_atString (date-time)Example: 2015-12-24T17:54:30.733Z
statusStringExample: waiting_for_resource
tagBoolean—
tag_listArray of stringsExample: ["ubuntu18","docker runner"]
userAPIEntitiesUser—
web_urlStringExample: https://example.com/foo/bar/-/jobs/1

APIEntitiesCiJobArtifact

PropertyTypeDescription
file_formatStringAllowed values: raw, zip, gzip
Example: zip
file_typeStringAllowed values: archive, metadata, trace, junit, sast, dependency_scanning, container_scanning, dast, codequality, license_scanning, performance, metrics, metrics_referee, network_referee, lsif, dotenv, cobertura, terraform, accessibility, cluster_applications, secret_detection, requirements, coverage_fuzzing, browser_performance, load_performance, api_fuzzing, cluster_image_scanning, cyclonedx, requirements_v2, annotations, repository_xray, jacoco, sarif
Example: archive
filenameStringExample: artifacts.zip
sizeIntegerExample: 1000

APIEntitiesCiJobArtifactFile

PropertyTypeDescription
filenameStringExample: artifacts.zip
sizeIntegerExample: 1000

APIEntitiesCiPipelineBasic

PropertyTypeDescription
created_atString (date-time)Example: 2022-10-21T16:49:48.000+02:00
idInteger (int64)Example: 1
iidIntegerExample: 2
project_idInteger (int64)Example: 3
refStringExample: feature-branch
shaStringExample: 0ec9e58fdfca6cdd6652c083c9edb53abc0bad52
sourceStringExample: push
statusStringExample: success
updated_atString (date-time)Example: 2022-10-21T16:49:48.000+02:00
web_urlStringExample: https://gitlab.example.com/gitlab-org/gitlab-foss/-/pipelines/61

APIEntitiesCiRunner

PropertyTypeDescription
activeBooleanExample: true
created_atString (date-time)Example: 2025-05-03T00:00:00.000Z
created_byAPIEntitiesUserBasic—
descriptionStringExample: test-1-20150125
idInteger (int64)Example: 8
ip_addressStringExample: 127.0.0.1
is_sharedBooleanExample: true
job_execution_statusStringAllowed values: active, idle
Example: idle
nameStringExample: test
onlineBooleanExample: true
pausedBooleanExample: false
runner_typeStringAllowed values: instance_type, group_type, project_type
Example: instance_type
statusStringExample: online

APIEntitiesCiRunnerManager

PropertyTypeDescription
architectureStringExample: amd64
contacted_atStringExample: 2023-10-24T01:27:06.549Z
created_atStringExample: 2023-10-24T01:27:06.549Z
idInteger (int64)Example: 8
ip_addressStringExample: 127.0.0.1
job_execution_statusStringAllowed values: active, idle
Example: idle
platformStringExample: linux
revisionStringExample: 91a27b2a
statusStringExample: online
system_idStringExample: runner-1
versionStringExample: 16.11.0

APIEntitiesCommit

PropertyTypeDescription
author_emailStringExample: john@example.com
author_nameStringExample: John Smith
authored_dateString (date-time)Example: 2012-05-28T04:42:42-07:00
committed_dateString (date-time)Example: 2012-05-28T04:42:42-07:00
committer_emailStringExample: jack@example.com
committer_nameStringExample: Jack Smith
created_atString (date-time)Example: 2017-07-26T11:08:53.000+02:00
extended_trailersObjectExample: {"Signed-off-by":["John Doe \u003cjohndoe@gitlab.com\u003e","Jane Doe \u003cjanedoe@gitlab.com\u003e"]}
idStringExample: 2695effb5807a22ff3d138d593fd856244e155e7
messageStringExample: Initial commit
parent_idsArray of stringsExample: ["2a4b78934375d7f53875269ffd4f45fd83a84ebe"]
short_idStringExample: 2695effb
titleStringExample: Initial commit
trailersObjectExample: {"Merged-By":"Jane Doe janedoe@gitlab.com"}
web_urlStringExample: https://gitlab.example.com/janedoe/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746

APIEntitiesCustomAttribute

PropertyTypeDescription
keyStringExample: foo
valueStringExample: bar

APIEntitiesDeployKey

PropertyTypeDescription
created_atString (date-time)Example: 2015-09-03T07:24:44.627Z
expires_atString (date-time)Example: 2020-09-03T07:24:44.627Z
fingerprintStringExample: 4a:9d:64:15:ed:3a:e6:07:6e:89:36:b3:3b:03:05:d9
fingerprint_sha256StringExample: SHA256:Jrs3LD1Ji30xNLtTVf9NDCj7kkBgPBb2pjvTZ3HfIgU
idInteger (int64)Example: 1
keyStringExample: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNJAkI3Wdf0r13c8a5pEExB2YowPWCSVzfZV22pNBc1CuEbyYLHpUyaD0GwpGvFdx2aP7lMEk35k6Rz3ccBF6jRaVJyhsn5VNnW92PMpBJ/P1UebhXwsFHdQf5rTt082cSxWuk61kGWRQtk4ozt/J2DF/dIUVaLvc+z4HomT41fQ==
last_used_atString (date-time)Example: 2020-09-03T07:24:44.627Z
projects_with_readonly_accessAPIEntitiesProjectIdentity—
projects_with_write_accessAPIEntitiesProjectIdentity—
titleStringExample: Sample key 25
usage_typeStringExample: auth

APIEntitiesDeployKeysProject

PropertyTypeDescription
can_pushBoolean—
created_atString (date-time)Example: 2015-09-03T07:24:44.627Z
expires_atString (date-time)Example: 2020-09-03T07:24:44.627Z
fingerprintStringExample: 4a:9d:64:15:ed:3a:e6:07:6e:89:36:b3:3b:03:05:d9
fingerprint_sha256StringExample: SHA256:Jrs3LD1Ji30xNLtTVf9NDCj7kkBgPBb2pjvTZ3HfIgU
idInteger (int64)Example: 1
keyStringExample: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNJAkI3Wdf0r13c8a5pEExB2YowPWCSVzfZV22pNBc1CuEbyYLHpUyaD0GwpGvFdx2aP7lMEk35k6Rz3ccBF6jRaVJyhsn5VNnW92PMpBJ/P1UebhXwsFHdQf5rTt082cSxWuk61kGWRQtk4ozt/J2DF/dIUVaLvc+z4HomT41fQ==
last_used_atString (date-time)Example: 2020-09-03T07:24:44.627Z
projects_with_readonly_accessAPIEntitiesProjectIdentity—
projects_with_write_accessAPIEntitiesProjectIdentity—
titleStringExample: Sample key 25
usage_typeStringExample: auth

APIEntitiesDeployment

PropertyTypeDescription
created_atString (date-time)Example: 2016-08-11T11:32:35.444Z
deployableAPIEntitiesCiJob—
environmentAPIEntitiesEnvironmentBasic—
idInteger (int64)Example: 41
iidIntegerExample: 1
refStringExample: main
shaStringExample: 99d03678b90d914dbb1b109132516d71a4a03ea8
statusStringExample: created
updated_atString (date-time)Example: 2016-08-11T11:32:35.444Z
userAPIEntitiesUserBasic—

APIEntitiesDeploymentApproval

PropertyTypeDescription
commentStringExample: Looks good to me
created_atString (date-time)Example: 2022-02-24T20:22:30.097Z
statusStringExample: approved
userAPIEntitiesUserBasic—

APIEntitiesDeploymentApprovalSummary

PropertyTypeDescription
rulesArray of APIEntitiesDeploymentApprovalSummaryRule—

APIEntitiesDeploymentApprovalSummaryRule

PropertyTypeDescription
access_levelIntegerExample: 40
access_level_descriptionStringExample: Maintainers
deployment_approvalsArray of APIEntitiesDeploymentApproval—
group_idInteger (int64)Example: 3
required_approvalsIntegerExample: 1
user_idInteger (int64)Example: 2

APIEntitiesDeploymentExtended

PropertyTypeDescription
approval_summaryAPIEntitiesDeploymentApprovalSummary—
approvalsArray of APIEntitiesDeploymentApproval—
created_atString (date-time)Example: 2016-08-11T11:32:35.444Z
deployableAPIEntitiesCiJob—
environmentAPIEntitiesEnvironmentBasic—
idInteger (int64)Example: 41
iidIntegerExample: 1
pending_approval_countIntegerExample: 0
refStringExample: main
shaStringExample: 99d03678b90d914dbb1b109132516d71a4a03ea8
statusStringExample: created
updated_atString (date-time)Example: 2016-08-11T11:32:35.444Z
userAPIEntitiesUserBasic—

APIEntitiesDeployToken

PropertyTypeDescription
expiredBoolean—
expires_atString (date-time)Example: 2020-02-14T00:00:00.000Z
idInteger (int64)Example: 1
nameStringExample: MyToken
revokedBoolean—
scopesArrayExample: ["read_repository"]
usernameStringExample: gitlab+deploy-token-1

APIEntitiesDeployTokenWithToken

PropertyTypeDescription
expiredBoolean—
expires_atString (date-time)Example: 2020-02-14T00:00:00.000Z
idInteger (int64)Example: 1
nameStringExample: MyToken
revokedBoolean—
scopesArrayExample: ["read_repository"]
tokenStringExample: jMRvtPNxrn3crTAGukpZ
usernameStringExample: gitlab+deploy-token-1

APIEntitiesEnvironmentBasic

PropertyTypeDescription
created_atString (date-time)Example: 2019-05-25T18:55:13.252Z
external_urlStringExample: https://deploy.gitlab.example.com
idInteger (int64)Example: 1
nameStringExample: deploy
slugStringExample: deploy
updated_atString (date-time)Example: 2019-05-25T18:55:13.252Z

APIEntitiesIssuableReferences

PropertyTypeDescription
fullStringExample: test&6
relativeStringExample: &6
shortStringExample: &6

APIEntitiesIssuableTimeStats

PropertyTypeDescription
human_time_estimateStringExample: 3h 30m
human_total_time_spentStringExample: 1h
time_estimateIntegerExample: 12600
total_time_spentIntegerExample: 3600

APIEntitiesMergeRequestBasic

PropertyTypeDescription
allow_collaborationBoolean—
allow_maintainer_to_pushBoolean—
assigneeAPIEntitiesUserBasic—
assigneesAPIEntitiesUserBasic—
authorAPIEntitiesUserBasic—
blocking_discussions_resolvedBoolean—
closed_atString (date-time)Example: 2022-01-31T15:10:45.080Z
closed_byAPIEntitiesUserBasic—
created_atString (date-time)Example: 2022-08-17T12:46:35.053Z
descriptionStringExample: Repellendus impedit et vel velit dignissimos.
description_htmlString—
detailed_merge_statusStringExample: mergeable
discussion_lockedBoolean—
downvotesInteger—
draftBoolean—
force_remove_source_branchBoolean—
has_conflictsBoolean—
idInteger (int64)Example: 84
iidIntegerExample: 14
importedBoolean—
imported_fromStringExample: bitbucket
labelsArray of strings—
merge_afterString (date-time)Example: 2022-01-31T15:10:45.080Z
merge_commit_shaStringExample: 1234abcd
merge_statusStringExample: unchecked
merge_userAPIEntitiesUserBasic—
merge_when_pipeline_succeedsBoolean—
merged_atString (date-time)Example: 2022-01-31T15:10:45.080Z
merged_byAPIEntitiesUserBasic—
milestoneAPIEntitiesMilestone—
prepared_atString (date-time)Example: 2022-01-31T15:10:45.080Z
project_idInteger (int64)Example: 4
referenceStringExample: !1
referencesAPIEntitiesIssuableReferences—
reviewersAPIEntitiesUserBasic—
shaStringExample: 1234abcd
should_remove_source_branchBoolean—
source_branchString—
source_project_idInteger (int64)—
squashBoolean—
squash_commit_shaStringExample: 1234abcd
squash_on_mergeBoolean—
stateStringExample: closed
target_branchString—
target_project_idInteger (int64)—
task_completion_statusAPIEntitiesTaskCompletionStatus—
time_statsAPIEntitiesIssuableTimeStats—
titleStringExample: Impedit et ut et dolores vero provident ullam est
title_htmlString—
updated_atString (date-time)Example: 2022-11-14T17:22:01.470Z
upvotesInteger—
user_notes_countInteger—
web_urlStringExample: https://gitlab.example.com/my-group/my-project/-/merge_requests/1
work_in_progressBoolean—

APIEntitiesMilestone

PropertyTypeDescription
created_atString—
descriptionString—
due_dateString—
expiredBoolean—
group_idString—
idInteger (int64)—
iidInteger (int64)—
project_idInteger (int64)—
start_dateString—
stateString—
titleString—
updated_atString—
web_urlString—

APIEntitiesProjectIdentity

PropertyTypeDescription
created_atString (date-time)Example: 2020-05-07T04:27:17.016Z
descriptionStringExample: desc
idInteger (int64)Example: 1
nameStringExample: project1
name_with_namespaceStringExample: John Doe / project1
pathStringExample: project1
path_with_namespaceStringExample: namespace1/project1

APIEntitiesTaskCompletionStatus

PropertyTypeDescription
completed_countIntegerExample: 3
countIntegerExample: 5

APIEntitiesUser

PropertyTypeDescription
avatar_pathStringExample: /user/avatar/28/The-Big-Lebowski-400-400.png
avatar_urlStringExample: https://gravatar.com/avatar/1
bioString—
botBoolean—
created_atString—
custom_attributesArray of APIEntitiesCustomAttribute—
discordString—
followersString—
followingString—
githubString—
idInteger (int64)Example: 1
is_followedString—
job_titleString—
linkedinString—
local_timeString—
locationString—
lockedBoolean—
nameStringExample: Administrator
organizationString—
pronounsString—
public_emailStringExample: john@example.com
stateStringExample: active
twitterString—
usernameStringExample: admin
web_urlStringExample: https://gitlab.example.com/root
website_urlString—
work_informationString—

APIEntitiesUserBasic

PropertyTypeDescription
avatar_pathStringExample: /user/avatar/28/The-Big-Lebowski-400-400.png
avatar_urlStringExample: https://gravatar.com/avatar/1
custom_attributesArray of APIEntitiesCustomAttribute—
idInteger (int64)Example: 1
lockedBoolean—
nameStringExample: Administrator
public_emailStringExample: john@example.com
stateStringExample: active
usernameStringExample: admin
web_urlStringExample: https://gitlab.example.com/root