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

Clear filters

Access requests 2 endpoints

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

Alert management 2 endpoints

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

Applications 1 endpoints

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

Badges 2 endpoints

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

Branches 1 endpoints

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

Broadcast messages 1 endpoints

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

Bulk imports 1 endpoints

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

Ci variables 1 endpoints

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

Clusters 1 endpoints

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

Jobs 1 endpoints

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

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

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