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

PUT /groups/{id}/access_requests/{user_id}/approve

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_approveUserAccess

Parameters

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

Request Body

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

Responses

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

This feature was introduced in GitLab 8.11.

operationId: Accessrequests_approveUserAccess

Parameters

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

Request Body

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

Responses

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

Alert management 1 endpoints

PUT /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}

Update a metric image for an alert

operationId: Alertmanagement_updateMetricImageForAlert

Parameters

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

Request Body

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

Responses

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

Application 1 endpoints

PUT /application/appearance

Modify appearance

operationId: Application_modifyAppearance

Request Body

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

Responses

200 Modify appearance
PUT /application/appearance

Badges 2 endpoints

PUT /groups/{id}/badges/{badge_id}

This feature was introduced in GitLab 10.6.

operationId: Badges_updateGroupBadge

Parameters

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

Request Body

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

Responses

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

This feature was introduced in GitLab 10.6.

operationId: Badges_updateProjectBadge

Parameters

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

Request Body

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

Responses

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

Batched background migrations 2 endpoints

PUT /admin/batched_background_migrations/{id}/pause

Pause a batched background migration

operationId: Batchedbackgroundmigrations_pauseMigration

Parameters

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

Request Body

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

Responses

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

Resume a batched background migration

operationId: Batchedbackgroundmigrations_resumeMigration

Parameters

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

Request Body

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

Responses

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

Branches 2 endpoints

PUT /projects/{id}/repository/branches/{branch}/protect

Protect a single branch

operationId: Branches_protectBranch

Parameters

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

Request Body

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

Responses

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

Unprotect a single branch

operationId: Branches_unprotectBranch

Parameters

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

Responses

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

Broadcast messages 1 endpoints

PUT /broadcast_messages/{id}

This feature was introduced in GitLab 8.12.

operationId: Broadcastmessages_updateMessageById

Parameters

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

Request Body

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

Responses

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

Ci variables 1 endpoints

PUT /admin/ci/variables/{key}

Update an instance-level variable

operationId: Civariables_updateInstanceVariable

Parameters

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

Request Body

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

Responses

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

Clusters 1 endpoints

PUT /admin/clusters/{cluster_id}

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

operationId: Clusters_updateInstanceCluster

Parameters

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

Request Body

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

Responses

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

Plan limits 1 endpoints

PUT /application/plan_limits

Modify the limits of a plan on the GitLab instance.

operationId: Planlimits_modifyPlanLimits

Request Body

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

Responses

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

Schemas

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