GitLab REST API v4 (CI/CD endpoints)

GitLab REST API v4. CI/CD-related endpoint families include /projects/:id/ pipelines, /projects/:id/jobs, /projects/:id/pipeline_schedules, /projects/:id/triggers, /runners, /projects/:id/runners, /projects/:id/environments, /projects/:id/deployments and the /projects/:id/releases family. Authenticated with personal access tokens, OAuth tokens, project access tokens, group access tokens, CI job tokens or trigger tokens.

OpenAPI Specification

gitlab-ci-openapi.yml Raw ↑
#############################################################################################
# This documentation is auto-generated by a script.                                         #
# Please do not edit this file directly.                                                    #
#                                                                                           #
# To edit the introductory text, modify `lib/tasks/gitlab/openapi/v2.rake`.                 #
#                                                                                           #
# Run `bin/rake gitlab:openapi:v2:generate`                                                 #
#############################################################################################

---
info:
  title: GitLab API
  version: v4
swagger: '2.0'
produces:
- application/json
securityDefinitions:
  access_token_header:
    type: apiKey
    name: PRIVATE-TOKEN
    in: header
  access_token_query:
    type: apiKey
    name: private_token
    in: query
host: gitlab.com
tags:
- name: award_emoji
  description: Operations about award_emoji
- name: badges
  description: Operations about badges
- name: custom_attributes
  description: Operations about custom_attributes
- name: groups
  description: Operations about groups
- name: ldap
  description: Operations about ldaps
- name: audit_events
  description: Operations about audit_events
- name: keys
  description: Operations about keys
- name: runners
  description: Operations about runners
- name: packages
  description: Operations about packages
- name: deploy_resources
  description: Operations about deploy_resources
- name: avatars
  description: Operations about avatars
- name: group_import_and_export
  description: Operations about group_import_and_exports
- name: invitations
  description: Operations about invitations
- name: members
  description: Operations about members
- name: access_tokens
  description: Operations about access_tokens
- name: search
  description: Operations about searches
- name: wikis
  description: Operations about wikis
- name: alert_management
  description: Operations about alert_managements
- name: branches
  description: Operations about branches
- name: ci_catalog
  description: Operations about ci_catalogs
- name: job_artifacts
  description: Operations about job_artifacts
- name: ci_jobs
  description: Operations about ci_jobs
- name: secure_files
  description: Operations about secure_files
- name: pipelines
  description: Operations about pipelines
- name: pipeline_schedules
  description: Operations about pipeline_schedules
- name: ci_triggers
  description: Operations about ci_triggers
- name: commits
  description: Operations about commits
- name: commit_statuses
  description: Operations about commit_statuses
- name: draft_notes
  description: Operations about draft_notes
- name: error_tracking
  description: Operations about error_trackings
- name: files
  description: Operations about files
- name: issues
  description: Operations about issues
- name: metric_images
  description: Operations about metric_images
- name: merge_request_approvals
  description: Operations about merge_request_approvals
- name: gitlab_pages
  description: Operations about gitlab_pages
- name: events
  description: Operations about events
- name: hooks
  description: Operations about hooks
- name: projects_job_token_scope
  description: Operations about projects_job_token_scopes
- name: project_snapshots
  description: Operations about project_snapshots
- name: snippets
  description: Operations about snippets
- name: project_templates
  description: Operations about project_templates
- name: protected_branches
  description: Operations about protected_branches
- name: protected_tags
  description: Operations about protected_tags
- name: remote_mirrors
  description: Operations about remote_mirrors
- name: repositories
  description: Operations about repositories
- name: resource_events
  description: Operations about resource_events
- name: submodules
  description: Operations about submodules
- name: attestations
  description: Operations about attestations
- name: tags
  description: Operations about tags
- name: terraform
  description: Operations about terraforms
- name: batched_background_migrations
  description: Operations about batched_background_migrations
- name: database_dictionary
  description: Operations about database_dictionaries
- name: migrations
  description: Operations about migrations
- name: broadcast_messages
  description: Operations about broadcast_messages
- name: applications
  description: Operations about applications
- name: imports
  description: Operations about imports
- name: agents
  description: Operations about agents
- name: ci_runners
  description: Operations about ci_runners
- name: jobs
  description: Operations about jobs
- name: chaos
  description: Operations about chaos
- name: glql
  description: Operations about glqls
- name: internal_operations
  description: Operations about internal_operations
- name: markdown
  description: Operations about markdowns
- name: namespaces
  description: Operations about namespaces
- name: offline_transfers
  description: Operations about offline_transfers
- name: organizations
  description: Operations about organizations
- name: unleash
  description: Operations about unleashes
