GitLab

DevOps platform for source code management

docs.gitlab.com/ee/api ↗
Version
v4
OpenAPI
3.0.1
Endpoints
73
Schemas
59
86
Quality
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

Endpoints

Clear filters

Accessrequests 2 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
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

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}

Alertmanagement 1 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

Application 1 endpoints

GET /application/appearance

Get the current appearance

operationId: Application_getCurrentAppearance

Responses

200

Get the current appearance

GET /application/appearance

Applications 1 endpoints

GET /applications

List all registered applications

operationId: Applications_listAllRegistered

Responses

200

Get applications

GET /applications

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 6 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
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
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}
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
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
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}

Batchedbackgroundmigrations 2 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}

Branches 2 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
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}

Broadcastmessages 2 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
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}

Bulkimports 5 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
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}

Civariables 2 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
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}

Clusters 2 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
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}

Jobs 2 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}

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

Planlimits 1 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

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"
  }
}