GitLab Admin API

The Admin API from GitLab — 11 operation(s) for admin.

Operations 16

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v4/admin/batched_background_migrations/{id} Get a batched background migration · Get api V4 admin batched background migrations id #
Ask an LLM
“How do I check the progress of one batched background migration on my instance?”
“Can I look up a background migration in a specific database, like ci?”
Tell an agent
Show batched background migration {id}.
Get background migration {id} from the {database} database.
GET /api/v4/admin/batched_background_migrations List batched background migrations · Get api V4 admin batched background migrations #
Ask an LLM
“Which batched background migrations are running or queued on my self-managed GitLab?”
“Can I list background migrations for just one database?”
Tell an agent
List all batched background migrations.
List the batched background migrations in the {database} database.
PUT /api/v4/admin/batched_background_migrations/{id}/resume Resume a paused background migration · Put api V4 admin batched background migrations id resume #
Ask an LLM
“How do I restart a batched background migration I paused?”
“Can I resume a paused migration after maintenance is over?”
Tell an agent
Resume batched background migration {id}.
Resume paused migration {id} on the {database} database.
PUT /api/v4/admin/batched_background_migrations/{id}/pause Pause a batched background migration · Put api V4 admin batched background migrations id pause #
Ask an LLM
“How do I temporarily halt a batched background migration that is loading the database?”
“Can I pause a running migration and pick it up later?”
Tell an agent
Pause batched background migration {id}.
Pause the running migration {id} on the {database} database.
GET /api/v4/admin/ci/variables/{key} Get an instance-level CI variable · Get api V4 admin ci variables key #
Ask an LLM
“How do I read the value and settings of one instance-wide CI/CD variable?”
“Is a given instance-level variable masked or protected?”
Tell an agent
Show instance CI variable {key}.
Get the value and flags of instance-level variable {key}.
PUT /api/v4/admin/ci/variables/{key} Update an instance-level CI variable · Put api V4 admin ci variables key #
Ask an LLM
“How do I change the value of an existing instance-wide CI variable?”
“Can I mark an existing instance variable as masked or protected?”
Tell an agent
Set instance CI variable {key} to {value}.
Make existing instance variable {key} masked: {masked}.
DELETE /api/v4/admin/ci/variables/{key} Delete an instance-level CI variable · Delete api V4 admin ci variables key #
Ask an LLM
“How do I remove a CI/CD variable that applies to every project on the instance?”
“Can I delete an instance-level variable by its key?”
Tell an agent destructive · confirm first
Delete instance CI variable {key}.
Remove the instance-wide variable {key}.
GET /api/v4/admin/ci/variables List instance-level CI variables · Get api V4 admin ci variables #
Ask an LLM
“What CI/CD variables are defined at the instance level?”
“Where can an admin see every instance-wide pipeline variable?”
Tell an agent
List all instance-level CI variables.
Show page {page} of the instance CI variables.
POST /api/v4/admin/ci/variables Create an instance-level CI variable · Post api V4 admin ci variables #
Ask an LLM
“How do I add a CI/CD variable that every project on my GitLab instance can use?”
“Can I create an instance variable as a file type instead of an env var?”
Tell an agent
Create instance CI variable {key} with value {value}.
Add a masked instance-wide variable {key} set to {value}, masked {masked}.
GET /api/v4/admin/databases/{database_name}/dictionary/tables/{table_name} Look up a database table's dictionary entry · Get api V4 admin databases database name dictionary tables table name #
Ask an LLM
“How do I find which feature and owning team a GitLab database table belongs to?”
“Can I read the database dictionary details for one table?”
Tell an agent
Show the dictionary entry for table {table_name} in database {database_name}.
Look up table {table_name} in the {database_name} database dictionary.
GET /api/v4/admin/clusters/{cluster_id} Get an instance Kubernetes cluster · GitLab Get a Single Instance Cluster #
Ask an LLM
“How do I view the configuration of one instance-level Kubernetes cluster?”
“What environment scope and domain does a given instance cluster have?”
Tell an agent
Show instance cluster {cluster_id}.
Get the settings of instance Kubernetes cluster {cluster_id}.
PUT /api/v4/admin/clusters/{cluster_id} Edit an instance Kubernetes cluster · GitLab Edit Instance Cluster #
Ask an LLM
“How do I change the API URL or token of an instance cluster already connected?”
“Can I disable an instance cluster or change its environment scope?”
Tell an agent
Rename instance cluster {cluster_id} to {name}.
Set the environment scope of instance cluster {cluster_id} to {environment_scope}.
DELETE /api/v4/admin/clusters/{cluster_id} Remove an instance Kubernetes cluster · GitLab Delete Instance Cluster #
Ask an LLM
“How do I disconnect an instance-level Kubernetes cluster from GitLab?”
“Does deleting an instance cluster remove the resources running inside it?”
Tell an agent destructive · confirm first
Delete instance cluster {cluster_id}.
Disconnect instance Kubernetes cluster {cluster_id} from GitLab.
POST /api/v4/admin/clusters/add Connect an existing Kubernetes cluster to the instance · GitLab Add Existing Instance Cluster #
Ask an LLM
“How do I connect an existing Kubernetes cluster at the instance level?”
“What credentials are required to add an instance cluster?”
Tell an agent
Add instance cluster {name} with API URL {api_url} and token {token}.
Connect Kubernetes cluster {name} at {api_url} using token {token} for scope {environment_scope}.
GET /api/v4/admin/clusters List instance Kubernetes clusters · GitLab List Instance Clusters #
Ask an LLM
“Which Kubernetes clusters are connected at the instance level?”
“Where can an admin see all instance-wide clusters?”
Tell an agent
List all instance clusters.
Show every Kubernetes cluster attached to the instance.
POST /api/v4/admin/migrations/{timestamp}/mark Mark a database migration as executed · Post api V4 admin migrations timestamp mark #
Ask an LLM
“How do I mark a failed database migration as successfully run so upgrades can continue?”
“Can I flag a migration as done on a specific database only?”
Tell an agent
Mark migration {timestamp} as successfully executed.
Mark migration {timestamp} as done on the {database} database.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gitlab:gitlab-admin-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gitlab-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GitLab Admin API
  version: v4
  description: An OpenAPI definition for the GitLab REST API.
  termsOfService: https://about.gitlab.com/terms/
  license:
    name: CC BY-SA 4.0
    url: https://gitlab.com/gitlab-org/gitlab/-/blob/master/LICENSE
