diff options
Diffstat (limited to 'doc/api/openapi/openapi.yaml')
-rw-r--r-- | doc/api/openapi/openapi.yaml | 3980 |
1 files changed, 3446 insertions, 534 deletions
diff --git a/doc/api/openapi/openapi.yaml b/doc/api/openapi/openapi.yaml index e090eab1e5d..d89e33a916b 100644 --- a/doc/api/openapi/openapi.yaml +++ b/doc/api/openapi/openapi.yaml @@ -1,14 +1,7 @@ -openapi: 3.0.0 -tags: - - name: metadata - description: Metadata of the GitLab instance - - name: version - description: Version - - name: access_requests - description: Access requests for projects and groups - - name: access_tokens - description: Access tokens for projects +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. @@ -20,680 +13,3599 @@ info: The feature uses the current [GitLab session cookie](https://docs.gitlab.com/ee/api/index.html#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). - - version: v4 - title: GitLab API + 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://gitlab.com/api/' +- url: https://www.gitlab.com/api/ security: - ApiKeyAuth: [] - -components: - securitySchemes: - ApiKeyAuth: - type: apiKey - in: header - name: Private-Token - +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: dashboard_annotations + description: Operations related to dashboard annotations +- 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: metrics_user_starred_dashboards + description: Operations related to User-starred metrics dashboards +- 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: - # METADATA - /v4/metadata: - $ref: '#/metadata' - - # VERSION - /v4/version: - $ref: '#/version' - - # ACCESS REQUESTS (PROJECTS) - /v4/projects/{id}/access_requests: - $ref: '#/accessRequestsProjects' - - /v4/projects/{id}/access_requests/{user_id}/approve: - $ref: '#/accessRequestsProjectsApprove' - - /v4/projects/{id}/access_requests/{user_id}: - $ref: '#/accessRequestsProjectsDeny' - - # ACCESS REQUESTS (GROUPS) - /v4/groups/{id}/access_requests: - $ref: '#/accessRequestsGroups' - - /v4/groups/{id}/access_requests/{user_id}/approve: - $ref: '#/accessRequestsGroupsApprove' - - /v4/groups/{id}/access_requests/{user_id}: - $ref: '#/accessRequestsGroupsDeny' - - # ACCESS REQUESTS (PROJECTS) - /v4/projects/{id}/access_tokens: - $ref: '#/accessTokens' - - /v4/projects/{id}/access_tokens/{token_id}: - $ref: '#/accessTokensRevoke' - -metadata: - get: - tags: - - metadata - summary: 'Retrieve metadata information for this GitLab instance.' - operationId: 'getMetadata' - responses: - '401': - description: 'unauthorized operation' - '200': - description: 'successful operation' + /api/v4/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': + application/json: schema: - title: 'MetadataResponse' - type: 'object' properties: - version: - type: 'string' - revision: - type: 'string' - kas: - type: 'object' - properties: - enabled: - type: 'boolean' - externalUrl: - type: 'string' - nullable: true - version: - type: 'string' - nullable: true - examples: - Example: - value: - version: '15.0-pre' - revision: 'c401a659d0c' - kas: - enabled: true - externalUrl: 'grpc://gitlab.example.com:8150' - version: '15.0.0' - -version: - get: - tags: - - version - summary: 'Retrieve version information for this GitLab instance.' - operationId: 'getVersion' - responses: - '401': - description: 'unauthorized operation' - '200': - description: 'successful operation' + 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: {} + /api/v4/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': + application/json: schema: - title: 'VersionResponse' - type: 'object' + required: + - image_url + - link_url properties: - version: - type: 'string' - revision: - type: 'string' - examples: - Example: - value: - version: '13.3.0-pre' - revision: 'f2b05afebb0' - -#/v4/projects/{id}/access_requests -accessRequestsProjects: - get: - description: Lists access requests for a project - summary: List access requests for a project - operationId: accessRequestsProjects_get - tags: + 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' + /api/v4/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' + /api/v4/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: {} + /api/v4/groups/{id}/access_requests/{user_id}/approve: + put: + tags: - access_requests - parameters: + 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 project owned by the authenticated user. + 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: - oneOf: - - type: integer - - type: string - responses: - '401': - description: Unauthorized operation - '200': - description: Successful operation + type: integer + format: int32 + requestBody: content: application/json: schema: - title: ProjectAccessResponse - type: object properties: - id: + access_level: type: integer - usename: - type: string - name: - type: string - state: - type: string - created_at: - type: string - requested_at: - type: string - example: - - 'id': 1 - 'username': 'raymond_smith' - 'name': 'Raymond Smith' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'requested_at': '2012-10-22T14:13:35Z' - - 'id': 2 - 'username': 'john_doe' - 'name': 'John Doe' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'requested_at': '2012-10-22T14:13:35Z' - post: - description: Requests access for the authenticated user to a project - summary: Requests access for the authenticated user to a project - operationId: accessRequestsProjects_post - tags: + 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 + /api/v4/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 - parameters: + 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 + /api/v4/projects/{id}/repository/merged_branches: + delete: + tags: + - branches + description: Delete all merged branches + operationId: deleteApiV4ProjectsIdRepositoryMergedBranches + parameters: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + responses: + 202: + description: 202 Accepted + content: {} + 404: + description: 404 Project Not Found + content: {} + /api/v4/projects/{id}/repository/branches/{branch}: + get: + tags: + - branches + description: Get a single repository branch + operationId: getApiV4ProjectsIdRepositoryBranchesBranch + parameters: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: {} + /api/v4/projects/{id}/repository/branches: + get: + tags: + - branches + description: Get a project repository branches + operationId: getApiV4ProjectsIdRepositoryBranches + parameters: + - name: id + in: path + description: The ID or URL-encoded path of the project + 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: 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: - name: id in: path - description: The ID or URL-encoded path of the project owned by the authenticated user. + description: The ID or URL-encoded path of the project required: true schema: - oneOf: - - type: integer - - type: string - responses: - '401': - description: Unauthorized operation - '200': - description: Successful operation + type: string + requestBody: content: application/json: schema: - title: ProjectAccessRequest - type: object + required: + - branch + - ref properties: - id: - type: integer - usename: + branch: type: string - name: + description: The name of the branch + ref: type: string - state: + description: Create branch from commit sha or existing branch + required: true + responses: + 201: + description: Create branch + content: + application/json: + schema: + $ref: '#/components/schemas/API_Entities_Branch' + 400: + description: Failed to create branch + content: {} + /api/v4/projects/{id}/repository/branches/{branch}/unprotect: + put: + tags: + - branches + description: Unprotect a single branch + operationId: putApiV4ProjectsIdRepositoryBranchesBranchUnprotect + parameters: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: {} + /api/v4/projects/{id}/repository/branches/{branch}/protect: + put: + tags: + - branches + description: Protect a single branch + operationId: putApiV4ProjectsIdRepositoryBranchesBranchProtect + parameters: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: {} + /api/v4/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: + - name: id + in: path + description: The ID or URL-encoded path of the project 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 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: + - name: id + in: path + description: The ID or URL-encoded path of the project 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 - created_at: + description: URL of the badge link + image_url: type: string - requested_at: + description: URL of the badge image + name: type: string - example: - 'id': 1 - 'username': 'raymond_smith' - 'name': 'Raymond Smith' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'requested_at': '2012-10-22T14:13:35Z' - -#/v4/projects/{id}/access_requests/{user_id}/approve -accessRequestsProjectsApprove: - put: - description: Approves access for the authenticated user to a project - summary: Approves access for the authenticated user to a project - operationId: accessRequestsProjectsApprove_put - tags: - - access_requests - parameters: + 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: - name: id in: path - description: The ID or URL-encoded path of the project owned by the authenticated user. + description: The ID or URL-encoded path of the project owned by the authenticated + user. required: true schema: - oneOf: - - type: integer - - type: string - - name: user_id + type: string + - name: badge_id in: path - description: The userID of the access requester + description: The badge ID required: true schema: type: integer - - name: access_level + format: int32 + responses: + 204: + description: Removes a badge from the project. + content: {} + /api/v4/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: + - name: id + in: path + description: The ID or URL-encoded path of the project owned by the authenticated + user. + required: true + schema: + type: string + - name: page in: query - description: A valid project access level. 0 = no access , 10 = guest, 20 = reporter, 30 = developer, 40 = Maintainer. Default is 30.' - required: false + description: Current page number schema: - enum: [0, 10, 20, 30, 40] - default: 30 type: integer - responses: - '401': - description: Unauthorized operation - '200': - description: Successful operation + 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: + - name: id + in: path + description: The ID or URL-encoded path of the project owned by the authenticated + user. + required: true + schema: + type: string + requestBody: content: application/json: schema: - title: ProjectAccessApprove - type: object + required: + - image_url + - link_url properties: - id: - type: integer - usename: + link_url: type: string - name: - type: string - state: + description: URL of the badge link + image_url: type: string - created_at: + description: URL of the badge image + name: type: string - access_level: - type: integer - example: - 'id': 1 - 'username': 'raymond_smith' - 'name': 'Raymond Smith' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'access_level': 20 - -#/v4/projects/{id}/access_requests/{user_id} -accessRequestsProjectsDeny: - delete: - description: Denies a project access request for the given user - summary: Denies a project access request for the given user - operationId: accessRequestProjectsDeny_delete - tags: + 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' + /api/v4/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: + - name: id + in: path + description: The ID or URL-encoded path of the project 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 project. + content: + application/json: + schema: + $ref: '#/components/schemas/API_Entities_BasicBadgeDetails' + /api/v4/projects/{id}/access_requests/{user_id}: + delete: + tags: - access_requests - parameters: + summary: Denies an access request for the given user. + description: This feature was introduced in GitLab 8.11. + operationId: deleteApiV4ProjectsIdAccessRequestsUserId + parameters: - name: id in: path - description: The ID or URL-encoded path of the project owned by the authenticated user. + description: The ID or URL-encoded path of the project owned by the authenticated + user required: true schema: - oneOf: - - type: integer - - type: string + type: string - name: user_id in: path description: The user ID of the access requester required: true schema: type: integer - responses: # Does anything go here? Markdown doc does not list a response. - '401': - description: Unauthorized operation - '200': - description: Successful operation - -#/v4/groups/{id}/access_requests -accessRequestsGroups: - get: - description: List access requests for a group - summary: List access requests for a group - operationId: accessRequestsGroups_get - tags: + format: int32 + responses: + 204: + description: Denies an access request for the given user. + content: {} + /api/v4/projects/{id}/access_requests/{user_id}/approve: + put: + tags: - access_requests - parameters: + summary: Approves an access request for the given user. + description: This feature was introduced in GitLab 8.11. + operationId: putApiV4ProjectsIdAccessRequestsUserIdApprove + parameters: - name: id in: path - description: The ID or URL-encoded path of the group owned by the authenticated user. + description: The ID or URL-encoded path of the project 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: - oneOf: - - type: integer - - type: string - responses: - '401': - description: Unauthorized operation - '200': - description: Successful operation + type: integer + format: int32 + requestBody: content: application/json: schema: - title: GroupAccessResponse - type: object properties: - id: + access_level: type: integer - usename: - type: string - name: - type: string - state: - type: string - created_at: - type: string - requested_at: - type: string - example: - - 'id': 1 - 'username': 'raymond_smith' - 'name': 'Raymond Smith' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'requested_at': '2012-10-22T14:13:35Z' - - 'id': 2 - 'username': 'john_doe' - 'name': 'John Doe' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'requested_at': '2012-10-22T14:13:35Z' - post: - description: Requests access for the authenticated user to a group - summary: Requests access for the authenticated user to a group - operationId: accessRequestsGroups_post - tags: + 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 + /api/v4/projects/{id}/access_requests: + get: + tags: - access_requests - parameters: + summary: Gets a list of access requests for a project. + description: This feature was introduced in GitLab 8.11. + operationId: getApiV4ProjectsIdAccessRequests + parameters: - name: id in: path - description: The ID or URL-encoded path of the group owned by the authenticated user. + description: The ID or URL-encoded path of the project owned by the authenticated + user required: true schema: - oneOf: - - type: integer - - type: string - responses: - '401': - description: Unauthorized operation - '200': - description: Successful operation + 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 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: + - name: id + in: path + description: The ID or URL-encoded path of the project 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 + /api/v4/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: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: - application/json: + multipart/form-data: schema: - title: GroupAccessRequest - type: object properties: - id: - type: integer - usename: + url: type: string - name: + description: The url to view more metric info + url_text: type: string - state: + 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: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: {} + /api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images: + get: + tags: + - alert_management + description: Metric Images for alert + operationId: getApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImages + parameters: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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: + - name: id + in: path + description: The ID or URL-encoded path of the project + required: true + schema: + type: string + - 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 - created_at: + description: The image file to be uploaded + format: binary + url: type: string - requested_at: + description: The url to view more metric info + url_text: type: string - example: - 'id': 1 - 'username': 'raymond_smith' - 'name': 'Raymond Smith' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'requested_at': '2012-10-22T14:13:35Z' - -#/v4/groups/{id}/access_requests/{user_id}/approve -accessRequestsGroupsApprove: - put: - description: Approves access for the authenticated user to a group - summary: Approves access for the authenticated user to a group - operationId: accessRequestsGroupsApprove_put - tags: - - access_requests - parameters: + 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: {} + /api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images/authorize: + post: + tags: + - alert_management + description: Workhorse authorize metric image file upload + operationId: postApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesAuthorize + parameters: - name: id in: path - description: The ID or URL-encoded path of the group owned by the authenticated user. + description: The ID or URL-encoded path of the project required: true schema: - oneOf: - - type: integer - - type: string - - name: user_id + type: string + - name: alert_iid in: path - description: The userID of the access requester + description: The IID of the Alert required: true schema: type: integer - - name: access_level + format: int32 + responses: + 200: + description: Workhorse authorize metric image file upload + content: {} + 403: + description: Forbidden + content: {} + /api/v4/admin/batched_background_migrations/{id}: + get: + tags: + - batched_background_migrations + description: Retrieve a batched background migration + operationId: getApiV4AdminBatchedBackgroundMigrationsId + parameters: + - name: database in: query - description: A valid group access level. 0 = no access , 10 = Guest, 20 = Reporter, 30 = Developer, 40 = Maintainer, 50 = Owner. Default is 30. - required: false + 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: - enum: [0, 10, 20, 30, 40, 50] - default: 30 type: integer - responses: - '401': - description: Unauthorized operation - '200': - description: Successful operation + 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: {} + /api/v4/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: {} + /api/v4/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: - title: GroupAccessApprove - type: object properties: - id: - type: integer - usename: + database: type: string - name: + 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: {} + /api/v4/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 - state: + 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: {} + /api/v4/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 - created_at: + 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 - access_level: - type: integer - example: - 'id': 1 - 'username': 'raymond_smith' - 'name': 'Raymond Smith' - 'state': 'active' - 'created_at': '2012-10-22T14:13:35Z' - 'access_level': 20 - -#/v4/groups/{id}/access_requests/{user_id} -accessRequestsGroupsDeny: - delete: - description: Denies a group access request for the given user - summary: Denies a group access request for the given user - operationId: accessRequestsGroupsDeny_delete - tags: - - access_requests - parameters: - - name: id + 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 ID or URL-encoded path of the group owned by the authenticated user. + description: The key of a variable required: true schema: - oneOf: - - type: integer - - type: string - - name: user_id + 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: {} + /api/v4/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: {} + /api/v4/admin/databases/{database_name}/dictionary/tables/{table_name}: + get: + tags: + - admin + description: Retrieve dictionary details + operationId: getApiV4AdminDatabasesDatabaseNameDictionaryTablesTableName + parameters: + - name: database_name + in: path + description: The database name + required: true + schema: + type: string + enum: + - main + - ci + - name: table_name in: path - description: The userID of the access requester + 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: {} + /api/v4/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 - responses: # Does anything go here? Markdown doc does not list a response. - '401': - description: Unauthorized operation - '200': - description: Successful operation -#/v4/projects/{id}/access_tokens -accessTokens: - get: - description: Lists access tokens for a project - summary: List access tokens for a project - operationId: accessTokens_get - tags: - - access_tokens - parameters: - - name: id + 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 ID or URL-encoded path of the project + description: The cluster ID required: true schema: - oneOf: - - type: integer - - type: string - responses: - '404': - description: Not Found - '401': - description: Unauthorized operation - '200': - description: Successful operation + type: integer + format: int32 + requestBody: content: application/json: schema: - title: AccessTokenList - type: object properties: - user_id: - type: integer - scopes: - type: array name: type: string - expires_at: - type: date - id: + 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 - active: + description: The ID of the management project + format: int32 + managed: type: boolean - created_at: - type: date - revoked: + 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: {} + /api/v4/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 - example: - 'user_id': 141 - 'scopes': ['api'] - 'name': 'token' - 'expires_at': '2022-01-31' - 'id': 42 - 'active': true - 'created_at': '2021-01-20T14:13:35Z' - 'revoked': false - post: - description: Creates an access token for a project - summary: Creates an access token for a project - operationId: accessTokens_post - tags: - - access_tokens - parameters: + 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: {} + /api/v4/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: {} + /api/v4/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: {} + /api/v4/applications/{id}: + delete: + tags: + - applications + summary: Delete an application + description: Delete a specific application + operationId: deleteApiV4ApplicationsId + parameters: - name: id in: path - description: The ID or URL-encoded path of the project + description: The ID of the application (not the application_id) required: true schema: - oneOf: - - type: integer - - type: string - - name: name + type: integer + format: int32 + responses: + 204: + description: Delete an application + content: {} + /api/v4/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' + /api/v4/avatar: + get: + tags: + - avatar + description: Return avatar url for a user + operationId: getApiV4Avatar + parameters: + - name: email in: query - description: The name of the project access token + description: Public email address of the user required: true schema: type: string - - name: scopes + - name: size in: query - description: Defines read and write permissions for the token + 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' + /api/v4/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: array - items: - type: string - enum: - [ - 'api', - 'read_api', - 'read_registry', - 'write_registry', - 'read_repository', - 'write_repository', - ] - - name: expires_at - in: query - description: Date when the token expires. Time of day is Midnight UTC of that date. - required: false - schema: - type: date - responses: - '404': - description: Not Found - '401': - description: Unauthorized operation - '200': - description: Successful operation + 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: - title: AccessTokenList - type: object properties: - user_id: - type: integer - scopes: + 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 - name: + description: Target user roles + items: + type: integer + format: int32 + enum: + - 10 + - 20 + - 30 + - 40 + - 50 + target_path: type: string - expires_at: - type: date - id: - type: integer - active: - type: boolean - created_at: - type: date - revoked: + description: Target path + broadcast_type: + type: string + description: Broadcast Type + enum: + - banner + - notification + dismissable: type: boolean - token: - type: string - example: - 'user_id': 166 - 'scopes': ['api', 'read_repository'] - 'name': 'test' - 'expires_at': '2022-01-31' - 'id': 58 - 'active': true - 'created_at': '2021-01-20T14:13:35Z' - 'revoked': false - 'token': 'D4y...Wzr' - -#/v4/projects/{id}/access_tokens/{token_id} -accessTokensRevoke: - delete: - description: Revokes an access token - summary: Revokes an access token - operationId: accessTokens_delete - tags: - - access_tokens - parameters: + 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: The ID or URL-encoded path of the project + 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' + /api/v4/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' + /api/v4/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: - oneOf: - - type: integer - - type: string - - name: token_id + 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: {} + /api/v4/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 the project access token + description: The ID of user's GitLab Migration required: true schema: - oneOf: - - type: integer - - type: string - responses: - '400': - description: Bad Request - '404': - description: Not Found - '204': - description: No content if successfully revoked + 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: {} + /api/v4/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: {} + /api/v4/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: {} + /api/v4/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: {} + /api/v4/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' + /api/v4/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 DAG 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: {} + /api/v4/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: {} + /api/v4/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: {} +components: + 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 + securitySchemes: + ApiKeyAuth: + type: apiKey + in: header + name: Private-Token |