- name: usage_data
  description: Operations about usage_data
- name: metrics
  description: Operations about metrics
- name: users
  description: Operations about users
- name: instance
  description: Operations about instances
- name: project_topics
  description: Operations about project_topics
- name: web_commits
  description: Operations about web_commits
- 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: 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:
  "/api/v4/groups/{id}/access_requests":
    get:
      summary: Gets a list of access requests for a group.
      description: This feature was introduced in GitLab 8.11.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        type: string
        required: true
      - in: query
        name: page
        description: Current page number
        type: integer
        format: int32
        default: 1
        required: false
        example: 1
      - in: query
        name: per_page
        description: Number of items per page
        type: integer
        format: int32
        default: 20
        required: false
        example: 20
      responses:
        '200':
          description: Gets a list of access requests for a group.
          schema:
            "$ref": "#/definitions/API_Entities_AccessRequester"
      tags:
      - access_requests
      operationId: getApiV4GroupsIdAccessRequests
    post:
      summary: Requests access for the authenticated user to a group.
      description: This feature was introduced in GitLab 8.11.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        type: string
        required: true
      responses:
        '200':
          description: Requests access for the authenticated user to a group.
          schema:
            "$ref": "#/definitions/API_Entities_AccessRequester"
      tags:
      - access_requests
      operationId: postApiV4GroupsIdAccessRequests
  "/api/v4/groups/{id}/access_requests/{user_id}/approve":
    put:
      summary: Approves an access request for the given user.
      description: This feature was introduced in GitLab 8.11.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        type: string
        required: true
      - in: path
        name: user_id
        description: The user ID of the access requester
        type: integer
        format: int32
        required: true
      - name: putApiV4GroupsIdAccessRequestsUserIdApprove
        in: body
        required: true
        schema:
          "$ref": "#/definitions/putApiV4GroupsIdAccessRequestsUserIdApprove"
      responses:
        '201':
          description: Approves an access request for the given user.
          schema:
            "$ref": "#/definitions/API_Entities_Member"
      tags:
      - access_requests
      operationId: putApiV4GroupsIdAccessRequestsUserIdApprove
  "/api/v4/groups/{id}/access_requests/{user_id}":
    delete:
      summary: Denies an access request for the given user.
      description: This feature was introduced in GitLab 8.11.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user
        type: string
        required: true
      - in: path
        name: user_id
        description: The user ID of the access requester
        type: integer
        format: int32
        required: true
      responses:
        '204':
          description: Denies an access request for the given user.
      tags:
      - access_requests
      operationId: deleteApiV4GroupsIdAccessRequestsUserId
  "/api/v4/groups/{id}/epics/{epic_iid}/award_emoji":
    get:
      summary: List an awardable's emoji reactions for groups
      description: Get a list of all emoji reactions for a specified awardable. This
        feature was introduced in 8.9
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group
        type: string
        required: true
      - in: path
        name: epic_iid
        description: ID (`iid` for merge requests/issues/epics, `id` for snippets)
          of an awardable.
        type: integer
        format: int32
        required: true
      - in: query
        name: page
        description: Current page number
        type: integer
        format: int32
        default: 1
        required: false
        example: 1
      - in: query
        name: per_page
        description: Number of items per page
        type: integer
        format: int32
        default: 20
        required: false
        example: 20
      responses:
        '200':
          description: List an awardable's emoji reactions for groups
          schema:
            type: array
            items:
              "$ref": "#/definitions/API_Entities_AwardEmoji"
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: getApiV4GroupsIdEpicsEpicIidAwardEmoji
    post:
      summary: Add a new emoji reaction
      description: Add an emoji reaction on the specified awardable. This feature
        was introduced in 8.9
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      - name: postApiV4GroupsIdEpicsEpicIidAwardEmoji
        in: body
        required: true
        schema:
          "$ref": "#/definitions/postApiV4GroupsIdEpicsEpicIidAwardEmoji"
      responses:
        '201':
          description: Add a new emoji reaction
          schema:
            "$ref": "#/definitions/API_Entities_AwardEmoji"
        '400':
          description: Bad Request
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: postApiV4GroupsIdEpicsEpicIidAwardEmoji
  "/api/v4/groups/{id}/epics/{epic_iid}/award_emoji/{award_id}":
    get:
      summary: Get a single emoji reaction
      description: Get a single emoji reaction from an issue, snippet, or merge request.
        This feature was introduced in 8.9
      produces:
      - application/json
      parameters:
      - in: path
        name: award_id
        description: ID of the emoji reaction.
        type: integer
        format: int32
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Get a single emoji reaction
          schema:
            "$ref": "#/definitions/API_Entities_AwardEmoji"
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: getApiV4GroupsIdEpicsEpicIidAwardEmojiAwardId
    delete:
      summary: Delete an emoji reaction
      description: Only an administrator or the author of the reaction can delete
        an emoji reaction. This feature was introduced in 8.9
      produces:
      - application/json
      parameters:
      - in: path
        name: award_id
        description: ID of an emoji reaction.
        type: integer
        format: int32
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      responses:
        '204':
          description: Delete an emoji reaction
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: deleteApiV4GroupsIdEpicsEpicIidAwardEmojiAwardId
  "/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji":
    get:
      summary: List an awardable's emoji reactions for groups
      description: Get a list of all emoji reactions for a specified awardable. This
        feature was introduced in 8.9
      produces:
      - application/json
      parameters:
      - in: query
        name: page
        description: Current page number
        type: integer
        format: int32
        default: 1
        required: false
        example: 1
      - in: query
        name: per_page
        description: Number of items per page
        type: integer
        format: int32
        default: 20
        required: false
        example: 20
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      - in: path
        name: note_id
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: List an awardable's emoji reactions for groups
          schema:
            type: array
            items:
              "$ref": "#/definitions/API_Entities_AwardEmoji"
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: getApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji
    post:
      summary: Add a new emoji reaction
      description: Add an emoji reaction on the specified awardable. This feature
        was introduced in 8.9
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      - in: path
        name: note_id
        type: integer
        format: int32
        required: true
      - name: postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji
        in: body
        required: true
        schema:
          "$ref": "#/definitions/postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji"
      responses:
        '201':
          description: Add a new emoji reaction
          schema:
            "$ref": "#/definitions/API_Entities_AwardEmoji"
        '400':
          description: Bad Request
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji
  "/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji/{award_id}":
    get:
      summary: Get a single emoji reaction
      description: Get a single emoji reaction from an issue, snippet, or merge request.
        This feature was introduced in 8.9
      produces:
      - application/json
      parameters:
      - in: path
        name: award_id
        description: ID of the emoji reaction.
        type: integer
        format: int32
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      - in: path
        name: note_id
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Get a single emoji reaction
          schema:
            "$ref": "#/definitions/API_Entities_AwardEmoji"
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: getApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmojiAwardId
    delete:
      summary: Delete an emoji reaction
      description: Only an administrator or the author of the reaction can delete
        an emoji reaction. This feature was introduced in 8.9
      produces:
      - application/json
      parameters:
      - in: path
        name: award_id
        description: ID of an emoji reaction.
        type: integer
        format: int32
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - in: path
        name: epic_iid
        type: integer
        format: int32
        required: true
      - in: path
        name: note_id
        type: integer
        format: int32
        required: true
      responses:
        '204':
          description: Delete an emoji reaction
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      tags:
      - award_emoji
      operationId: deleteApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmojiAwardId
  "/api/v4/groups/{id}/badges":
    get:
      summary: Gets a list of group badges viewable by the authenticated user.
      description: This feature was introduced in GitLab 10.6.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        type: string
        required: true
      - in: query
        name: page
        description: Current page number
        type: integer
        format: int32
        default: 1
        required: false
        example: 1
      - in: query
        name: per_page
        description: Number of items per page
        type: integer
        format: int32
        default: 20
        required: false
        example: 20
      - in: query
        name: name
        description: Name for the badge
        type: string
        required: false
      responses:
        '200':
          description: Gets a list of group badges viewable by the authenticated user.
          schema:
            type: array
            items:
              "$ref": "#/definitions/API_Entities_Badge"
      tags:
      - badges
      operationId: getApiV4GroupsIdBadges
    post:
      summary: Adds a badge to a group.
      description: This feature was introduced in GitLab 10.6.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        type: string
        required: true
      - name: postApiV4GroupsIdBadges
        in: body
        required: true
        schema:
          "$ref": "#/definitions/postApiV4GroupsIdBadges"
      responses:
        '201':
          description: Adds a badge to a group.
          schema:
            "$ref": "#/definitions/API_Entities_Badge"
      tags:
      - badges
      operationId: postApiV4GroupsIdBadges
  "/api/v4/groups/{id}/badges/render":
    get:
      summary: Preview a badge from a group.
      description: This feature was introduced in GitLab 10.6.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        type: string
        required: true
      - in: query
        name: link_url
        description: URL of the badge link
        type: string
        required: true
      - in: query
        name: image_url
        description: URL of the badge image
        type: string
        required: true
      responses:
        '200':
          description: Preview a badge from a group.
          schema:
            "$ref": "#/definitions/API_Entities_BasicBadgeDetails"
      tags:
      - badges
      operationId: getApiV4GroupsIdBadgesRender
  "/api/v4/groups/{id}/badges/{badge_id}":
    get:
      summary: Gets a badge of a group.
      description: This feature was introduced in GitLab 10.6.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        type: string
        required: true
      - in: path
        name: badge_id
        description: The badge ID
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Gets a badge of a group.
          schema:
            "$ref": "#/definitions/API_Entities_Badge"
      tags:
      - badges
      operationId: getApiV4GroupsIdBadgesBadgeId
    put:
      summary: Updates a badge of a group.
      description: This feature was introduced in GitLab 10.6.
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        type: string
        required: true
      - in: path
        name: badge_id
        type: integer
        format: int32
        required: true
      - name: putApiV4GroupsIdBadgesBadgeId
        in: body
        required: true
        schema:
          "$ref": "#/definitions/putApiV4GroupsIdBadgesBadgeId"
      responses:
        '200':
          description: Updates a badge of a group.
          schema:
            "$ref": "#/definitions/API_Entities_Badge"
      tags:
      - badges
      operationId: putApiV4GroupsIdBadgesBadgeId
    delete:
      summary: Removes a badge from the group.
      description: This feature was introduced in GitLab 10.6.
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the group owned by the authenticated
          user.
        type: string
        required: true
      - in: path
        name: badge_id
        description: The badge ID
        type: integer
        format: int32
        required: true
      responses:
        '204':
          description: Removes a badge from the group.
      tags:
      - badges
      operationId: deleteApiV4GroupsIdBadgesBadgeId
  "/api/v4/groups/{id}/custom_attributes":
    get:
      description: Get all custom attributes on a group
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Get all custom attributes on a group
          schema:
            "$ref": "#/definitions/API_Entities_CustomAttribute"
      tags:
      - custom_attributes
      operationId: getApiV4GroupsIdCustomAttributes
  "/api/v4/groups/{id}/custom_attributes/{key}":
    get:
      description: Get a custom attribute on a group
      produces:
      - application/json
      parameters:
      - in: path
        name: key
        description: The key of the custom attribute
        type: string
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      responses:
        '200':
          description: Get a custom attribute on a group
          schema:
            "$ref": "#/definitions/API_Entities_CustomAttribute"
      tags:
      - custom_attributes
      operationId: getApiV4GroupsIdCustomAttributesKey
    put:
      description: Set a custom attribute on a group
      produces:
      - application/json
      consumes:
      - application/json
      parameters:
      - in: path
        name: key
        description: The key of the custom attribute
        type: string
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      - name: putApiV4GroupsIdCustomAttributesKey
        in: body
        required: true
        schema:
          "$ref": "#/definitions/putApiV4GroupsIdCustomAttributesKey"
      responses:
        '200':
          description: Set a custom attribute on a group
          schema:
            "$ref": "#/definitions/API_Entities_CustomAttribute"
      tags:
      - custom_attributes
      operationId: putApiV4GroupsIdCustomAttributesKey
    delete:
      description: Delete a custom attribute on a group
      produces:
      - application/json
      parameters:
      - in: path
        name: key
        description: The key of the custom attribute
        type: string
        required: true
      - in: path
        name: id
        type: integer
        format: int32
        required: true
      responses:
        '204':
          description: Delete a custom attribute on a group
      tags:
      - custom_attributes
      operationId: deleteApiV4GroupsIdCustomAttributesKey
  "/api/v4/groups":
    get:
      description: Get a groups list
      produces:
      - application/json
      parameters:
      - in: query
        name: statistics
        description: Include project statistics
        type: boolean
        default: false
        required: false
      - in: query
        name: archived
        description: Limit by archived status
        type: boolean
        required: false
      - in: query
        name: skip_groups
        description: Array of group ids to exclude from list
        type: array
        items:
          type: integer
          format: int32
        required: false
      - in: query
        name: all_available
        description: When `true`, returns all accessible groups. When `false`, returns
          only groups where the user is a member.
        type: boolean
        required: false
      - in: query
        name: visibility
        description: Limit by visibility
        type: string
        enum:
        - private
        - internal
        - public
        required: false
      - in: query
        name: search
        description: Search for a specific group
        type: string
        required: false
      - in: query
        name: owned
        description: Limit by owned by authenticated user
        type: boolean
        default: false
        required: false
      - in: query
        name: order_by
        description: Order by name, path, id or similarity if searching
        type: string
        default: name
        enum:
        - name
        - path
        - id
        - similarity
        required: false
      - in: query
        name: sort
        description: Sort by asc (ascendin

# --- truncated at 32 KB (2224 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gitlab-ci/refs/heads/main/openapi/gitlab-ci-openapi.yml