servers:
- url: https://www.gitlab.com/api/
security:
- ApiKeyAuth: []
tags:
- name: Admin
paths:
  /api/v4/admin/batched_background_migrations/{id}:
    get:
      tags:
      - Admin
      description: Retrieve a batched background migration
      operationId: getApiV4AdminBatchedBackgroundMigrationsId
      parameters:
      - name: database
        in: query
        description: The name of the database
        schema:
          type: string
          default: main
          enum:
          - main
          - ci
          - embedding
          - main_clusterwide
          - geo
        example: main
      - name: id
        in: path
        description: The batched background migration id
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      responses:
        '200':
          description: Retrieve a batched background migration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BatchedBackgroundMigration'
        '401':
          description: 401 Unauthorized
          content: {}
        '403':
          description: 403 Forbidden
          content: {}
        '404':
          description: 404 Not found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Get api V4 admin batched background migrations id
      x-summary-source: derived
  /api/v4/admin/batched_background_migrations:
    get:
      tags:
      - Admin
      description: Get the list of batched background migrations
      operationId: getApiV4AdminBatchedBackgroundMigrations
      parameters:
      - name: database
        in: query
        description: The name of the database, the default `main`
        schema:
          type: string
          default: main
          enum:
          - main
          - ci
          - embedding
          - main_clusterwide
          - geo
        example: main
      responses:
        '200':
          description: Get the list of batched background migrations
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_BatchedBackgroundMigration'
        '401':
          description: 401 Unauthorized
          content: {}
        '403':
          description: 403 Forbidden
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Get api V4 admin batched background migrations
      x-summary-source: derived
  /api/v4/admin/batched_background_migrations/{id}/resume:
    put:
      tags:
      - Admin
      description: Resume a batched background migration
      operationId: putApiV4AdminBatchedBackgroundMigrationsIdResume
      parameters:
      - name: id
        in: path
        description: The batched background migration id
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      requestBody:
        content:
          application/json:
            schema:
              properties:
                database:
                  type: string
                  description: The name of the database
                  default: main
                  enum:
                  - main
                  - ci
                  - embedding
                  - main_clusterwide
                  - geo
      responses:
        '200':
          description: Resume a batched background migration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BatchedBackgroundMigration'
        '401':
          description: 401 Unauthorized
          content: {}
        '403':
          description: 403 Forbidden
          content: {}
        '404':
          description: 404 Not found
          content: {}
        '422':
          description: You can resume only `paused` batched background migrations.
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Put api V4 admin batched background migrations id resume
      x-summary-source: derived
  /api/v4/admin/batched_background_migrations/{id}/pause:
    put:
      tags:
      - Admin
      description: Pause a batched background migration
      operationId: putApiV4AdminBatchedBackgroundMigrationsIdPause
      parameters:
      - name: id
        in: path
        description: The batched background migration id
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      requestBody:
        content:
          application/json:
            schema:
              properties:
                database:
                  type: string
                  description: The name of the database
                  default: main
                  enum:
                  - main
                  - ci
                  - embedding
                  - main_clusterwide
                  - geo
      responses:
        '200':
          description: Pause a batched background migration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BatchedBackgroundMigration'
        '401':
          description: 401 Unauthorized
          content: {}
        '403':
          description: 403 Forbidden
          content: {}
        '404':
          description: 404 Not found
          content: {}
        '422':
          description: You can pause only `active` batched background migrations.
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Put api V4 admin batched background migrations id pause
      x-summary-source: derived
  /api/v4/admin/ci/variables/{key}:
    get:
      tags:
      - Admin
      description: Get the details of a specific instance-level variable
      operationId: getApiV4AdminCiVariablesKey
      parameters:
      - name: key
        in: path
        description: The key of a variable
        required: true
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Get the details of a specific instance-level variable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Ci_Variable'
        '404':
          description: Instance Variable Not Found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Get api V4 admin ci variables key
      x-summary-source: derived
    put:
      tags:
      - Admin
      description: Update an instance-level variable
      operationId: putApiV4AdminCiVariablesKey
      parameters:
      - name: key
        in: path
        description: The key of a variable
        required: true
        schema:
          type: string
        example: example_value
      requestBody:
        content:
          application/json:
            schema:
              properties:
                value:
                  type: string
                  description: The value of a variable
                protected:
                  type: boolean
                  description: Whether the variable is protected
                masked:
                  type: boolean
                  description: Whether the variable is masked
                raw:
                  type: boolean
                  description: Whether the variable will be expanded
                variable_type:
                  type: string
                  description: 'The type of a variable. Available types are: env_var (default) and file'
                  enum:
                  - env_var
                  - file
      responses:
        '200':
          description: Update an instance-level variable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Ci_Variable'
        '404':
          description: Instance Variable Not Found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Put api V4 admin ci variables key
      x-summary-source: derived
    delete:
      tags:
      - Admin
      description: Delete an existing instance-level variable
      operationId: deleteApiV4AdminCiVariablesKey
      parameters:
      - name: key
        in: path
        description: The key of a variable
        required: true
        schema:
          type: string
        example: example_value
      responses:
        '204':
          description: Delete an existing instance-level variable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Ci_Variable'
        '404':
          description: Instance Variable Not Found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Delete api V4 admin ci variables key
      x-summary-source: derived
  /api/v4/admin/ci/variables:
    get:
      tags:
      - Admin
      description: List all instance-level variables
      operationId: getApiV4AdminCiVariables
      parameters:
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
        example: 42
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
        example: 42
      responses:
        '200':
          description: List all instance-level variables
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Ci_Variable'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Get api V4 admin ci variables
      x-summary-source: derived
    post:
      tags:
      - Admin
      description: Create a new instance-level variable
      operationId: postApiV4AdminCiVariables
      requestBody:
        content:
          application/json:
            schema:
              required:
              - key
              - value
              properties:
                key:
                  type: string
                  description: The key of the variable. Max 255 characters
                value:
                  type: string
                  description: The value of a variable
                protected:
                  type: boolean
                  description: Whether the variable is protected
                masked:
                  type: boolean
                  description: Whether the variable is masked
                raw:
                  type: boolean
                  description: Whether the variable will be expanded
                variable_type:
                  type: string
                  description: 'The type of a variable. Available types are: env_var (default) and file'
                  enum:
                  - env_var
                  - file
        required: true
      responses:
        '201':
          description: Create a new instance-level variable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Ci_Variable'
        '400':
          description: 400 Bad Request
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Post api V4 admin ci variables
      x-summary-source: derived
  /api/v4/admin/databases/{database_name}/dictionary/tables/{table_name}:
    get:
      tags:
      - Admin
      description: Retrieve dictionary details
      operationId: getApiV4AdminDatabasesDatabaseNameDictionaryTablesTableName
      parameters:
      - name: database_name
        in: path
        description: The database name
        required: true
        schema:
          type: string
          enum:
          - main
          - ci
        example: main
      - name: table_name
        in: path
        description: The table name
        required: true
        schema:
          type: string
        example: Example Project
      responses:
        '200':
          description: Retrieve dictionary details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Dictionary_Table'
        '401':
          description: 401 Unauthorized
          content: {}
        '403':
          description: 403 Forbidden
          content: {}
        '404':
          description: 404 Not found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Get api V4 admin databases database name dictionary tables table name
      x-summary-source: derived
  /api/v4/admin/clusters/{cluster_id}:
    get:
      tags:
      - Admin
      summary: GitLab Get a Single Instance Cluster
      description: This feature was introduced in GitLab 13.2. Returns a single instance cluster.
      operationId: getApiV4AdminClustersClusterId
      parameters:
      - name: cluster_id
        in: path
        description: The cluster ID
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      responses:
        '200':
          description: Get a single instance cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Cluster'
        '403':
          description: Forbidden
          content: {}
        '404':
          description: Not found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      tags:
      - Admin
      summary: GitLab Edit Instance Cluster
      description: This feature was introduced in GitLab 13.2. Updates an existing instance cluster.
      operationId: putApiV4AdminClustersClusterId
      parameters:
      - name: cluster_id
        in: path
        description: The cluster ID
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      requestBody:
        content:
          application/json:
            schema:
              properties:
                name:
                  type: string
                  description: Cluster name
                enabled:
                  type: boolean
                  description: Enable or disable Gitlab's connection to your Kubernetes cluster
                environment_scope:
                  type: string
                  description: The associated environment to the cluster
                namespace_per_environment:
                  type: boolean
                  description: Deploy each environment to a separate Kubernetes namespace
                  default: true
                domain:
                  type: string
                  description: Cluster base domain
                management_project_id:
                  type: integer
                  description: The ID of the management project
                  format: int32
                managed:
                  type: boolean
                  description: Determines if GitLab will manage namespaces and service accounts for this cluster
                platform_kubernetes_attributes[api_url]:
                  type: string
                  description: URL to access the Kubernetes API
                platform_kubernetes_attributes[token]:
                  type: string
                  description: Token to authenticate against Kubernetes
                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
      responses:
        '200':
          description: Edit instance cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Cluster'
        '400':
          description: Validation error
          content: {}
        '403':
          description: Forbidden
          content: {}
        '404':
          description: Not found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      tags:
      - Admin
      summary: GitLab Delete Instance Cluster
      description: This feature was introduced in GitLab 13.2. Deletes an existing instance cluster. Does not remove existing resources within the connected Kubernetes cluster.
      operationId: deleteApiV4AdminClustersClusterId
      parameters:
      - name: cluster_id
        in: path
        description: The cluster ID
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      responses:
        '204':
          description: Delete instance cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Cluster'
        '403':
          description: Forbidden
          content: {}
        '404':
          description: Not found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v4/admin/clusters/add:
    post:
      tags:
      - Admin
      summary: GitLab Add Existing Instance Cluster
      description: This feature was introduced in GitLab 13.2. Adds an existing Kubernetes instance cluster.
      operationId: postApiV4AdminClustersAdd
      requestBody:
        content:
          application/json:
            schema:
              required:
              - name
              - platform_kubernetes_attributes[api_url]
              - platform_kubernetes_attributes[token]
              properties:
                name:
                  type: string
                  description: Cluster name
                enabled:
                  type: boolean
                  description: Determines if cluster is active or not, defaults to true
                  default: true
                environment_scope:
                  type: string
                  description: The associated environment to the cluster
                  default: '*'
                namespace_per_environment:
                  type: boolean
                  description: Deploy each environment to a separate Kubernetes namespace
                  default: true
                domain:
                  type: string
                  description: Cluster base domain
                management_project_id:
                  type: integer
                  description: The ID of the management project
                  format: int32
                managed:
                  type: boolean
                  description: Determines if GitLab will manage namespaces and service accounts for this cluster, defaults to true
                  default: true
                platform_kubernetes_attributes[api_url]:
                  type: string
                  description: URL to access the Kubernetes API
                platform_kubernetes_attributes[token]:
                  type: string
                  description: Token to authenticate against Kubernetes
                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]:
                  type: string
                  description: Cluster authorization type, defaults to RBAC
                  default: rbac
                  enum:
                  - unknown_authorization
                  - rbac
                  - abac
        required: true
      responses:
        '201':
          description: Add existing instance cluster
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Cluster'
        '400':
          description: Validation error
          content: {}
        '403':
          description: Forbidden
          content: {}
        '404':
          description: Not found
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v4/admin/clusters:
    get:
      tags:
      - Admin
      summary: GitLab List Instance Clusters
      description: This feature was introduced in GitLab 13.2. Returns a list of instance clusters.
      operationId: getApiV4AdminClusters
      responses:
        '200':
          description: List instance clusters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_Cluster'
        '403':
          description: Forbidden
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v4/admin/migrations/{timestamp}/mark:
    post:
      tags:
      - Admin
      description: Mark the migration as successfully executed
      operationId: postApiV4AdminMigrationsTimestampMark
      parameters:
      - name: timestamp
        in: path
        description: The migration version timestamp
        required: true
        schema:
          type: integer
          format: int32
        example: 42
      requestBody:
        content:
          application/json:
            schema:
              properties:
                database:
                  type: string
                  description: The name of the database
                  default: main
                  enum:
                  - main
                  - ci
                  - embedding
                  - main_clusterwide
                  - geo
      responses:
        '201':
          description: 201 Created
          content: {}
        '401':
          description: 401 Unauthorized
          content: {}
        '403':
          description: 403 Forbidden
          content: {}
        '404':
          description: 404 Not found
          content: {}
        '422':
          description: You can mark only pending migrations
          content: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      summary: Post api V4 admin migrations timestamp mark
      x-summary-source: derived
