openapi: 3.0.1
info:
  title: GitLab API
  version: v4
  description: |
    An OpenAPI definition for the GitLab REST API.
    Few API resources or endpoints are currently included.
    The intent is to expand this to match the entire Markdown documentation of the API:
    <https://docs.gitlab.com/ee/api/>. Contributions are welcome.

    When viewing this on gitlab.com, you can test API calls directly from the browser
    against the `gitlab.com` instance, if you are logged in.
    The feature uses the current [GitLab session cookie](https://docs.gitlab.com/ee/api/#session-cookie),
    so each request is made using your account.

    Instructions for using this tool can be found in [Interactive API Documentation](https://docs.gitlab.com/ee/api/openapi/openapi_interactive.html)
  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/v4
security:
  - ApiKeyAuth: []
tags:
- name: badges
  description: Operations about badges
- name: branches
  description: Operations about branches
- name: alert_management
  description: Operations about alert_managements
- name: batched_background_migrations
  description: Operations about batched_background_migrations
- name: admin
  description: Operations about admins
- name: migrations
  description: Operations about migrations
- name: applications
  description: Operations about applications
- name: avatar
  description: Operations about avatars
- name: broadcast_messages
  description: Operations about broadcast_messages
- name: bulk_imports
  description: Operations about bulk_imports
- name: application
  description: Operations about applications
- name: access_requests
  description: Operations related to access requests
- name: ci_lint
  description: Operations related to linting a CI config file
- name: ci_resource_groups
  description: Operations to manage job concurrency with resource groups
- name: ci_variables
  description: Operations related to CI/CD variables
- name: cluster_agents
  description: Operations related to the GitLab agent for Kubernetes
- name: clusters
  description: Operations related to clusters
- name: composer_packages
  description: Operations related to Composer packages
- name: conan_packages
  description: Operations related to Conan packages
- name: container_registry
  description: Operations related to container registry
- name: container_registry_event
  description: Operations related to container registry events
- name: debian_distribution
  description: Operations related to Debian Linux distributions
- name: debian_packages
  description: Operations related to Debian Linux packages
- name: dependency_proxy
  description: Operations to manage dependency proxy for a groups
- name: deploy_keys
  description: Operations related to deploy keys
- name: deploy_tokens
  description: Operations related to deploy tokens
- name: deployments
  description: Operations related to deployments
- name: dora_metrics
  description: Operations related to DevOps Research and Assessment (DORA) key metrics
- name: environments
  description: Operations related to environments
- name: error_tracking_client_keys
  description: Operations related to error tracking client keys
- name: error_tracking_project_settings
  description: Operations related to error tracking project settings
- name: feature_flags_user_lists
  description: Operations related to accessing GitLab feature flag user lists
- name: feature_flags
  description: Operations related to feature flags
- name: features
  description: Operations related to managing Flipper-based feature flags
- name: freeze_periods
  description: Operations related to deploy freeze periods
- name: generic_packages
  description: Operations related to Generic packages
- name: geo
  description: Operations related to Geo
- name: geo_nodes
  description: Operations related Geo Nodes
- name: go_proxy
  description: Operations related to Go Proxy
- name: group_export
  description: Operations related to exporting groups
- name: group_import
  description: Operations related to importing groups
- name: group_packages
  description: Operations related to group packages
- name: helm_packages
  description: Operations related to Helm packages
- name: integrations
  description: Operations related to integrations
- name: issue_links
  description: Operations related to issue links
- name: jira_connect_subscriptions
  description: Operations related to JiraConnect subscriptions
- name: jobs
  description: Operations related to CI Jobs
- name: maven_packages
  description: Operations related to Maven packages
- name: merge_requests
  description: Operations related to merge requests
- name: metadata
  description: Operations related to metadata of the GitLab instance
- name: ml_model_registry
  description: Operations related to Model registry
- name: npm_packages
  description: Operations related to NPM packages
- name: nuget_packages
  description: Operations related to Nuget packages
- name: package_files
  description: Operations about package files
- name: plan_limits
  description: Operations related to plan limits
- name: project_export
  description: Operations related to exporting projects
- name: project_hooks
  description: Operations related to project hooks
- name: project_import
  description: Operations related to importing projects
- name: project_import_bitbucket
  description: Operations related to importing BitBucket projects
- name: project_import_github
  description: Operations related to importing GitHub projects
- name: project_packages
  description: Operations related to project packages
- name: projects
  description: Operations related to projects
- name: protected environments
  description: Operations related to protected environments
- name: pypi_packages
  description: Operations related to PyPI packages
- name: release_links
  description: Operations related to release assets (links)
- name: releases
  description: Operations related to releases
- name: resource_milestone_events
  description: Operations about resource milestone events
- name: rpm_packages
  description: Operations related to RPM packages
- name: rubygem_packages
  description: Operations related to RubyGems
- name: suggestions
  description: Operations related to suggestions
- name: system_hooks
  description: Operations related to system hooks
- name: terraform_state
  description: Operations related to Terraform state files
- name: terraform_registry
  description: Operations related to the Terraform module registry
- name: unleash_api
  description: Operations related to Unleash API
paths:
  /groups/{id}/badges/{badge_id}:
    get:
      tags:
      - badges
      summary: Gets a badge of a group.
      description: This feature was introduced in GitLab 10.6.
      operationId: getApiV4GroupsIdBadgesBadgeId
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        required: true
        schema:
          type: string
      - name: badge_id
        in: path
        description: The badge ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Gets a badge of a group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Badge'
    put:
      tags:
      - badges
      summary: Updates a badge of a group.
      description: This feature was introduced in GitLab 10.6.
      operationId: putApiV4GroupsIdBadgesBadgeId
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        required: true
        schema:
          type: string
      - name: badge_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              properties:
                link_url:
                  type: string
                  description: URL of the badge link
                image_url:
                  type: string
                  description: URL of the badge image
                name:
                  type: string
                  description: Name for the badge
      responses:
        200:
          description: Updates a badge of a group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Badge'
    delete:
      tags:
      - badges
      summary: Removes a badge from the group.
      description: This feature was introduced in GitLab 10.6.
      operationId: deleteApiV4GroupsIdBadgesBadgeId
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        required: true
        schema:
          type: string
      - name: badge_id
        in: path
        description: The badge ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        204:
          description: Removes a badge from the group.
          content: {}
  /groups/{id}/badges:
    get:
      tags:
      - badges
      summary: Gets a list of group badges viewable by the authenticated user.
      description: This feature was introduced in GitLab 10.6.
      operationId: getApiV4GroupsIdBadges
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      - name: name
        in: query
        description: Name for the badge
        schema:
          type: string
      responses:
        200:
          description: Gets a list of group badges viewable by the authenticated user.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_Badge'
    post:
      tags:
      - badges
      summary: Adds a badge to a group.
      description: This feature was introduced in GitLab 10.6.
      operationId: postApiV4GroupsIdBadges
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
              - image_url
              - link_url
              properties:
                link_url:
                  type: string
                  description: URL of the badge link
                image_url:
                  type: string
                  description: URL of the badge image
                name:
                  type: string
                  description: Name for the badge
        required: true
      responses:
        201:
          description: Adds a badge to a group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Badge'
  /groups/{id}/badges/render:
    get:
      tags:
      - badges
      summary: Preview a badge from a group.
      description: This feature was introduced in GitLab 10.6.
      operationId: getApiV4GroupsIdBadgesRender
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        required: true
        schema:
          type: string
      - name: link_url
        in: query
        description: URL of the badge link
        required: true
        schema:
          type: string
      - name: image_url
        in: query
        description: URL of the badge image
        required: true
        schema:
          type: string
      responses:
        200:
          description: Preview a badge from a group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BasicBadgeDetails'
  /groups/{id}/access_requests/{user_id}:
    delete:
      tags:
      - access_requests
      summary: Denies an access request for the given user.
      description: This feature was introduced in GitLab 8.11.
      operationId: deleteApiV4GroupsIdAccessRequestsUserId
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        required: true
        schema:
          type: string
      - name: user_id
        in: path
        description: The user ID of the access requester
        required: true
        schema:
          type: integer
          format: int32
      responses:
        204:
          description: Denies an access request for the given user.
          content: {}
  /groups/{id}/access_requests/{user_id}/approve:
    put:
      tags:
      - access_requests
      summary: Approves an access request for the given user.
      description: This feature was introduced in GitLab 8.11.
      operationId: putApiV4GroupsIdAccessRequestsUserIdApprove
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        required: true
        schema:
          type: string
      - name: user_id
        in: path
        description: The user ID of the access requester
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              properties:
                access_level:
                  type: integer
                  description: 'A valid access level (defaults: `30`, the Developer
                    role)'
                  format: int32
                  default: 30
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_AccessRequester'
            successfull_response:
              example:
                id: 1
                username: raymond_smith
                name: Raymond Smith
                state: active
                created_at: 2012-10-22T14:13:35Z
                access_level: 20
  /groups/{id}/access_requests:
    get:
      tags:
      - access_requests
      summary: Gets a list of access requests for a group.
      description: This feature was introduced in GitLab 8.11.
      operationId: getApiV4GroupsIdAccessRequests
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        200:
          description: Gets a list of access requests for a group.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_AccessRequester'
    post:
      tags:
      - access_requests
      summary: Requests access for the authenticated user to a group.
      description: This feature was introduced in GitLab 8.11.
      operationId: postApiV4GroupsIdAccessRequests
      parameters:
      - name: id
        in: path
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        required: true
        schema:
          type: string
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_AccessRequester'
            successfull_response:
              example:
                id: 1
                username: raymond_smith
                name: Raymond Smith
                state: active
                created_at: 2012-10-22T14:13:35Z
                access_level: 20
  /projects/{id}/repository/merged_branches:
    delete:
      tags:
      - branches
      description: Delete all merged branches
      operationId: deleteApiV4ProjectsIdRepositoryMergedBranches
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      responses:
        202:
          description: 202 Accepted
          content: {}
        404:
          description: 404 Project Not Found
          content: {}
  /projects/{id}/repository/branches/{branch}:
    get:
      tags:
      - branches
      description: Get a single repository branch
      operationId: getApiV4ProjectsIdRepositoryBranchesBranch
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: branch
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Get a single repository branch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Branch'
        404:
          description: Branch Not Found
          content: {}
    delete:
      tags:
      - branches
      description: Delete a branch
      operationId: deleteApiV4ProjectsIdRepositoryBranchesBranch
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: branch
        in: path
        description: The name of the branch
        required: true
        schema:
          type: string
      responses:
        204:
          description: Delete a branch
          content: {}
        404:
          description: Branch Not Found
          content: {}
    head:
      tags:
      - branches
      description: Check if a branch exists
      operationId: headApiV4ProjectsIdRepositoryBranchesBranch
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: branch
        in: path
        description: The name of the branch
        required: true
        schema:
          type: string
      responses:
        204:
          description: No Content
          content: {}
        404:
          description: Not Found
          content: {}
  /projects/{id}/repository/branches:
    get:
      tags:
      - branches
      description: Get a project repository branches
      operationId: getApiV4ProjectsIdRepositoryBranches
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      - name: search
        in: query
        description: Return list of branches matching the search criteria
        schema:
          type: string
      - name: regex
        in: query
        description: Return list of branches matching the regex
        schema:
          type: string
      - name: sort
        in: query
        description: Return list of branches sorted by the given field
        schema:
          type: string
          enum:
          - name_asc
          - updated_asc
          - updated_desc
      - name: page_token
        in: query
        description: Name of branch to start the pagination from
        schema:
          type: string
      responses:
        200:
          description: Get a project repository branches
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_Branch'
        404:
          description: 404 Project Not Found
          content: {}
    post:
      tags:
      - branches
      description: Create branch
      operationId: postApiV4ProjectsIdRepositoryBranches
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: branch
        in: query
        description: The name of the branch
        required: true
        schema:
          type: string
      - name: ref
        in: query
        description: Create branch from commit sha or existing branch
        required: true
        schema:
          type: string
      responses:
        201:
          description: Create branch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Branch'
        400:
          description: Failed to create branch
          content: {}
  /projects/{id}/repository/branches/{branch}/unprotect:
    put:
      tags:
      - branches
      description: Unprotect a single branch
      operationId: putApiV4ProjectsIdRepositoryBranchesBranchUnprotect
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: branch
        in: path
        description: The name of the branch
        required: true
        schema:
          type: string
      responses:
        200:
          description: Unprotect a single branch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Branch'
        404:
          description: 404 Project Not Found
          content: {}
  /projects/{id}/repository/branches/{branch}/protect:
    put:
      tags:
      - branches
      description: Protect a single branch
      operationId: putApiV4ProjectsIdRepositoryBranchesBranchProtect
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: branch
        in: path
        description: The name of the branch
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              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
      responses:
        200:
          description: Protect a single branch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Branch'
        404:
          description: 404 Branch Not Found
          content: {}
  /projects/{id}/badges/{badge_id}:
    get:
      tags:
      - badges
      summary: Gets a badge of a project.
      description: This feature was introduced in GitLab 10.6.
      operationId: getApiV4ProjectsIdBadgesBadgeId
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: badge_id
        in: path
        description: The badge ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Gets a badge of a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Badge'
    put:
      tags:
      - badges
      summary: Updates a badge of a project.
      description: This feature was introduced in GitLab 10.6.
      operationId: putApiV4ProjectsIdBadgesBadgeId
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: badge_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              properties:
                link_url:
                  type: string
                  description: URL of the badge link
                image_url:
                  type: string
                  description: URL of the badge image
                name:
                  type: string
                  description: Name for the badge
      responses:
        200:
          description: Updates a badge of a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Badge'
    delete:
      tags:
      - badges
      summary: Removes a badge from the project.
      description: This feature was introduced in GitLab 10.6.
      operationId: deleteApiV4ProjectsIdBadgesBadgeId
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: badge_id
        in: path
        description: The badge ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        204:
          description: Removes a badge from the project.
          content: {}
  /projects/{id}/badges:
    get:
      tags:
      - badges
      summary: Gets a list of project badges viewable by the authenticated user.
      description: This feature was introduced in GitLab 10.6.
      operationId: getApiV4ProjectsIdBadges
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      - name: name
        in: query
        description: Name for the badge
        schema:
          type: string
      responses:
        200:
          description: Gets a list of project badges viewable by the authenticated
            user.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_Badge'
    post:
      tags:
      - badges
      summary: Adds a badge to a project.
      description: This feature was introduced in GitLab 10.6.
      operationId: postApiV4ProjectsIdBadges
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      requestBody:
        content:
          application/json:
            schema:
              required:
              - image_url
              - link_url
              properties:
                link_url:
                  type: string
                  description: URL of the badge link
                image_url:
                  type: string
                  description: URL of the badge image
                name:
                  type: string
                  description: Name for the badge
        required: true
      responses:
        201:
          description: Adds a badge to a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Badge'
  /projects/{id}/badges/render:
    get:
      tags:
      - badges
      summary: Preview a badge from a project.
      description: This feature was introduced in GitLab 10.6.
      operationId: getApiV4ProjectsIdBadgesRender
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: link_url
        in: query
        description: URL of the badge link
        required: true
        schema:
          type: string
      - name: image_url
        in: query
        description: URL of the badge image
        required: true
        schema:
          type: string
      responses:
        200:
          description: Preview a badge from a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BasicBadgeDetails'
  /projects/{id}/access_requests/{user_id}:
    delete:
      tags:
      - access_requests
      summary: Denies an access request for the given user.
      description: This feature was introduced in GitLab 8.11.
      operationId: deleteApiV4ProjectsIdAccessRequestsUserId
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: user_id
        in: path
        description: The user ID of the access requester
        required: true
        schema:
          type: integer
          format: int32
      responses:
        204:
          description: Denies an access request for the given user.
          content: {}
  /projects/{id}/access_requests/{user_id}/approve:
    put:
      tags:
      - access_requests
      summary: Approves an access request for the given user.
      description: This feature was introduced in GitLab 8.11.
      operationId: putApiV4ProjectsIdAccessRequestsUserIdApprove
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: user_id
        in: path
        description: The user ID of the access requester
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              properties:
                access_level:
                  type: integer
                  description: 'A valid access level (defaults: `30`, the Developer
                    role)'
                  format: int32
                  default: 30
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_AccessRequester'
            successfull_response:
              example:
                id: 1
                username: raymond_smith
                name: Raymond Smith
                state: active
                created_at: 2012-10-22T14:13:35Z
                access_level: 20
  /projects/{id}/access_requests:
    get:
      tags:
      - access_requests
      summary: Gets a list of access requests for a project.
      description: This feature was introduced in GitLab 8.11.
      operationId: getApiV4ProjectsIdAccessRequests
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        200:
          description: Gets a list of access requests for a project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_AccessRequester'
    post:
      tags:
      - access_requests
      summary: Requests access for the authenticated user to a project.
      description: This feature was introduced in GitLab 8.11.
      operationId: postApiV4ProjectsIdAccessRequests
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_AccessRequester'
            successfull_response:
              example:
                id: 1
                username: raymond_smith
                name: Raymond Smith
                state: active
                created_at: 2012-10-22T14:13:35Z
                access_level: 20
  /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}:
    put:
      tags:
      - alert_management
      description: Update a metric image for an alert
      operationId: putApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesMetricImageId
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: alert_iid
        in: path
        description: The IID of the Alert
        required: true
        schema:
          type: integer
          format: int32
      - name: metric_image_id
        in: path
        description: The ID of metric image
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                url:
                  type: string
                  description: The url to view more metric info
                url_text:
                  type: string
                  description: A description of the image or URL
      responses:
        200:
          description: Update a metric image for an alert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_MetricImage'
        403:
          description: Forbidden
          content: {}
        422:
          description: Unprocessable entity
          content: {}
    delete:
      tags:
      - alert_management
      description: Remove a metric image for an alert
      operationId: deleteApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesMetricImageId
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: alert_iid
        in: path
        description: The IID of the Alert
        required: true
        schema:
          type: integer
          format: int32
      - name: metric_image_id
        in: path
        description: The ID of metric image
        required: true
        schema:
          type: integer
          format: int32
      responses:
        204:
          description: Remove a metric image for an alert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_MetricImage'
        403:
          description: Forbidden
          content: {}
        422:
          description: Unprocessable entity
          content: {}
  /projects/{id}/alert_management_alerts/{alert_iid}/metric_images:
    get:
      tags:
      - alert_management
      description: Metric Images for alert
      operationId: getApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImages
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: alert_iid
        in: path
        description: The IID of the Alert
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Metric Images for alert
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_MetricImage'
        404:
          description: Not found
          content: {}
    post:
      tags:
      - alert_management
      description: Upload a metric image for an alert
      operationId: postApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImages
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: alert_iid
        in: path
        description: The IID of the Alert
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - file
              properties:
                file:
                  type: string
                  description: The image file to be uploaded
                  format: binary
                url:
                  type: string
                  description: The url to view more metric info
                url_text:
                  type: string
                  description: A description of the image or URL
        required: true
      responses:
        200:
          description: Upload a metric image for an alert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_MetricImage'
        403:
          description: Forbidden
          content: {}
  /projects/{id}/alert_management_alerts/{alert_iid}/metric_images/authorize:
    post:
      tags:
      - alert_management
      description: Workhorse authorize metric image file upload
      operationId: postApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesAuthorize
      parameters:
      - $ref: '#/components/parameters/ProjectIdOrPath'
      - name: alert_iid
        in: path
        description: The IID of the Alert
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Workhorse authorize metric image file upload
          content: {}
        403:
          description: Forbidden
          content: {}
  /admin/batched_background_migrations/{id}:
    get:
      tags:
      - batched_background_migrations
      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
      - name: id
        in: path
        description: The batched background migration id
        required: true
        schema:
          type: integer
          format: int32
      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: {}
  /admin/batched_background_migrations:
    get:
      tags:
      - batched_background_migrations
      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
      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: {}
  /admin/batched_background_migrations/{id}/resume:
    put:
      tags:
      - batched_background_migrations
      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
      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: {}
  /admin/batched_background_migrations/{id}/pause:
    put:
      tags:
      - batched_background_migrations
      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
      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: {}
  /admin/ci/variables/{key}:
    get:
      tags:
      - ci_variables
      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
      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: {}
    put:
      tags:
      - ci_variables
      description: Update an instance-level variable
      operationId: putApiV4AdminCiVariablesKey
      parameters:
      - name: key
        in: path
        description: The key of a variable
        required: true
        schema:
          type: string
      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: {}
    delete:
      tags:
      - ci_variables
      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
      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: {}
  /admin/ci/variables:
    get:
      tags:
      - ci_variables
      description: List all instance-level variables
      operationId: getApiV4AdminCiVariables
      parameters:
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        200:
          description: List all instance-level variables
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Ci_Variable'
    post:
      tags:
      - ci_variables
      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: {}
  /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
      - name: table_name
        in: path
        description: The table name
        required: true
        schema:
          type: string
      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: {}
  /admin/clusters/{cluster_id}:
    get:
      tags:
      - clusters
      summary: 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
      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: {}
    put:
      tags:
      - clusters
      summary: 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
      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: {}
    delete:
      tags:
      - clusters
      summary: 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
      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: {}
  /admin/clusters/add:
    post:
      tags:
      - clusters
      summary: 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: {}
  /admin/clusters:
    get:
      tags:
      - clusters
      summary: 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: {}
  /admin/migrations/{timestamp}/mark:
    post:
      tags:
      - migrations
      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
      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: {}
  /applications/{id}:
    delete:
      tags:
      - applications
      summary: Delete an application
      description: Delete a specific application
      operationId: deleteApiV4ApplicationsId
      parameters:
      - name: id
        in: path
        description: The ID of the application (not the application_id)
        required: true
        schema:
          type: integer
          format: int32
      responses:
        204:
          description: Delete an application
          content: {}
  /applications:
    get:
      tags:
      - applications
      summary: Get applications
      description: List all registered applications
      operationId: getApiV4Applications
      responses:
        200:
          description: Get applications
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_Application'
    post:
      tags:
      - applications
      summary: Create a new application
      description: This feature was introduced in GitLab 10.5
      operationId: postApiV4Applications
      requestBody:
        content:
          application/json:
            schema:
              required:
              - name
              - redirect_uri
              - scopes
              properties:
                name:
                  type: string
                  description: Name of the application.
                redirect_uri:
                  type: string
                  description: Redirect URI of the application.
                scopes:
                  type: string
                  description: |-
                    Scopes of the application. You can specify multiple scopes by separating\
                                                     each scope using a space
                confidential:
                  type: boolean
                  description: |-
                    The application is used where the client secret can be kept confidential. Native mobile apps \
                                            and Single Page Apps are considered non-confidential. Defaults to true if not supplied
                  default: true
        required: true
      responses:
        200:
          description: Create a new application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_ApplicationWithSecret'
  /avatar:
    get:
      tags:
      - avatar
      description: Return avatar url for a user
      operationId: getApiV4Avatar
      parameters:
      - name: email
        in: query
        description: Public email address of the user
        required: true
        schema:
          type: string
      - name: size
        in: query
        description: Single pixel dimension for Gravatar images
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Return avatar url for a user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Avatar'
  /broadcast_messages/{id}:
    get:
      tags:
      - broadcast_messages
      summary: Get a specific broadcast message
      description: This feature was introduced in GitLab 8.12.
      operationId: getApiV4BroadcastMessagesId
      parameters:
      - name: id
        in: path
        description: Broadcast message ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Get a specific broadcast message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BroadcastMessage'
    put:
      tags:
      - broadcast_messages
      summary: Update a broadcast message
      description: This feature was introduced in GitLab 8.12.
      operationId: putApiV4BroadcastMessagesId
      parameters:
      - name: id
        in: path
        description: Broadcast message ID
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              properties:
                message:
                  type: string
                  description: Message to display
                starts_at:
                  type: string
                  description: Starting time
                  format: date-time
                ends_at:
                  type: string
                  description: Ending time
                  format: date-time
                color:
                  type: string
                  description: Background color
                font:
                  type: string
                  description: Foreground color
                target_access_levels:
                  type: array
                  description: Target user roles
                  items:
                    type: integer
                    format: int32
                    enum:
                    - 10
                    - 20
                    - 30
                    - 40
                    - 50
                target_path:
                  type: string
                  description: Target path
                broadcast_type:
                  type: string
                  description: Broadcast Type
                  enum:
                  - banner
                  - notification
                dismissable:
                  type: boolean
                  description: Is dismissable
      responses:
        200:
          description: Update a broadcast message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BroadcastMessage'
    delete:
      tags:
      - broadcast_messages
      summary: Delete a broadcast message
      description: This feature was introduced in GitLab 8.12.
      operationId: deleteApiV4BroadcastMessagesId
      parameters:
      - name: id
        in: path
        description: Broadcast message ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Delete a broadcast message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BroadcastMessage'
  /broadcast_messages:
    get:
      tags:
      - broadcast_messages
      summary: Get all broadcast messages
      description: This feature was introduced in GitLab 8.12.
      operationId: getApiV4BroadcastMessages
      parameters:
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        200:
          description: Get all broadcast messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BroadcastMessage'
    post:
      tags:
      - broadcast_messages
      summary: Create a broadcast message
      description: This feature was introduced in GitLab 8.12.
      operationId: postApiV4BroadcastMessages
      requestBody:
        content:
          application/json:
            schema:
              required:
              - message
              properties:
                message:
                  type: string
                  description: Message to display
                starts_at:
                  type: string
                  description: Starting time
                  format: date-time
                ends_at:
                  type: string
                  description: Ending time
                  format: date-time
                color:
                  type: string
                  description: Background color
                font:
                  type: string
                  description: Foreground color
                target_access_levels:
                  type: array
                  description: Target user roles
                  items:
                    type: integer
                    format: int32
                    enum:
                    - 10
                    - 20
                    - 30
                    - 40
                    - 50
                target_path:
                  type: string
                  description: Target path
                broadcast_type:
                  type: string
                  description: Broadcast type. Defaults to banner
                  enum:
                  - banner
                  - notification
                dismissable:
                  type: boolean
                  description: Is dismissable
        required: true
      responses:
        201:
          description: Create a broadcast message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BroadcastMessage'
  /bulk_imports/{import_id}/entities/{entity_id}:
    get:
      tags:
      - bulk_imports
      summary: Get GitLab Migration entity details
      description: This feature was introduced in GitLab 14.1.
      operationId: getApiV4BulkImportsImportIdEntitiesEntityId
      parameters:
      - name: import_id
        in: path
        description: The ID of user's GitLab Migration
        required: true
        schema:
          type: integer
          format: int32
      - name: entity_id
        in: path
        description: The ID of GitLab Migration entity
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Get GitLab Migration entity details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BulkImports'
        401:
          description: Unauthorized
          content: {}
        404:
          description: Not found
          content: {}
        503:
          description: Service unavailable
          content: {}
  /bulk_imports/{import_id}/entities:
    get:
      tags:
      - bulk_imports
      summary: List GitLab Migration entities
      description: This feature was introduced in GitLab 14.1.
      operationId: getApiV4BulkImportsImportIdEntities
      parameters:
      - name: import_id
        in: path
        description: The ID of user's GitLab Migration
        required: true
        schema:
          type: integer
          format: int32
      - name: status
        in: query
        description: Return import entities with specified status
        schema:
          type: string
          enum:
          - created
          - started
          - finished
          - timeout
          - failed
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        200:
          description: List GitLab Migration entities
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_BulkImports'
        401:
          description: Unauthorized
          content: {}
        404:
          description: Not found
          content: {}
        503:
          description: Service unavailable
          content: {}
  /bulk_imports/{import_id}:
    get:
      tags:
      - bulk_imports
      summary: Get GitLab Migration details
      description: This feature was introduced in GitLab 14.1.
      operationId: getApiV4BulkImportsImportId
      parameters:
      - name: import_id
        in: path
        description: The ID of user's GitLab Migration
        required: true
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Get GitLab Migration details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BulkImport'
        401:
          description: Unauthorized
          content: {}
        404:
          description: Not found
          content: {}
        503:
          description: Service unavailable
          content: {}
  /bulk_imports/entities:
    get:
      tags:
      - bulk_imports
      summary: List all GitLab Migrations' entities
      description: This feature was introduced in GitLab 14.1.
      operationId: getApiV4BulkImportsEntities
      parameters:
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      - name: sort
        in: query
        description: Return GitLab Migrations sorted in created by `asc` or `desc`
          order.
        schema:
          type: string
          default: desc
          enum:
          - asc
          - desc
      - name: status
        in: query
        description: Return all GitLab Migrations' entities with specified status
        schema:
          type: string
          enum:
          - created
          - started
          - finished
          - timeout
          - failed
      responses:
        200:
          description: List all GitLab Migrations' entities
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_BulkImports'
        401:
          description: Unauthorized
          content: {}
        404:
          description: Not found
          content: {}
        503:
          description: Service unavailable
          content: {}
  /bulk_imports:
    get:
      tags:
      - bulk_imports
      summary: List all GitLab Migrations
      description: This feature was introduced in GitLab 14.1.
      operationId: getApiV4BulkImports
      parameters:
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          format: int32
          default: 20
      - name: sort
        in: query
        description: Return GitLab Migrations sorted in created by `asc` or `desc`
          order.
        schema:
          type: string
          default: desc
          enum:
          - asc
          - desc
      - name: status
        in: query
        description: Return GitLab Migrations with specified status
        schema:
          type: string
          enum:
          - created
          - started
          - finished
          - timeout
          - failed
      responses:
        200:
          description: List all GitLab Migrations
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_BulkImport'
        401:
          description: Unauthorized
          content: {}
        404:
          description: Not found
          content: {}
        503:
          description: Service unavailable
          content: {}
    post:
      tags:
      - bulk_imports
      summary: Start a new GitLab Migration
      description: This feature was introduced in GitLab 14.2.
      operationId: postApiV4BulkImports
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              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
                configuration[access_token]:
                  type: string
                  description: Access token to the source GitLab instance
                entities[source_type]:
                  type: array
                  description: Source entity type
                  items:
                    type: string
                    enum:
                    - group_entity
                    - project_entity
                entities[source_full_path]:
                  type: array
                  description: Relative path of the source entity to import
                  items:
                    type: string
                entities[destination_namespace]:
                  type: array
                  description: Destination namespace for the entity
                  items:
                    type: string
                entities[destination_slug]:
                  type: array
                  description: Destination slug for the entity
                  items:
                    type: string
                entities[destination_name]:
                  type: array
                  description: 'Deprecated: Use :destination_slug instead. Destination
                    slug for the entity'
                  items:
                    type: string
                entities[migrate_projects]:
                  type: array
                  description: Indicates group migration should include nested projects
                  items:
                    type: boolean
        required: true
      responses:
        200:
          description: Start a new GitLab Migration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_BulkImport'
        400:
          description: Bad request
          content: {}
        401:
          description: Unauthorized
          content: {}
        404:
          description: Not found
          content: {}
        422:
          description: Unprocessable entity
          content: {}
        503:
          description: Service unavailable
          content: {}
  /application/appearance:
    get:
      tags:
      - application
      description: Get the current appearance
      operationId: getApiV4ApplicationAppearance
      responses:
        200:
          description: Get the current appearance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Appearance'
    put:
      tags:
      - application
      description: Modify appearance
      operationId: putApiV4ApplicationAppearance
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                title:
                  type: string
                  description: Instance title on the sign in / sign up page
                description:
                  type: string
                  description: Markdown text shown on the sign in / sign up page
                pwa_name:
                  type: string
                  description: Name of the Progressive Web App
                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
                logo:
                  type: string
                  description: Instance image used on the sign in / sign up page
                  format: binary
                pwa_icon:
                  type: string
                  description: Icon used for Progressive Web App
                  format: binary
                header_logo:
                  type: string
                  description: Instance image used for the main navigation bar
                  format: binary
                favicon:
                  type: string
                  description: Instance favicon in .ico/.png format
                  format: binary
                new_project_guidelines:
                  type: string
                  description: Markdown text shown on the new project page
                profile_image_guidelines:
                  type: string
                  description: Markdown text shown on the profile page below Public
                    Avatar
                header_message:
                  type: string
                  description: Message within the system header bar
                footer_message:
                  type: string
                  description: Message within the system footer bar
                message_background_color:
                  type: string
                  description: Background color for the system header / footer bar
                message_font_color:
                  type: string
                  description: Font color for the system header / footer bar
                email_header_and_footer_enabled:
                  type: boolean
                  description: Add header and footer to all outgoing emails if enabled
      responses:
        200:
          description: Modify appearance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Appearance'
  /application/plan_limits:
    get:
      tags:
      - plan_limits
      summary: Get current plan limits
      description: List the current limits of a plan on the GitLab instance.
      operationId: getApiV4ApplicationPlanLimits
      parameters:
      - name: plan_name
        in: query
        description: 'Name of the plan to get the limits from. Default: default.'
        schema:
          type: string
          default: default
          enum:
          - default
          - free
          - bronze
          - silver
          - premium
          - gold
          - ultimate
          - ultimate_trial
          - premium_trial
          - opensource
      responses:
        200:
          description: Get current plan limits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_PlanLimit'
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
    put:
      tags:
      - plan_limits
      summary: Change plan limits
      description: Modify the limits of a plan on the GitLab instance.
      operationId: putApiV4ApplicationPlanLimits
      requestBody:
        content:
          application/json:
            schema:
              required:
              - plan_name
              properties:
                plan_name:
                  type: string
                  description: Name of the plan to update
                  enum:
                  - default
                  - free
                  - bronze
                  - silver
                  - premium
                  - gold
                  - ultimate
                  - ultimate_trial
                  - premium_trial
                  - opensource
                ci_pipeline_size:
                  type: integer
                  description: Maximum number of jobs in a single pipeline
                  format: int32
                ci_active_jobs:
                  type: integer
                  description: Total number of jobs in currently active pipelines
                  format: int32
                ci_project_subscriptions:
                  type: integer
                  description: Maximum number of pipeline subscriptions to and from
                    a project
                  format: int32
                ci_pipeline_schedules:
                  type: integer
                  description: Maximum number of pipeline schedules
                  format: int32
                ci_needs_size_limit:
                  type: integer
                  description: Maximum number of needs dependencies that a job can have
                  format: int32
                ci_registered_group_runners:
                  type: integer
                  description: Maximum number of runners registered per group
                  format: int32
                ci_registered_project_runners:
                  type: integer
                  description: Maximum number of runners registered per project
                  format: int32
                conan_max_file_size:
                  type: integer
                  description: Maximum Conan package file size in bytes
                  format: int32
                enforcement_limit:
                  type: integer
                  description: Maximum storage size for the root namespace enforcement
                    in MiB
                  format: int32
                generic_packages_max_file_size:
                  type: integer
                  description: Maximum generic package file size in bytes
                  format: int32
                helm_max_file_size:
                  type: integer
                  description: Maximum Helm chart file size in bytes
                  format: int32
                maven_max_file_size:
                  type: integer
                  description: Maximum Maven package file size in bytes
                  format: int32
                notification_limit:
                  type: integer
                  description: Maximum storage size for the root namespace notifications
                    in MiB
                  format: int32
                npm_max_file_size:
                  type: integer
                  description: Maximum NPM package file size in bytes
                  format: int32
                nuget_max_file_size:
                  type: integer
                  description: Maximum NuGet package file size in bytes
                  format: int32
                pypi_max_file_size:
                  type: integer
                  description: Maximum PyPI package file size in bytes
                  format: int32
                terraform_module_max_file_size:
                  type: integer
                  description: Maximum Terraform Module package file size in bytes
                  format: int32
                storage_size_limit:
                  type: integer
                  description: Maximum storage size for the root namespace in MiB
                  format: int32
                pipeline_hierarchy_size:
                  type: integer
                  description: Maximum number of downstream pipelines in a pipeline's
                    hierarchy tree
                  format: int32
        required: true
      responses:
        200:
          description: Change plan limits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_PlanLimit'
        400:
          description: Bad request
          content: {}
        401:
          description: Unauthorized
          content: {}
        403:
          description: Forbidden
          content: {}
  /metadata:
    get:
      tags:
      - metadata
      summary: Retrieve metadata information for this GitLab instance
      description: This feature was introduced in GitLab 15.2.
      operationId: getApiV4Metadata
      responses:
        200:
          description: Retrieve metadata information for this GitLab instance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Metadata'
        401:
          description: Unauthorized
          content: {}
  /version:
    get:
      tags:
      - metadata
      summary: Retrieves version information for the GitLab instance
      description: This feature was introduced in GitLab 8.13 and deprecated in 15.5.
        We recommend you instead use the Metadata API.
      operationId: getApiV4Version
      responses:
        200:
          description: Retrieves version information for the GitLab instance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Metadata'
        401:
          description: Unauthorized
          content: {}
  /projects/{id}/jobs:
    get:
      tags:
      - jobs
      summary: List jobs for a project
      operationId: listProjectJobs
      parameters:
        - $ref: '#/components/parameters/ProjectIdOrPath'
        - name: scope
          in: query
          required: false
          description: Return all jobs with the specified statuses
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: An array of jobs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/API_Entities_Job'
  /projects/{id}/jobs/{job_id}:
    get:
      tags:
      - jobs
      summary: Get a single job by ID
      operationId: getSingleJob
      parameters:
        - $ref: '#/components/parameters/ProjectIdOrPath'
        - name: job_id
          in: path
          required: true
          description: The ID of the job
          schema:
            type: integer
      responses:
        '200':
          description: A single job object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/API_Entities_Job'
  /projects/{id}/jobs/{job_id}/play:
    post:
      tags:
      - jobs
      summary: Run a manual job
      operationId: triggerManualJob
      parameters:
        - $ref: '#/components/parameters/ProjectIdOrPath'
        - name: job_id
          in: path
          required: true
          description: The ID of the manual job to run
          schema:
            type: integer
        - name: job_variables_attributes
          in: query
          required: false
          description: An array containing the custom variables available to the job
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Job started successfully
components:
  parameters:
    ProjectIdOrPath:
      name: id
      in: path
      description: The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/rest/#namespaced-paths).
      required: true
      schema:
        anyOf:
        - type: string
          example: gitlab-org/gitlab
        - type: integer
          example: 278964
  schemas:
    API_Entities_Badge:
      type: object
      properties:
        name:
          type: string
        link_url:
          type: string
        image_url:
          type: string
        rendered_link_url:
          type: string
        rendered_image_url:
          type: string
        id:
          type: string
        kind:
          type: string
      description: API_Entities_Badge model
    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
    API_Entities_AccessRequester:
      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
        requested_at:
          type: string
      description: API_Entities_AccessRequester model
    API_Entities_CustomAttribute:
      type: object
      properties:
        key:
          type: string
          example: foo
        value:
          type: string
          example: bar
    API_Entities_Branch:
      type: object
      properties:
        name:
          type: string
          example: master
        commit:
          $ref: '#/components/schemas/API_Entities_Commit'
        merged:
          type: boolean
          example: true
        protected:
          type: boolean
          example: true
        developers_can_push:
          type: boolean
          example: true
        developers_can_merge:
          type: boolean
          example: true
        can_push:
          type: boolean
          example: true
        default:
          type: boolean
          example: true
        web_url:
          type: string
          example: https://gitlab.example.com/Commit921/the-dude/-/tree/master
      description: API_Entities_Branch model
    API_Entities_Commit:
      type: object
      properties:
        id:
          type: string
          example: 2695effb5807a22ff3d138d593fd856244e155e7
        short_id:
          type: string
          example: 2695effb
        created_at:
          type: string
          format: date-time
          example: 2017-07-26T11:08:53+02:00
        parent_ids:
          type: array
          items:
            type: string
            example: 2a4b78934375d7f53875269ffd4f45fd83a84ebe
        title:
          type: string
          example: Initial commit
        message:
          type: string
          example: Initial commit
        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-28T04:42:42-07:00
        committer_name:
          type: string
          example: Jack Smith
        committer_email:
          type: string
          example: jack@example.com
        committed_date:
          type: string
          format: date-time
          example: 2012-05-28T04:42:42-07:00
        trailers:
          type: object
          properties: {}
          example: '{ "Merged-By": "Jane Doe janedoe@gitlab.com" }'
        web_url:
          type: string
          example: https://gitlab.example.com/janedoe/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746
    API_Entities_MetricImage:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 23
        created_at:
          type: string
          format: date-time
          example: 2020-11-13T00:06:18.084Z
        filename:
          type: string
          example: file.png
        file_path:
          type: string
          example: /uploads/-/system/alert_metric_image/file/23/file.png
        url:
          type: string
          example: https://example.com/metric
        url_text:
          type: string
          example: An example metric
      description: API_Entities_MetricImage 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.0
        created_at:
          type: string
          format: date-time
          example: 2022-11-28T16:26:39+02:00
      description: API_Entities_BatchedBackgroundMigration model
    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
        masked:
          type: boolean
        raw:
          type: boolean
        environment_scope:
          type: string
          example: '*'
      description: API_Entities_Ci_Variable 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_Cluster:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        created_at:
          type: string
        domain:
          type: string
        enabled:
          type: string
        managed:
          type: string
        provider_type:
          type: string
        platform_type:
          type: string
        environment_scope:
          type: string
        cluster_type:
          type: string
        namespace_per_environment:
          type: string
        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_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
    API_Entities_Platform_Kubernetes:
      type: object
      properties:
        api_url:
          type: string
        namespace:
          type: string
        authorization_type:
          type: string
        ca_cert:
          type: string
    API_Entities_Provider_Gcp:
      type: object
      properties:
        cluster_id:
          type: string
        status_name:
          type: string
        gcp_project_id:
          type: string
        zone:
          type: string
        machine_type:
          type: string
        num_nodes:
          type: string
        endpoint:
          type: string
    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-07T04:27:17.016Z
    API_Entities_Application:
      type: object
      properties:
        id:
          type: string
        application_id:
          type: string
          example: 5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737
        application_name:
          type: string
          example: MyApplication
        callback_url:
          type: string
          example: https://redirect.uri
        confidential:
          type: boolean
          example: true
      description: API_Entities_Application model
    API_Entities_ApplicationWithSecret:
      type: object
      properties:
        id:
          type: string
        application_id:
          type: string
          example: 5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737
        application_name:
          type: string
          example: MyApplication
        callback_url:
          type: string
          example: https://redirect.uri
        confidential:
          type: boolean
          example: true
        secret:
          type: string
          example: ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34
      description: API_Entities_ApplicationWithSecret model
    API_Entities_Avatar:
      type: object
      properties:
        avatar_url:
          type: string
      description: API_Entities_Avatar model
    API_Entities_BroadcastMessage:
      type: object
      properties:
        id:
          type: string
        message:
          type: string
        starts_at:
          type: string
        ends_at:
          type: string
        color:
          type: string
        font:
          type: string
        target_access_levels:
          type: string
        target_path:
          type: string
        broadcast_type:
          type: string
        dismissable:
          type: string
        active:
          type: string
      description: API_Entities_BroadcastMessage model
    API_Entities_BulkImports:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 1
        bulk_import_id:
          type: integer
          format: int32
          example: 1
        status:
          type: string
          example: created
          enum:
          - created
          - started
          - finished
          - timeout
          - failed
        entity_type:
          type: string
          enum:
          - group
          - project
        source_full_path:
          type: string
          example: source_group
        destination_full_path:
          type: string
          example: some_group/source_project
        destination_name:
          type: string
          example: destination_slug
        destination_slug:
          type: string
          example: destination_slug
        destination_namespace:
          type: string
          example: destination_path
        parent_id:
          type: integer
          format: int32
          example: 1
        namespace_id:
          type: integer
          format: int32
          example: 1
        project_id:
          type: integer
          format: int32
          example: 1
        created_at:
          type: string
          format: date-time
          example: 2012-05-28T04:42:42-07:00
        updated_at:
          type: string
          format: date-time
          example: 2012-05-28T04:42:42-07:00
        failures:
          type: array
          items:
            $ref: '#/components/schemas/API_Entities_BulkImports_EntityFailure'
        migrate_projects:
          type: boolean
          example: true
      description: API_Entities_BulkImports model
    API_Entities_BulkImports_EntityFailure:
      type: object
      properties:
        relation:
          type: string
          example: group
        step:
          type: string
          example: extractor
        exception_message:
          type: string
          example: error message
        exception_class:
          type: string
          example: Exception
        correlation_id_value:
          type: string
          example: dfcf583058ed4508e4c7c617bd7f0edd
        created_at:
          type: string
          format: date-time
          example: 2012-05-28T04:42:42-07:00
        pipeline_class:
          type: string
          example: BulkImports::Groups::Pipelines::GroupPipeline
        pipeline_step:
          type: string
          example: extractor
    API_Entities_BulkImport:
      type: object
      properties:
        id:
          type: integer
          format: int32
          example: 1
        status:
          type: string
          example: finished
          enum:
          - created
          - started
          - finished
          - timeout
          - failed
        source_type:
          type: string
          example: gitlab
        created_at:
          type: string
          format: date-time
          example: 2012-05-28T04:42:42-07:00
        updated_at:
          type: string
          format: date-time
          example: 2012-05-28T04:42:42-07:00
      description: API_Entities_BulkImport model
    API_Entities_Appearance:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        pwa_name:
          type: string
        pwa_short_name:
          type: string
        pwa_description:
          type: string
        logo:
          type: string
        pwa_icon:
          type: string
        header_logo:
          type: string
        favicon:
          type: string
        new_project_guidelines:
          type: string
        profile_image_guidelines:
          type: string
        header_message:
          type: string
        footer_message:
          type: string
        message_background_color:
          type: string
        message_font_color:
          type: string
        email_header_and_footer_enabled:
          type: string
      description: API_Entities_Appearance model
    API_Entities_PlanLimit:
      type: object
      properties:
        ci_pipeline_size:
          type: integer
          format: int32
          example: 0
        ci_active_jobs:
          type: integer
          format: int32
          example: 0
        ci_project_subscriptions:
          type: integer
          format: int32
          example: 2
        ci_pipeline_schedules:
          type: integer
          format: int32
          example: 10
        ci_needs_size_limit:
          type: integer
          format: int32
          example: 50
        ci_registered_group_runners:
          type: integer
          format: int32
          example: 1000
        ci_registered_project_runners:
          type: integer
          format: int32
          example: 1000
        conan_max_file_size:
          type: integer
          format: int32
          example: 3221225472
        enforcement_limit:
          type: integer
          format: int32
          example: 15000
        generic_packages_max_file_size:
          type: integer
          format: int32
          example: 5368709120
        helm_max_file_size:
          type: integer
          format: int32
          example: 5242880
        limits_history:
          type: object
          properties: {}
          example: |-
            {"enforcement_limit"=>[{"timestamp"=>1686909124, "user_id"=>1, "username"=>"x", "value"=>5}],
                               "notification_limit"=>[{"timestamp"=>1686909124, "user_id"=>2, "username"=>"y", "value"=>7}]}
        maven_max_file_size:
          type: integer
          format: int32
          example: 3221225472
        notification_limit:
          type: integer
          format: int32
          example: 15000
        npm_max_file_size:
          type: integer
          format: int32
          example: 524288000
        nuget_max_file_size:
          type: integer
          format: int32
          example: 524288000
        pipeline_hierarchy_size:
          type: integer
          format: int32
          example: 1000
        pypi_max_file_size:
          type: integer
          format: int32
          example: 3221225472
        terraform_module_max_file_size:
          type: integer
          format: int32
          example: 1073741824
        storage_size_limit:
          type: integer
          format: int32
          example: 15000
      description: API_Entities_PlanLimit model
    API_Entities_Metadata:
      type: object
      properties:
        version:
          type: string
          example: 15.2-pre
        revision:
          type: string
          example: c401a659d0c
        kas:
          type: object
          properties:
            enabled:
              type: boolean
            externalUrl:
              type: string
              example: grpc://gitlab.example.com:8150
            version:
              type: string
              example: 15.0.0
        enterprise:
          type: boolean
      description: API_Entities_Metadata model
    API_Entities_Job:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the job
        name:
          type: string
          description: The name of the job
        status:
          type: string
          description: The current status of the job
        stage:
          type: string
          description: The stage of the job in the CI/CD pipeline
        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
        commit:
          $ref: '#/components/schemas/API_Entities_Commit'
        archived:
          type: boolean
          description: Indicates if the job is archived
        allow_failure:
          type: boolean
          description: Indicates if the job is allowed to fail
        erased_at:
          type: string
          format: date-time
          example: 2016-01-11T10:13:33.506Z
          description: The time when the job was erased, if applicable
        duration:
          type: integer
          description: The duration of the job in seconds
        queued_duration:
          type: number
          description: The duration the job was queued before execution, in seconds
        ref:
          type: string
          description: The reference for the job
        artifacts:
          type: array
          description: The artifacts produced by the job
        tag:
          type: boolean
          description: Indicates if the job is tagged
        web_url:
          type: string
          description: The URL for accessing the job in the web interface
        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
        user:
          $ref: '#/components/schemas/API_Entities_UserBasic'
          description: The user that started the job
      description: API_Entities_Job model
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Private-Token