components:
  schemas:
    API_Entities_Provider_Gcp:
      type: object
      properties:
        cluster_id:
          type: string
          example: '123456'
        status_name:
          type: string
          example: Example Project
        gcp_project_id:
          type: string
          example: '123456'
        zone:
          type: string
          example: example_value
        machine_type:
          type: string
          example: example_value
        num_nodes:
          type: string
          example: example_value
        endpoint:
          type: string
          example: example_value
    API_Entities_Cluster:
      type: object
      properties:
        id:
          type: string
          example: '123456'
        name:
          type: string
          example: Example Project
        created_at:
          type: string
          example: '2026-04-17T12:00:00Z'
        domain:
          type: string
          example: example_value
        enabled:
          type: string
          example: example_value
        managed:
          type: string
          example: example_value
        provider_type:
          type: string
          example: example_value
        platform_type:
          type: string
          example: '2026-04-17T12:00:00Z'
        environment_scope:
          type: string
          example: example_value
        cluster_type:
          type: string
          example: example_value
        namespace_per_environment:
          type: string
          example: Example Project
        user:
          $ref: '#/components/schemas/API_Entities_UserBasic'
        platform_kubernetes:
          $ref: '#/components/schemas/API_Entities_Platform_Kubernetes'
        provider_gcp:
          $ref: '#/components/schemas/API_Entities_Provider_Gcp'
        management_project:
          $ref: '#/components/schemas/API_Entities_ProjectIdentity'
      description: API_Entities_Cluster model
    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
    API_Entities_BatchedBackgroundMigration:
      type: object
      properties:
        id:
          type: string
          example: '1234'
        job_class_name:
          type: string
          example: CopyColumnUsingBackgroundMigrationJob
        table_name:
          type: string
          example: events
        status:
          type: string
          example: active
        progress:
          type: number
          format: float
          example: 50
        created_at:
          type: string
          format: date-time
          example: 2022-11-28 14:26:39+00:00
      description: API_Entities_BatchedBackgroundMigration model
    API_Entities_UserBasic:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 1
        username:
          type: string
          example: admin
        name:
          type: string
          example: Administrator
        state:
          type: string
          example: active
        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'
        web_url:
          type: string
          example: https://gitlab.example.com/root
        email:
          type: string
          example: user@example.com
    API_Entities_Platform_Kubernetes:
      type: object
      properties:
        api_url:
          type: string
          example: https://gitlab.com/example
        namespace:
          type: string
          example: Example Project
        authorization_type:
          type: string
          example: '2026-04-17T12:00:00Z'
        ca_cert:
          type: string
          example: example_value
    API_Entities_CustomAttribute:
      type: object
      properties:
        key:
          type: string
          example: foo
        value:
          type: string
          example: bar
    API_Entities_ProjectIdentity:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 1
        description:
          type: string
          example: desc
        name:
          type: string
          example: project1
        name_with_namespace:
          type: string
          example: John Doe / project1
        path:
          type: string
          example: project1
        path_with_namespace:
          type: string
          example: namespace1/project1
        created_at:
          type: string
          format: date-time
          example: 2020-05-07 04:27:17.016000+00:00
    API_Entities_Ci_Variable:
      type: object
      properties:
        variable_type:
          type: string
          example: env_var
        key:
          type: string
          example: TEST_VARIABLE_1
        value:
          type: string
          example: TEST_1
        protected:
          type: boolean
          example: true
        masked:
          type: boolean
          example: true
        raw:
          type: boolean
          example: true
        environment_scope:
          type: string
          example: '*'
      description: API_Entities_Ci_Variable model
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Private-Token