gitlab-ce/doc/api/openapi/openapi_v2.yaml.generated

67362 lines
1.9 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
info:
title: GitLab API
version: v4
swagger: '2.0'
produces:
- application/json
securityDefinitions:
access_token_header:
type: apiKey
name: PRIVATE-TOKEN
in: header
access_token_query:
type: apiKey
name: private_token
in: query
host: gitlab.com
tags:
- name: award_emoji
description: Operations about award_emoji
- name: badges
description: Operations about badges
- name: groups
description: Operations about groups
- name: runners
description: Operations about runners
- name: group_avatar
description: Operations about group_avatars
- name: invitations
description: Operations about invitations
- name: members
description: Operations about members
- name: personal_access_tokens
description: Operations about personal_access_tokens
- name: wikis
description: Operations about wikis
- name: alert_management
description: Operations about alert_managements
- name: branches
description: Operations about branches
- name: secure_files
description: Operations about secure_files
- name: cargo_packages
description: Operations about cargo_packages
- name: commits
description: Operations about commits
- name: pages
description: Operations about pages
- name: pages_domains
description: Operations about pages_domains
- name: project_avatar
description: Operations about project_avatars
- name: projects_job_token_scope
description: Operations about projects_job_token_scopes
- name: project_snippets
description: Operations about project_snippets
- name: protected_tags
description: Operations about protected_tags
- name: remote_mirrors
description: Operations about remote_mirrors
- name: tags
description: Operations about tags
- name: batched_background_migrations
description: Operations about batched_background_migrations
- name: admin
description: Operations about admins
- name: migrations
description: Operations about migrations
- name: broadcast_messages
description: Operations about broadcast_messages
- name: applications
description: Operations about applications
- name: avatar
description: Operations about avatars
- name: bulk_imports
description: Operations about bulk_imports
- name: job
description: Operations about jobs
- name: jobs
description: Operations about jobs
- name: events
description: Operations about events
- name: keys
description: Operations about keys
- name: markdown
description: Operations about markdowns
- name: namespaces
description: Operations about namespaces
- name: organizations
description: Operations about organizations
- name: snippets
description: Operations about snippets
- name: hooks
description: Operations about hooks
- name: usage_data
description: Operations about usage_data
- name: metrics
description: Operations about metrics
- name: user_counts
description: Operations about user_counts
- name: user
description: Operations about users
- name: application
description: Operations about applications
- name: import
description: Operations about imports
- name: slack
description: Operations about slacks
- name: topics
description: Operations about topics
- name: web_commits
description: Operations about web_commits
- name: access_requests
description: Operations related to access requests
- name: ci_lint
description: Operations related to linting a CI config file
- name: ci_resource_groups
description: Operations to manage job concurrency with resource groups
- name: ci_variables
description: Operations related to CI/CD variables
- name: cluster_agents
description: Operations related to the GitLab agent for Kubernetes
- name: clusters
description: Operations related to clusters
- name: composer_packages
description: Operations related to Composer packages
- name: conan_packages
description: Operations related to Conan packages
- name: container_registry
description: Operations related to container registry
- name: container_registry_event
description: Operations related to container registry events
- name: debian_distribution
description: Operations related to Debian Linux distributions
- name: debian_packages
description: Operations related to Debian Linux packages
- name: dependency_proxy
description: Operations to manage dependency proxy for a groups
- name: deploy_keys
description: Operations related to deploy keys
- name: deploy_tokens
description: Operations related to deploy tokens
- name: deployments
description: Operations related to deployments
- name: dora_metrics
description: Operations related to DevOps Research and Assessment (DORA) key metrics
- name: environments
description: Operations related to environments
- name: error_tracking_client_keys
description: Operations related to error tracking client keys
- name: error_tracking_project_settings
description: Operations related to error tracking project settings
- name: feature_flags_user_lists
description: Operations related to accessing GitLab feature flag user lists
- name: feature_flags
description: Operations related to feature flags
- name: features
description: Operations related to managing Flipper-based feature flags
- name: freeze_periods
description: Operations related to deploy freeze periods
- name: generic_packages
description: Operations related to Generic packages
- name: geo
description: Operations related to Geo
- name: geo_nodes
description: Operations related Geo Nodes
- name: go_proxy
description: Operations related to Go Proxy
- name: group_export
description: Operations related to exporting groups
- name: group_import
description: Operations related to importing groups
- name: group_packages
description: Operations related to group packages
- name: helm_packages
description: Operations related to Helm packages
- name: integrations
description: Operations related to integrations
- name: issue_links
description: Operations related to issue links
- name: jira_connect_subscriptions
description: Operations related to JiraConnect subscriptions
- name: maven_packages
description: Operations related to Maven packages
- name: merge_requests
description: Operations related to merge requests
- name: metadata
description: Operations related to metadata of the GitLab instance
- name: ml_model_registry
description: Operations related to Model registry
- name: npm_packages
description: Operations related to NPM packages
- name: nuget_packages
description: Operations related to Nuget packages
- name: package_files
description: Operations about package files
- name: plan_limits
description: Operations related to plan limits
- name: project_export
description: Operations related to exporting projects
- name: project_hooks
description: Operations related to project hooks
- name: project_import
description: Operations related to importing projects
- name: project_import_bitbucket
description: Operations related to importing BitBucket projects
- name: project_import_github
description: Operations related to importing GitHub projects
- name: project_packages
description: Operations related to project packages
- name: projects
description: Operations related to projects
- name: protected environments
description: Operations related to protected environments
- name: pypi_packages
description: Operations related to PyPI packages
- name: release_links
description: Operations related to release assets (links)
- name: releases
description: Operations related to releases
- name: resource_milestone_events
description: Operations about resource milestone events
- name: rpm_packages
description: Operations related to RPM packages
- name: rubygem_packages
description: Operations related to RubyGems
- name: suggestions
description: Operations related to suggestions
- name: system_hooks
description: Operations related to system hooks
- name: terraform_state
description: Operations related to Terraform state files
- name: terraform_registry
description: Operations related to the Terraform module registry
- name: unleash_api
description: Operations related to Unleash API
paths:
"/api/v4/groups/{id}/access_requests":
get:
summary: Gets a list of access requests for a group.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Gets a list of access requests for a group.
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
tags:
- access_requests
operationId: getApiV4GroupsIdAccessRequests
post:
summary: Requests access for the authenticated user to a group.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: postApiV4GroupsIdAccessRequests
"/api/v4/groups/{id}/access_requests/{user_id}/approve":
put:
summary: Approves an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
- name: putApiV4GroupsIdAccessRequestsUserIdApprove
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdAccessRequestsUserIdApprove"
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: putApiV4GroupsIdAccessRequestsUserIdApprove
"/api/v4/groups/{id}/access_requests/{user_id}":
delete:
summary: Denies an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
responses:
'204':
description: Denies an access request for the given user.
tags:
- access_requests
operationId: deleteApiV4GroupsIdAccessRequestsUserId
"/api/v4/groups/{id}/epics/{epic_iid}/award_emoji":
get:
summary: List an awardable's emoji reactions for groups
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: path
name: epic_iid
description: ID (`iid` for merge requests/issues/epics, `id` for snippets)
of an awardable.
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List an awardable's emoji reactions for groups
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4GroupsIdEpicsEpicIidAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
- name: postApiV4GroupsIdEpicsEpicIidAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdEpicsEpicIidAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4GroupsIdEpicsEpicIidAwardEmoji
"/api/v4/groups/{id}/epics/{epic_iid}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4GroupsIdEpicsEpicIidAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4GroupsIdEpicsEpicIidAwardEmojiAwardId
"/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji":
get:
summary: List an awardable's emoji reactions for groups
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: List an awardable's emoji reactions for groups
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
- name: postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji
"/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: epic_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmojiAwardId
"/api/v4/groups/{id}/badges":
get:
summary: Gets a list of group badges viewable by the authenticated user.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: name
description: Name for the badge
type: string
required: false
responses:
'200':
description: Gets a list of group badges viewable by the authenticated user.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: getApiV4GroupsIdBadges
post:
summary: Adds a badge to a group.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- name: postApiV4GroupsIdBadges
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdBadges"
responses:
'201':
description: Adds a badge to a group.
schema:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: postApiV4GroupsIdBadges
"/api/v4/groups/{id}/badges/render":
get:
summary: Preview a badge from a group.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- in: query
name: link_url
description: URL of the badge link
type: string
required: true
- in: query
name: image_url
description: URL of the badge image
type: string
required: true
responses:
'200':
description: Preview a badge from a group.
schema:
"$ref": "#/definitions/API_Entities_BasicBadgeDetails"
tags:
- badges
operationId: getApiV4GroupsIdBadgesRender
"/api/v4/groups/{id}/badges/{badge_id}":
get:
summary: Gets a badge of a group.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- in: path
name: badge_id
description: The badge ID
type: integer
format: int32
required: true
responses:
'200':
description: Gets a badge of a group.
schema:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: getApiV4GroupsIdBadgesBadgeId
put:
summary: Updates a badge of a group.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- in: path
name: badge_id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdBadgesBadgeId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdBadgesBadgeId"
responses:
'200':
description: Updates a badge of a group.
schema:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: putApiV4GroupsIdBadgesBadgeId
delete:
summary: Removes a badge from the group.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- in: path
name: badge_id
description: The badge ID
type: integer
format: int32
required: true
responses:
'204':
description: Removes a badge from the group.
tags:
- badges
operationId: deleteApiV4GroupsIdBadgesBadgeId
"/api/v4/groups/{id}/custom_attributes":
get:
description: Get all custom attributes on a group
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get all custom attributes on a group
schema:
"$ref": "#/definitions/API_Entities_CustomAttribute"
tags:
- groups
operationId: getApiV4GroupsIdCustomAttributes
"/api/v4/groups/{id}/custom_attributes/{key}":
get:
description: Get a custom attribute on a group
produces:
- application/json
parameters:
- in: path
name: key
description: The key of the custom attribute
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a custom attribute on a group
schema:
"$ref": "#/definitions/API_Entities_CustomAttribute"
tags:
- groups
operationId: getApiV4GroupsIdCustomAttributesKey
put:
description: Set a custom attribute on a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: key
description: The key of the custom attribute
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdCustomAttributesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdCustomAttributesKey"
responses:
'200':
description: Set a custom attribute on a group
tags:
- groups
operationId: putApiV4GroupsIdCustomAttributesKey
delete:
description: Delete a custom attribute on a group
produces:
- application/json
parameters:
- in: path
name: key
description: The key of the custom attribute
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a custom attribute on a group
tags:
- groups
operationId: deleteApiV4GroupsIdCustomAttributesKey
"/api/v4/groups":
get:
description: Get a groups list
produces:
- application/json
parameters:
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: skip_groups
description: Array of group ids to exclude from list
type: array
items:
type: integer
format: int32
required: false
- in: query
name: all_available
description: When `true`, returns all accessible groups. When `false`, returns
only groups where the user is a member.
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Search for a specific group
type: string
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: order_by
description: Order by name, path, id or similarity if searching
type: string
default: name
enum:
- name
- path
- id
- similarity
required: false
- in: query
name: sort
description: Sort by asc (ascending) or desc (descending)
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: min_access_level
description: Minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: top_level_only
description: Only include top-level groups
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Return groups that are marked for deletion on this date
type: string
format: date
required: false
- in: query
name: active
description: Limit by groups that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: repository_storage
description: Filter by repository storage used by the group
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a groups list
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: getApiV4Groups
post:
description: Create a group. Available only for users who can create groups.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Groups
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Groups"
responses:
'201':
description: Create a group. Available only for users who can create groups.
schema:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: postApiV4Groups
"/api/v4/groups/{id}":
put:
description: Update a group. Available only for users who can administrate groups.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- name: putApiV4GroupsId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsId"
responses:
'200':
description: Update a group. Available only for users who can administrate
groups.
schema:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: putApiV4GroupsId
get:
description: Get a single group, with containing projects.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
- in: query
name: with_projects
description: Omit project details
type: boolean
default: true
required: false
responses:
'200':
description: Get a single group, with containing projects.
schema:
"$ref": "#/definitions/API_Entities_GroupDetail"
tags:
- groups
operationId: getApiV4GroupsId
delete:
description: Remove a group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'204':
description: Remove a group.
tags:
- groups
operationId: deleteApiV4GroupsId
"/api/v4/groups/{id}/archive":
post:
description: Archive a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'200':
description: Archive a group
schema:
"$ref": "#/definitions/API_Entities_Group"
'403':
description: Unauthenticated
tags:
- groups
operationId: postApiV4GroupsIdArchive
"/api/v4/groups/{id}/unarchive":
post:
description: Unarchive a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'200':
description: Unarchive a group
schema:
"$ref": "#/definitions/API_Entities_Group"
'403':
description: Unauthenticated
tags:
- groups
operationId: postApiV4GroupsIdUnarchive
"/api/v4/groups/{id}/restore":
post:
description: Restore a group.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'201':
description: Restore a group.
tags:
- groups
operationId: postApiV4GroupsIdRestore
"/api/v4/groups/{id}/groups/shared":
get:
description: Get a list of shared groups this group was invited to
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: skip_groups
description: Array of group ids to exclude from list
type: array
items:
type: integer
format: int32
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Search for a specific group
type: string
required: false
- in: query
name: min_access_level
description: Minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: order_by
description: Order by name, path, id or similarity if searching
type: string
default: name
enum:
- name
- path
- id
- similarity
required: false
- in: query
name: sort
description: Sort by asc (ascending) or desc (descending)
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of shared groups this group was invited to
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: getApiV4GroupsIdGroupsShared
"/api/v4/groups/{id}/invited_groups":
get:
description: Get a list of invited groups in this group
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: relation
description: Include group relations
type: array
items:
type: string
enum:
- direct
- inherited
required: false
- in: query
name: search
description: Search for a specific group
type: string
required: false
- in: query
name: min_access_level
description: Minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of invited groups in this group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: getApiV4GroupsIdInvitedGroups
"/api/v4/groups/{id}/projects":
get:
description: Get a list of projects in this group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Return list of authorized projects matching the search criteria
type: string
required: false
- in: query
name: order_by
description: Return projects ordered by field
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- similarity
- star_count
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: starred
description: Limit by starred status
type: boolean
default: false
required: false
- in: query
name: with_issues_enabled
description: Limit by enabled issues feature
type: boolean
default: false
required: false
- in: query
name: with_merge_requests_enabled
description: Limit by enabled merge requests feature
type: boolean
default: false
required: false
- in: query
name: with_shared
description: Include projects shared to this group
type: boolean
default: true
required: false
- in: query
name: include_subgroups
description: Includes projects in subgroups of this group
type: boolean
default: false
required: false
- in: query
name: include_ancestor_groups
description: Includes projects in ancestors of this group
type: boolean
default: false
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user on projects
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
- in: query
name: with_security_reports
description: Return only projects having security report artifacts present
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of projects in this group.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Project"
tags:
- groups
operationId: getApiV4GroupsIdProjects
"/api/v4/groups/{id}/projects/shared":
get:
description: Get a list of shared projects in this group
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Return list of authorized projects matching the search criteria
type: string
required: false
- in: query
name: order_by
description: Return projects ordered by field
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- star_count
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
- in: query
name: starred
description: Limit by starred status
type: boolean
default: false
required: false
- in: query
name: with_issues_enabled
description: Limit by enabled issues feature
type: boolean
default: false
required: false
- in: query
name: with_merge_requests_enabled
description: Limit by enabled merge requests feature
type: boolean
default: false
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user on projects
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of shared projects in this group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Project"
tags:
- groups
operationId: getApiV4GroupsIdProjectsShared
"/api/v4/groups/{id}/subgroups":
get:
description: Get a list of subgroups in this group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: skip_groups
description: Array of group ids to exclude from list
type: array
items:
type: integer
format: int32
required: false
- in: query
name: all_available
description: When `true`, returns all accessible groups. When `false`, returns
only groups where the user is a member.
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Search for a specific group
type: string
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: order_by
description: Order by name, path, id or similarity if searching
type: string
default: name
enum:
- name
- path
- id
- similarity
required: false
- in: query
name: sort
description: Sort by asc (ascending) or desc (descending)
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: min_access_level
description: Minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: top_level_only
description: Only include top-level groups
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Return groups that are marked for deletion on this date
type: string
format: date
required: false
- in: query
name: active
description: Limit by groups that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: repository_storage
description: Filter by repository storage used by the group
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of subgroups in this group.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: getApiV4GroupsIdSubgroups
"/api/v4/groups/{id}/descendant_groups":
get:
description: Get a list of descendant groups of this group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: skip_groups
description: Array of group ids to exclude from list
type: array
items:
type: integer
format: int32
required: false
- in: query
name: all_available
description: When `true`, returns all accessible groups. When `false`, returns
only groups where the user is a member.
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Search for a specific group
type: string
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: order_by
description: Order by name, path, id or similarity if searching
type: string
default: name
enum:
- name
- path
- id
- similarity
required: false
- in: query
name: sort
description: Sort by asc (ascending) or desc (descending)
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: min_access_level
description: Minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: top_level_only
description: Only include top-level groups
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Return groups that are marked for deletion on this date
type: string
format: date
required: false
- in: query
name: active
description: Limit by groups that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: repository_storage
description: Filter by repository storage used by the group
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of descendant groups of this group.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: getApiV4GroupsIdDescendantGroups
"/api/v4/groups/{id}/projects/{project_id}":
post:
description: Transfer a project to the group namespace. Available only for admin.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: project_id
description: The ID or path of the project
type: string
required: true
responses:
'201':
description: Transfer a project to the group namespace. Available only for
admin.
schema:
"$ref": "#/definitions/API_Entities_GroupDetail"
tags:
- groups
operationId: postApiV4GroupsIdProjectsProjectId
"/api/v4/groups/{id}/transfer_locations":
get:
description: Get the groups to where the current group can be transferred to
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: search
description: Return list of namespaces matching the search criteria
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get the groups to where the current group can be transferred
to
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- groups
operationId: getApiV4GroupsIdTransferLocations
"/api/v4/groups/{id}/transfer":
post:
description: Transfer a group to a new parent group or promote a subgroup to
a top-level group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- name: postApiV4GroupsIdTransfer
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdTransfer"
responses:
'201':
description: Transfer a group to a new parent group or promote a subgroup
to a top-level group
tags:
- groups
operationId: postApiV4GroupsIdTransfer
"/api/v4/groups/{id}/share":
post:
description: Share a group with a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- name: postApiV4GroupsIdShare
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdShare"
responses:
'201':
description: Share a group with a group
schema:
"$ref": "#/definitions/API_Entities_GroupDetail"
tags:
- groups
operationId: postApiV4GroupsIdShare
"/api/v4/groups/{id}/share/{group_id}":
delete:
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: group_id
description: The ID of the shared group
type: integer
format: int32
required: true
responses:
'204':
description: deleted Share
tags:
- groups
operationId: deleteApiV4GroupsIdShareGroupId
"/api/v4/groups/{id}/tokens/revoke":
post:
summary: Revoke a single token
description: |
Revoke a token, if it has access to the group or any of its subgroups
and projects. If the token is revoked, or was already revoked, its
details are returned in the response.
The following criteria must be met:
- The group must be a top-level group.
- You must have Owner permission in the group.
- The token type is one of:
- Personal access token
- Group access token
- Project access token
- Group deploy token
- User feed token
This feature is gated by the :group_agnostic_token_revocation feature flag.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a top-level group
type: string
required: true
- name: postApiV4GroupsIdTokensRevoke
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdTokensRevoke"
responses:
'201':
description: Revoke a single token
tags:
- groups
operationId: postApiV4GroupsIdTokensRevoke
"/api/v4/groups/{id}/ldap_sync":
post:
description: Sync a group with LDAP.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Sync a group with LDAP.
tags:
- groups
operationId: postApiV4GroupsIdLdapSync
"/api/v4/groups/{id}/audit_events":
get:
description: Get a list of audit events in this group.
produces:
- application/json
parameters:
- in: query
name: created_after
description: Return audit events created after the specified time
type: string
format: date-time
required: false
example: '2016-01-19T09:05:50.355Z'
- in: query
name: created_before
description: Return audit events created before the specified time
type: string
format: date-time
required: false
example: '2016-01-19T09:05:50.355Z'
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of audit events in this group.
schema:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_AuditEvent"
tags:
- groups
operationId: getApiV4GroupsIdAuditEvents
"/api/v4/groups/{id}/audit_events/{audit_event_id}":
get:
description: Get a specific audit event in this group.
produces:
- application/json
parameters:
- in: path
name: audit_event_id
description: The ID of the audit event
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a specific audit event in this group.
schema:
"$ref": "#/definitions/EE_API_Entities_AuditEvent"
tags:
- groups
operationId: getApiV4GroupsIdAuditEventsAuditEventId
"/api/v4/groups/{id}/saml_users":
get:
description: Get a list of SAML users of the group
produces:
- application/json
parameters:
- in: query
name: username
description: Return single user with a specific username.
type: string
required: false
- in: query
name: search
description: Search users by name, email, username.
type: string
required: false
- in: query
name: active
description: Return only active users.
type: boolean
default: false
required: false
- in: query
name: blocked
description: Return only blocked users.
type: boolean
default: false
required: false
- in: query
name: created_after
description: Return users created after the specified time.
type: string
format: date-time
required: false
- in: query
name: created_before
description: Return users created before the specified time.
type: string
format: date-time
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of SAML users of the group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_UserPublic"
tags:
- groups
operationId: getApiV4GroupsIdSamlUsers
"/api/v4/groups/{id}/provisioned_users":
get:
description: Get a list of users provisioned by the group
produces:
- application/json
parameters:
- in: query
name: username
description: Return a single user with a specific username
type: string
required: false
- in: query
name: search
description: Search users by name, email or username
type: string
required: false
- in: query
name: active
description: Return only active users
type: boolean
default: false
required: false
- in: query
name: blocked
description: Return only blocked users
type: boolean
default: false
required: false
- in: query
name: created_after
description: Return users created after the specified time
type: string
format: date-time
required: false
- in: query
name: created_before
description: Return users created before the specified time
type: string
format: date-time
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of users provisioned by the group
schema:
"$ref": "#/definitions/API_Entities_UserPublic"
tags:
- groups
operationId: getApiV4GroupsIdProvisionedUsers
"/api/v4/groups/{id}/users":
get:
description: Get a list of users for the group
produces:
- application/json
parameters:
- in: query
name: search
description: Search users by name, email or username
type: string
required: false
- in: query
name: active
description: Filters only active users
type: boolean
default: false
required: false
- in: query
name: include_saml_users
description: Return users with a SAML identity in this group
type: boolean
required: false
- in: query
name: include_service_accounts
description: Return service accounts owned by this group
type: boolean
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of users for the group
schema:
"$ref": "#/definitions/API_Entities_UserPublic"
'400':
description: Bad request
'403':
description: Forbidden
'404':
description: 404 Not Found
tags:
- groups
operationId: getApiV4GroupsIdUsers
"/api/v4/groups/{id}/ssh_certificates":
get:
summary: Get a list of Groups::SshCertificate for a Group.
description: Get a list of ssh certificates created for a group.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of ssh certificates created for a group.
schema:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_SshCertificate"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: 404 Not Found
tags:
- groups
operationId: getApiV4GroupsIdSshCertificates
post:
summary: Add a Groups::SshCertificate.
description: Create a ssh certificate for a group.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4GroupsIdSshCertificates
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdSshCertificates"
responses:
'201':
description: Create a ssh certificate for a group.
schema:
"$ref": "#/definitions/EE_API_Entities_SshCertificate"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- groups
operationId: postApiV4GroupsIdSshCertificates
"/api/v4/groups/{id}/ssh_certificates/{ssh_certificates_id}":
delete:
summary: Removes an ssh certificate from a group.
description: Removes a Groups::SshCertificate
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: ssh_certificates_id
type: integer
format: int32
required: true
responses:
'204':
description: Removes an ssh certificate from a group.
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'422':
description: Unprocessable entity
tags:
- groups
operationId: deleteApiV4GroupsIdSshCertificatesSshCertificatesId
"/api/v4/groups/{id}/runners":
get:
summary: List group's runners
description: List all runners available in the group as well as its ancestor
groups, including any allowed shared runners.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: type
description: The type of runners to return
type: string
enum:
- instance_type
- group_type
- project_type
required: false
- in: query
name: paused
description: Whether to include only runners that are accepting or ignoring
new jobs
type: boolean
required: false
- in: query
name: status
description: The status of runners to return
type: string
enum:
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: tag_list
description: A list of runner tags
type: array
items:
type: string
required: false
example: "['macos', 'shell']"
- in: query
name: version_prefix
description: The version prefix of runners to return
type: string
required: false
example: "'15.1.' or '16.'"
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get runners available for group
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'400':
description: Scope contains invalid value
'403':
description: Forbidden
tags:
- runners
- groups
operationId: getApiV4GroupsIdRunners
"/api/v4/groups/{id}/runners/reset_registration_token":
post:
summary: Reset the runner registration token for a group
description: Reset runner registration token
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'201':
description: Reset runner registration token
schema:
"$ref": "#/definitions/API_Entities_Ci_ResetTokenResult"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Group Not Found
tags:
- runners
- groups
operationId: postApiV4GroupsIdRunnersResetRegistrationToken
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/Release.gpg":
get:
summary: The Release file signature
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
responses:
'200':
description: The Release file signature
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionReleaseGpg
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/Release":
get:
summary: The unsigned Release file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
responses:
'200':
description: The unsigned Release file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionRelease
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/InRelease":
get:
summary: The signed Release file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
responses:
'200':
description: The signed Release file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionInrelease
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/{component}/debian-installer/binary-{architecture}/Packages":
get:
summary: The installer (udeb) binary files index
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
responses:
'200':
description: The installer (udeb) binary files index
'202':
description: The installer (udeb) binary files index
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionComponentDebianInstallerBinaryArchitecturePackages
? "/api/v4/groups/{id}/-/packages/debian/dists/*distribution/{component}/debian-installer/binary-{architecture}/by-hash/SHA256/{file_sha256}"
: get:
summary: The installer (udeb) binary files index by hash
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
- in: path
name: file_sha256
type: integer
format: int32
required: true
responses:
'200':
description: The installer (udeb) binary files index by hash
'202':
description: The installer (udeb) binary files index by hash
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionComponentDebianInstallerBinaryArchitectureByHashSha256FileSha256
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/{component}/source/Sources":
get:
summary: The source files index
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
responses:
'200':
description: The source files index
'202':
description: The source files index
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionComponentSourceSources
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/{component}/source/by-hash/SHA256/{file_sha256}":
get:
summary: The source files index by hash
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: file_sha256
type: integer
format: int32
required: true
responses:
'200':
description: The source files index by hash
'202':
description: The source files index by hash
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionComponentSourceByHashSha256FileSha256
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/{component}/binary-{architecture}/Packages":
get:
summary: The binary files index
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
responses:
'200':
description: The binary files index
'202':
description: The binary files index
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionComponentBinaryArchitecturePackages
"/api/v4/groups/{id}/-/packages/debian/dists/*distribution/{component}/binary-{architecture}/by-hash/SHA256/{file_sha256}":
get:
summary: The binary files index by hash
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
- in: path
name: file_sha256
type: integer
format: int32
required: true
responses:
'200':
description: The binary files index by hash
'202':
description: The binary files index by hash
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianDists*distributionComponentBinaryArchitectureByHashSha256FileSha256
"/api/v4/groups/{id}/-/packages/debian/pool/{distribution}/{project_id}/{letter}/{package_name}/{package_version}/{file_name}":
get:
summary: Download Debian package
description: This feature was introduced in GitLab 14.2
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: string
required: true
- in: path
name: project_id
description: The Project Id
type: integer
format: int32
required: true
- in: path
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: letter
description: The Debian Classification (first-letter or lib-first-letter)
type: string
required: true
example: a
- in: path
name: package_name
description: The Debian Source Package Name
type: string
required: true
example: my-pkg
- in: path
name: package_version
description: The Debian Source Package Version
type: string
required: true
example: 1.0.0
- in: path
name: file_name
description: The Debian File Name
type: string
required: true
example: example_1.0.0~alpha2_amd64.deb
responses:
'200':
description: Download Debian package
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4GroupsIdPackagesDebianPoolDistributionProjectIdLetterPackageNamePackageVersionFileName
"/api/v4/groups/{id}/dependency_proxy/cache":
delete:
summary: Purge the dependency proxy for a group
description: Schedules for deletion the cached manifests and blobs for a group.This
endpoint requires the Owner role for the group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
responses:
'202':
description: Purge the dependency proxy for a group
'401':
description: Unauthorized
tags:
- dependency_proxy
operationId: deleteApiV4GroupsIdDependencyProxyCache
"/api/v4/groups/{id}/deploy_tokens":
get:
summary: List group deploy tokens
description: Get a list of a group's deploy tokens. This feature was introduced
in GitLab 12.9.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: active
description: Limit by active status
type: boolean
required: false
responses:
'200':
description: List group deploy tokens
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_DeployToken"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- deploy_tokens
operationId: getApiV4GroupsIdDeployTokens
post:
summary: Create a group deploy token
description: Creates a new deploy token for a group. This feature was introduced
in GitLab 12.9.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: integer
format: int32
required: true
- name: postApiV4GroupsIdDeployTokens
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdDeployTokens"
responses:
'201':
description: Create a group deploy token
schema:
"$ref": "#/definitions/API_Entities_DeployTokenWithToken"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_tokens
operationId: postApiV4GroupsIdDeployTokens
"/api/v4/groups/{id}/deploy_tokens/{token_id}":
get:
summary: Get a group deploy token
description: 'Get a single group''s deploy token by ID. This feature was introduced
in GitLab 14.9. '
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: integer
format: int32
required: true
- in: path
name: token_id
description: The ID of the deploy token
type: integer
format: int32
required: true
responses:
'200':
description: Get a group deploy token
schema:
"$ref": "#/definitions/API_Entities_DeployToken"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_tokens
operationId: getApiV4GroupsIdDeployTokensTokenId
delete:
summary: Delete a group deploy token
description: Removes a deploy token from the group. This feature was introduced
in GitLab 12.9.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: integer
format: int32
required: true
- in: path
name: token_id
description: The ID of the deploy token
type: integer
format: int32
required: true
responses:
'204':
description: Delete a group deploy token
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_tokens
operationId: deleteApiV4GroupsIdDeployTokensTokenId
"/api/v4/groups/{id}/avatar":
get:
summary: Download the group avatar
description: This feature was introduced in GitLab 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of the group
type: string
required: true
responses:
'200':
description: Download the group avatar
tags:
- group_avatar
operationId: getApiV4GroupsIdAvatar
"/api/v4/groups/{id}/clusters":
get:
summary: List group clusters
description: This feature was introduced in GitLab 12.1. Returns a list of group
clusters.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of the group
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List group clusters
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Cluster"
'403':
description: Forbidden
tags:
- clusters
operationId: getApiV4GroupsIdClusters
"/api/v4/groups/{id}/clusters/{cluster_id}":
get:
summary: Get a single group cluster
description: This feature was introduced in GitLab 12.1. Gets a single group
cluster.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of the group
type: string
required: true
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
responses:
'200':
description: Get a single group cluster
schema:
"$ref": "#/definitions/API_Entities_ClusterGroup"
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: getApiV4GroupsIdClustersClusterId
put:
summary: Edit group cluster
description: This feature was introduced in GitLab 12.1. Updates an existing
group cluster.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of the group
type: string
required: true
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
- name: putApiV4GroupsIdClustersClusterId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdClustersClusterId"
responses:
'200':
description: Edit group cluster
schema:
"$ref": "#/definitions/API_Entities_ClusterGroup"
'400':
description: Validation error
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: putApiV4GroupsIdClustersClusterId
delete:
summary: Delete group cluster
description: This feature was introduced in GitLab 12.1. Deletes an existing
group cluster. Does not remove existing resources within the connected Kubernetes
cluster.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of the group
type: string
required: true
- in: path
name: cluster_id
description: The Cluster ID
type: integer
format: int32
required: true
responses:
'403':
description: Forbidden
'204':
description: Delete group cluster
schema:
"$ref": "#/definitions/API_Entities_ClusterGroup"
'404':
description: Not found
tags:
- clusters
operationId: deleteApiV4GroupsIdClustersClusterId
"/api/v4/groups/{id}/clusters/user":
post:
summary: Add existing cluster to group
description: This feature was introduced in GitLab 12.1. Adds an existing Kubernetes
cluster to the group.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of the group
type: string
required: true
- name: postApiV4GroupsIdClustersUser
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdClustersUser"
responses:
'201':
description: Add existing cluster to group
schema:
"$ref": "#/definitions/API_Entities_ClusterGroup"
'400':
description: Validation error
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: postApiV4GroupsIdClustersUser
"/api/v4/groups/{id}/registry/repositories":
get:
summary: List registry repositories within a group
description: Get a list of registry repositories in a group. This feature was
introduced in GitLab 12.2.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group accessible by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List registry repositories within a group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ContainerRegistry_Repository"
'401':
description: Unauthorized
'404':
description: Group Not Found
tags:
- container_registry
operationId: getApiV4GroupsIdRegistryRepositories
"/api/v4/groups/{id}/-/debian_distributions":
post:
summary: Create a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- name: postApiV4GroupsIdDebianDistributions
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdDebianDistributions"
responses:
'201':
description: Create a Debian Distribution
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: postApiV4GroupsIdDebianDistributions
get:
summary: Get a list of Debian Distributions
description: This feature was introduced in 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: codename
description: The Debian Codename
type: string
required: false
example: sid
- in: query
name: suite
description: The Debian Suite
type: string
required: false
example: unstable
- in: query
name: origin
description: The Debian Origin
type: string
required: false
example: Grep
- in: query
name: label
description: The Debian Label
type: string
required: false
example: grep.be
- in: query
name: version
description: The Debian Version
type: string
required: false
example: '12'
- in: query
name: description
description: The Debian Description
type: string
required: false
example: My description
- in: query
name: valid_time_duration_seconds
description: The duration before the Release file should be considered expired
by the client
type: integer
format: int32
required: false
example: 604800
- in: query
name: components
description: The list of Components
type: array
items:
type: string
required: false
example: main
- in: query
name: architectures
description: The list of Architectures
type: array
items:
type: string
required: false
example: amd64
responses:
'200':
description: Get a list of Debian Distributions
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: getApiV4GroupsIdDebianDistributions
"/api/v4/groups/{id}/-/debian_distributions/{codename}":
get:
summary: Get a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
responses:
'200':
description: Get a Debian Distribution
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: getApiV4GroupsIdDebianDistributionsCodename
put:
summary: Update a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
- name: putApiV4GroupsIdDebianDistributionsCodename
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdDebianDistributionsCodename"
responses:
'200':
description: Update a Debian Distribution
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: putApiV4GroupsIdDebianDistributionsCodename
delete:
summary: Delete a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
- in: query
name: suite
description: The Debian Suite
type: string
required: false
example: unstable
- in: query
name: origin
description: The Debian Origin
type: string
required: false
example: Grep
- in: query
name: label
description: The Debian Label
type: string
required: false
example: grep.be
- in: query
name: version
description: The Debian Version
type: string
required: false
example: '12'
- in: query
name: description
description: The Debian Description
type: string
required: false
example: My description
- in: query
name: valid_time_duration_seconds
description: The duration before the Release file should be considered expired
by the client
type: integer
format: int32
required: false
example: 604800
- in: query
name: components
description: The list of Components
type: array
items:
type: string
required: false
example: main
- in: query
name: architectures
description: The list of Architectures
type: array
items:
type: string
required: false
example: amd64
responses:
'202':
description: Delete a Debian Distribution
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: deleteApiV4GroupsIdDebianDistributionsCodename
"/api/v4/groups/{id}/-/debian_distributions/{codename}/key.asc":
get:
summary: Get a Debian Distribution Key
description: This feature was introduced in 14.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
responses:
'200':
description: Get a Debian Distribution Key
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: getApiV4GroupsIdDebianDistributionsCodenameKeyAsc
"/api/v4/groups/{id}/export/download":
get:
summary: Download export
description: This feature was introduced in GitLab 12.5.
produces:
- application/octet-stream
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'200':
description: Download export
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- group_export
operationId: getApiV4GroupsIdExportDownload
"/api/v4/groups/{id}/export":
post:
summary: Start export
description: This feature was introduced in GitLab 12.5.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'202':
description: Start export
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'429':
description: Too many requests
'503':
description: Service unavailable
tags:
- group_export
operationId: postApiV4GroupsIdExport
"/api/v4/groups/{id}/export_relations":
post:
summary: Start relations export
description: This feature was introduced in GitLab 13.12
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- name: postApiV4GroupsIdExportRelations
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdExportRelations"
responses:
'202':
description: Start relations export
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- group_export
operationId: postApiV4GroupsIdExportRelations
"/api/v4/groups/{id}/export_relations/download":
get:
summary: Download relations export
description: This feature was introduced in GitLab 13.12
produces:
- application/octet-stream
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: relation
description: Group relation name
type: string
required: true
- in: query
name: batched
description: Whether to download in batches
type: boolean
required: false
- in: query
name: batch_number
description: Batch number to download
type: integer
format: int32
required: false
responses:
'200':
description: Download relations export
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- group_export
operationId: getApiV4GroupsIdExportRelationsDownload
"/api/v4/groups/{id}/export_relations/status":
get:
summary: Relations export status
description: This feature was introduced in GitLab 13.12
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: relation
description: Group relation name
type: string
required: false
responses:
'200':
description: Relations export status
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BulkImports_ExportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- group_export
operationId: getApiV4GroupsIdExportRelationsStatus
"/api/v4/groups/import/authorize":
post:
summary: Workhorse authorize the group import upload
description: This feature was introduced in GitLab 12.8
produces:
- application/json
consumes:
- application/json
responses:
'201':
description: Workhorse authorize the group import upload
tags:
- group_import
operationId: postApiV4GroupsImportAuthorize
"/api/v4/groups/import":
post:
summary: Create a new group import
description: This feature was introduced in GitLab 12.8
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: formData
name: path
description: Group path
type: string
required: true
- in: formData
name: name
description: Group name
type: string
required: true
- in: formData
name: file
description: The group export file to be imported
type: file
required: true
- in: formData
name: parent_id
description: The ID of the parent group that the group will be imported into.
Defaults to the current user's namespace.
type: integer
format: int32
required: false
- in: formData
name: organization_id
description: 'The ID of the organization that the group will be part of. '
type: integer
format: int32
default: {}
required: false
responses:
'202':
description: Create a new group import
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'503':
description: Service unavailable
tags:
- group_import
operationId: postApiV4GroupsImport
"/api/v4/groups/{id}/packages":
get:
summary: List packages within a group
description: Get a list of project packages at the group level. This feature
was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the group
type: string
required: true
- in: query
name: exclude_subgroups
description: Determines if subgroups should be excluded
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: order_by
description: Return packages ordered by `created_at`, `name`, `version` or
`type` fields.
type: string
default: created_at
enum:
- created_at
- name
- version
- type
- project_path
required: false
- in: query
name: sort
description: Return packages sorted in `asc` or `desc` order.
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: package_type
description: Return packages of a certain type
type: string
enum:
- maven
- npm
- conan
- nuget
- pypi
- composer
- generic
- golang
- debian
- rubygems
- helm
- terraform_module
- rpm
- ml_model
required: false
- in: query
name: package_name
description: Return packages with this name
type: string
required: false
- in: query
name: package_version
description: Return packages with this version
type: string
required: false
- in: query
name: include_versionless
description: Returns packages without a version
type: boolean
required: false
- in: query
name: status
description: Return packages with specified status
type: string
enum:
- default
- hidden
- processing
- error
- pending_destruction
- deprecated
required: false
responses:
'200':
description: List packages within a group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Package"
'401':
description: Unauthorized
'404':
description: Group Not Found
tags:
- group_packages
operationId: getApiV4GroupsIdPackages
"/api/v4/groups/{id}/placeholder_reassignments":
get:
summary: Download the list of pending placeholder assignments for a group
description: This feature was added in GitLab 17.10
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'200':
description: Download the list of pending placeholder assignments for a
group
tags:
- groups
operationId: getApiV4GroupsIdPlaceholderReassignments
post:
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- name: postApiV4GroupsIdPlaceholderReassignments
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdPlaceholderReassignments"
responses:
'201':
description: created PlaceholderReassignment
tags:
- groups
operationId: postApiV4GroupsIdPlaceholderReassignments
"/api/v4/groups/{id}/placeholder_reassignments/authorize":
post:
summary: Workhorse authorization for the reassignment CSV file
description: This feature was introduced in GitLab 17.10
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'201':
description: Workhorse authorization for the reassignment CSV file
tags:
- groups
operationId: postApiV4GroupsIdPlaceholderReassignmentsAuthorize
"/api/v4/groups/{id}/variables":
get:
description: Get a list of group-level variables
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID of a group or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a list of group-level variables
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
tags:
- ci_variables
operationId: getApiV4GroupsIdVariables
post:
description: Create a new variable in a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: |-
The ID of a group or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- name: postApiV4GroupsIdVariables
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdVariables"
responses:
'201':
description: Create a new variable in a group
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'400':
description: 400 Bad Request
tags:
- ci_variables
operationId: postApiV4GroupsIdVariables
"/api/v4/groups/{id}/variables/{key}":
get:
description: Get the details of a groups specific variable
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID of a group or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: key
description: The key of the variable
type: string
required: true
responses:
'200':
description: Get the details of a groups specific variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'404':
description: Group Variable Not Found
tags:
- ci_variables
operationId: getApiV4GroupsIdVariablesKey
put:
description: Update an existing variable from a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: |-
The ID of a group or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: key
description: The key of a variable
type: string
required: true
- name: putApiV4GroupsIdVariablesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdVariablesKey"
responses:
'200':
description: Update an existing variable from a group
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'400':
description: 400 Bad Request
'404':
description: Group Variable Not Found
tags:
- ci_variables
operationId: putApiV4GroupsIdVariablesKey
delete:
description: Delete an existing variable from a group
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID of a group or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: path
name: key
description: The key of a variable
type: string
required: true
responses:
'404':
description: Group Variable Not Found
'204':
description: Delete an existing variable from a group
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
tags:
- ci_variables
operationId: deleteApiV4GroupsIdVariablesKey
"/api/v4/groups/{id}/integrations":
get:
summary: List all active integrations
description: Get a list of all active integrations.
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: List all active integrations
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: getApiV4GroupsIdIntegrations
"/api/v4/groups/{id}/integrations/apple-app-store":
put:
summary: Create/Edit Apple App Store integration
description: Set Apple App Store integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsAppleAppStore
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsAppleAppStore"
responses:
'200':
description: Create/Edit Apple App Store integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsAppleAppStore
"/api/v4/groups/{id}/integrations/asana":
put:
summary: Create/Edit Asana integration
description: Set Asana integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsAsana
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsAsana"
responses:
'200':
description: Create/Edit Asana integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsAsana
"/api/v4/groups/{id}/integrations/assembla":
put:
summary: Create/Edit Assembla integration
description: Set Assembla integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsAssembla
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsAssembla"
responses:
'200':
description: Create/Edit Assembla integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsAssembla
"/api/v4/groups/{id}/integrations/bamboo":
put:
summary: Create/Edit Bamboo integration
description: Set Bamboo integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsBamboo
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsBamboo"
responses:
'200':
description: Create/Edit Bamboo integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsBamboo
"/api/v4/groups/{id}/integrations/bugzilla":
put:
summary: Create/Edit Bugzilla integration
description: Set Bugzilla integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsBugzilla
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsBugzilla"
responses:
'200':
description: Create/Edit Bugzilla integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsBugzilla
"/api/v4/groups/{id}/integrations/buildkite":
put:
summary: Create/Edit Buildkite integration
description: Set Buildkite integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsBuildkite
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsBuildkite"
responses:
'200':
description: Create/Edit Buildkite integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsBuildkite
"/api/v4/groups/{id}/integrations/campfire":
put:
summary: Create/Edit Campfire integration
description: Set Campfire integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsCampfire
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsCampfire"
responses:
'200':
description: Create/Edit Campfire integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsCampfire
"/api/v4/groups/{id}/integrations/confluence":
put:
summary: Create/Edit Confluence integration
description: Set Confluence integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsConfluence
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsConfluence"
responses:
'200':
description: Create/Edit Confluence integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsConfluence
"/api/v4/groups/{id}/integrations/custom-issue-tracker":
put:
summary: Create/Edit Custom Issue Tracker integration
description: Set Custom Issue Tracker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsCustomIssueTracker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsCustomIssueTracker"
responses:
'200':
description: Create/Edit Custom Issue Tracker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsCustomIssueTracker
"/api/v4/groups/{id}/integrations/datadog":
put:
summary: Create/Edit Datadog integration
description: Set Datadog integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsDatadog
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsDatadog"
responses:
'200':
description: Create/Edit Datadog integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsDatadog
"/api/v4/groups/{id}/integrations/diffblue-cover":
put:
summary: Create/Edit Diffblue Cover integration
description: Set Diffblue Cover integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsDiffblueCover
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsDiffblueCover"
responses:
'200':
description: Create/Edit Diffblue Cover integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsDiffblueCover
"/api/v4/groups/{id}/integrations/discord":
put:
summary: Create/Edit Discord integration
description: Set Discord integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsDiscord
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsDiscord"
responses:
'200':
description: Create/Edit Discord integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsDiscord
"/api/v4/groups/{id}/integrations/drone-ci":
put:
summary: Create/Edit Drone Ci integration
description: Set Drone Ci integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsDroneCi
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsDroneCi"
responses:
'200':
description: Create/Edit Drone Ci integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsDroneCi
"/api/v4/groups/{id}/integrations/emails-on-push":
put:
summary: Create/Edit Emails On Push integration
description: Set Emails On Push integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsEmailsOnPush
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsEmailsOnPush"
responses:
'200':
description: Create/Edit Emails On Push integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsEmailsOnPush
"/api/v4/groups/{id}/integrations/external-wiki":
put:
summary: Create/Edit External Wiki integration
description: Set External Wiki integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsExternalWiki
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsExternalWiki"
responses:
'200':
description: Create/Edit External Wiki integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsExternalWiki
"/api/v4/groups/{id}/integrations/gitlab-slack-application":
put:
summary: Create/Edit Gitlab Slack Application integration
description: Set Gitlab Slack Application integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsGitlabSlackApplication
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsGitlabSlackApplication"
responses:
'200':
description: Create/Edit Gitlab Slack Application integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsGitlabSlackApplication
"/api/v4/groups/{id}/integrations/google-play":
put:
summary: Create/Edit Google Play integration
description: Set Google Play integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsGooglePlay
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsGooglePlay"
responses:
'200':
description: Create/Edit Google Play integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsGooglePlay
"/api/v4/groups/{id}/integrations/hangouts-chat":
put:
summary: Create/Edit Hangouts Chat integration
description: Set Hangouts Chat integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsHangoutsChat
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsHangoutsChat"
responses:
'200':
description: Create/Edit Hangouts Chat integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsHangoutsChat
"/api/v4/groups/{id}/integrations/harbor":
put:
summary: Create/Edit Harbor integration
description: Set Harbor integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsHarbor
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsHarbor"
responses:
'200':
description: Create/Edit Harbor integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsHarbor
"/api/v4/groups/{id}/integrations/irker":
put:
summary: Create/Edit Irker integration
description: Set Irker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsIrker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsIrker"
responses:
'200':
description: Create/Edit Irker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsIrker
"/api/v4/groups/{id}/integrations/jenkins":
put:
summary: Create/Edit Jenkins integration
description: Set Jenkins integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsJenkins
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsJenkins"
responses:
'200':
description: Create/Edit Jenkins integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsJenkins
"/api/v4/groups/{id}/integrations/jira":
put:
summary: Create/Edit Jira integration
description: Set Jira integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsJira
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsJira"
responses:
'200':
description: Create/Edit Jira integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsJira
"/api/v4/groups/{id}/integrations/jira-cloud-app":
put:
summary: Create/Edit Jira Cloud App integration
description: Set Jira Cloud App integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsJiraCloudApp
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsJiraCloudApp"
responses:
'200':
description: Create/Edit Jira Cloud App integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsJiraCloudApp
"/api/v4/groups/{id}/integrations/matrix":
put:
summary: Create/Edit Matrix integration
description: Set Matrix integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsMatrix
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsMatrix"
responses:
'200':
description: Create/Edit Matrix integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsMatrix
"/api/v4/groups/{id}/integrations/mattermost-slash-commands":
put:
summary: Create/Edit Mattermost Slash Commands integration
description: Set Mattermost Slash Commands integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsMattermostSlashCommands
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsMattermostSlashCommands"
responses:
'200':
description: Create/Edit Mattermost Slash Commands integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsMattermostSlashCommands
"/api/v4/groups/{id}/integrations/slack-slash-commands":
put:
summary: Create/Edit Slack Slash Commands integration
description: Set Slack Slash Commands integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsSlackSlashCommands
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsSlackSlashCommands"
responses:
'200':
description: Create/Edit Slack Slash Commands integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsSlackSlashCommands
"/api/v4/groups/{id}/integrations/packagist":
put:
summary: Create/Edit Packagist integration
description: Set Packagist integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsPackagist
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsPackagist"
responses:
'200':
description: Create/Edit Packagist integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsPackagist
"/api/v4/groups/{id}/integrations/phorge":
put:
summary: Create/Edit Phorge integration
description: Set Phorge integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsPhorge
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsPhorge"
responses:
'200':
description: Create/Edit Phorge integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsPhorge
"/api/v4/groups/{id}/integrations/pipelines-email":
put:
summary: Create/Edit Pipelines Email integration
description: Set Pipelines Email integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsPipelinesEmail
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsPipelinesEmail"
responses:
'200':
description: Create/Edit Pipelines Email integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsPipelinesEmail
"/api/v4/groups/{id}/integrations/pivotaltracker":
put:
summary: Create/Edit Pivotaltracker integration
description: Set Pivotaltracker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsPivotaltracker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsPivotaltracker"
responses:
'200':
description: Create/Edit Pivotaltracker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsPivotaltracker
"/api/v4/groups/{id}/integrations/pumble":
put:
summary: Create/Edit Pumble integration
description: Set Pumble integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsPumble
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsPumble"
responses:
'200':
description: Create/Edit Pumble integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsPumble
"/api/v4/groups/{id}/integrations/pushover":
put:
summary: Create/Edit Pushover integration
description: Set Pushover integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsPushover
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsPushover"
responses:
'200':
description: Create/Edit Pushover integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsPushover
"/api/v4/groups/{id}/integrations/redmine":
put:
summary: Create/Edit Redmine integration
description: Set Redmine integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsRedmine
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsRedmine"
responses:
'200':
description: Create/Edit Redmine integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsRedmine
"/api/v4/groups/{id}/integrations/ewm":
put:
summary: Create/Edit Ewm integration
description: Set Ewm integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsEwm
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsEwm"
responses:
'200':
description: Create/Edit Ewm integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsEwm
"/api/v4/groups/{id}/integrations/youtrack":
put:
summary: Create/Edit Youtrack integration
description: Set Youtrack integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsYoutrack
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsYoutrack"
responses:
'200':
description: Create/Edit Youtrack integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsYoutrack
"/api/v4/groups/{id}/integrations/clickup":
put:
summary: Create/Edit Clickup integration
description: Set Clickup integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsClickup
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsClickup"
responses:
'200':
description: Create/Edit Clickup integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsClickup
"/api/v4/groups/{id}/integrations/slack":
put:
summary: Create/Edit Slack integration
description: Set Slack integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsSlack
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsSlack"
responses:
'200':
description: Create/Edit Slack integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsSlack
"/api/v4/groups/{id}/integrations/microsoft-teams":
put:
summary: Create/Edit Microsoft Teams integration
description: Set Microsoft Teams integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsMicrosoftTeams
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsMicrosoftTeams"
responses:
'200':
description: Create/Edit Microsoft Teams integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsMicrosoftTeams
"/api/v4/groups/{id}/integrations/mattermost":
put:
summary: Create/Edit Mattermost integration
description: Set Mattermost integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsMattermost
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsMattermost"
responses:
'200':
description: Create/Edit Mattermost integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsMattermost
"/api/v4/groups/{id}/integrations/teamcity":
put:
summary: Create/Edit Teamcity integration
description: Set Teamcity integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsTeamcity
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsTeamcity"
responses:
'200':
description: Create/Edit Teamcity integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsTeamcity
"/api/v4/groups/{id}/integrations/telegram":
put:
summary: Create/Edit Telegram integration
description: Set Telegram integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsTelegram
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsTelegram"
responses:
'200':
description: Create/Edit Telegram integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsTelegram
"/api/v4/groups/{id}/integrations/unify-circuit":
put:
summary: Create/Edit Unify Circuit integration
description: Set Unify Circuit integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsUnifyCircuit
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsUnifyCircuit"
responses:
'200':
description: Create/Edit Unify Circuit integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsUnifyCircuit
"/api/v4/groups/{id}/integrations/webex-teams":
put:
summary: Create/Edit Webex Teams integration
description: Set Webex Teams integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsWebexTeams
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsWebexTeams"
responses:
'200':
description: Create/Edit Webex Teams integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsWebexTeams
"/api/v4/groups/{id}/integrations/zentao":
put:
summary: Create/Edit Zentao integration
description: Set Zentao integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsZentao
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsZentao"
responses:
'200':
description: Create/Edit Zentao integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsZentao
"/api/v4/groups/{id}/integrations/squash-tm":
put:
summary: Create/Edit Squash Tm integration
description: Set Squash Tm integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsSquashTm
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsSquashTm"
responses:
'200':
description: Create/Edit Squash Tm integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsSquashTm
"/api/v4/groups/{id}/integrations/github":
put:
summary: Create/Edit Github integration
description: Set Github integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsGithub
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsGithub"
responses:
'200':
description: Create/Edit Github integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsGithub
"/api/v4/groups/{id}/integrations/git-guardian":
put:
summary: Create/Edit Git Guardian integration
description: Set Git Guardian integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsGitGuardian
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsGitGuardian"
responses:
'200':
description: Create/Edit Git Guardian integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsGitGuardian
"/api/v4/groups/{id}/integrations/google-cloud-platform-artifact-registry":
put:
summary: Create/Edit Google Cloud Platform Artifact Registry integration
description: Set Google Cloud Platform Artifact Registry integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsGoogleCloudPlatformArtifactRegistry
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsGoogleCloudPlatformArtifactRegistry"
responses:
'200':
description: Create/Edit Google Cloud Platform Artifact Registry integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsGoogleCloudPlatformArtifactRegistry
"/api/v4/groups/{id}/integrations/google-cloud-platform-workload-identity-federation":
put:
summary: Create/Edit Google Cloud Platform Workload Identity Federation integration
description: Set Google Cloud Platform Workload Identity Federation integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation"
responses:
'200':
description: Create/Edit Google Cloud Platform Workload Identity Federation
integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation
"/api/v4/groups/{id}/integrations/mock-ci":
put:
summary: Create/Edit Mock Ci integration
description: Set Mock Ci integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsMockCi
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsMockCi"
responses:
'200':
description: Create/Edit Mock Ci integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsMockCi
"/api/v4/groups/{id}/integrations/mock-monitoring":
put:
summary: Create/Edit Mock Monitoring integration
description: Set Mock Monitoring integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4GroupsIdIntegrationsMockMonitoring
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdIntegrationsMockMonitoring"
responses:
'200':
description: Create/Edit Mock Monitoring integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4GroupsIdIntegrationsMockMonitoring
"/api/v4/groups/{id}/integrations/{slug}":
delete:
summary: Disable an integration
description: Disable the integration. Integration settings are preserved.
produces:
- application/json
parameters:
- in: path
name: slug
description: The name of the integration
type: string
enum:
- apple-app-store
- asana
- assembla
- bamboo
- bugzilla
- buildkite
- campfire
- confluence
- custom-issue-tracker
- datadog
- diffblue-cover
- discord
- drone-ci
- emails-on-push
- external-wiki
- gitlab-slack-application
- google-play
- hangouts-chat
- harbor
- irker
- jenkins
- jira
- jira-cloud-app
- matrix
- mattermost-slash-commands
- slack-slash-commands
- packagist
- phorge
- pipelines-email
- pivotaltracker
- pumble
- pushover
- redmine
- ewm
- youtrack
- clickup
- slack
- microsoft-teams
- mattermost
- teamcity
- telegram
- unify-circuit
- webex-teams
- zentao
- squash-tm
- github
- git-guardian
- google-cloud-platform-artifact-registry
- google-cloud-platform-workload-identity-federation
- mock-ci
- mock-monitoring
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Disable an integration
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: deleteApiV4GroupsIdIntegrationsSlug
get:
summary: Get an integration settings
description: Get the integration settings.
produces:
- application/json
parameters:
- in: path
name: slug
description: The name of the integration
type: string
enum:
- apple-app-store
- asana
- assembla
- bamboo
- bugzilla
- buildkite
- campfire
- confluence
- custom-issue-tracker
- datadog
- diffblue-cover
- discord
- drone-ci
- emails-on-push
- external-wiki
- gitlab-slack-application
- google-play
- hangouts-chat
- harbor
- irker
- jenkins
- jira
- jira-cloud-app
- matrix
- mattermost-slash-commands
- slack-slash-commands
- packagist
- phorge
- pipelines-email
- pivotaltracker
- pumble
- pushover
- redmine
- ewm
- youtrack
- clickup
- slack
- microsoft-teams
- mattermost
- teamcity
- telegram
- unify-circuit
- webex-teams
- zentao
- squash-tm
- github
- git-guardian
- google-cloud-platform-artifact-registry
- google-cloud-platform-workload-identity-federation
- mock-ci
- mock-monitoring
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get an integration settings
schema:
"$ref": "#/definitions/API_Entities_Integration"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: getApiV4GroupsIdIntegrationsSlug
"/api/v4/groups/{id}/invitations":
post:
summary: Invite non-members by email address to a group or project.
description: This feature was introduced in GitLab 13.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- name: postApiV4GroupsIdInvitations
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdInvitations"
responses:
'201':
description: Invite non-members by email address to a group or project.
schema:
"$ref": "#/definitions/API_Entities_Invitation"
tags:
- invitations
operationId: postApiV4GroupsIdInvitations
get:
summary: Get a list of group or project invitations viewable by the authenticated
user
description: This feature was introduced in GitLab 13.6
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: query
description: A query string to search for members
type: string
required: false
responses:
'200':
description: Get a list of group or project invitations viewable by the
authenticated user
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Invitation"
tags:
- invitations
operationId: getApiV4GroupsIdInvitations
"/api/v4/groups/{id}/invitations/{email}":
put:
description: Updates a group or project invitation.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
- name: putApiV4GroupsIdInvitationsEmail
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdInvitationsEmail"
responses:
'200':
description: Updates a group or project invitation.
schema:
"$ref": "#/definitions/API_Entities_Invitation"
tags:
- invitations
operationId: putApiV4GroupsIdInvitationsEmail
delete:
description: Removes an invitation from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
responses:
'204':
description: Removes an invitation from a group or project.
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Could not delete invitation
tags:
- invitations
operationId: deleteApiV4GroupsIdInvitationsEmail
"/api/v4/groups/{id}/uploads":
get:
description: Get the list of uploads of a group
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get the list of uploads of a group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_MarkdownUploadAdmin"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- groups
operationId: getApiV4GroupsIdUploads
"/api/v4/groups/{id}/uploads/{upload_id}":
get:
description: Download a single group upload by ID
produces:
- application/json
parameters:
- in: path
name: upload_id
description: The ID of a group upload
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Download a single group upload by ID
schema:
type: file
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- groups
operationId: getApiV4GroupsIdUploadsUploadId
delete:
description: Delete a single group upload
produces:
- application/json
parameters:
- in: path
name: upload_id
description: The ID of a group upload
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a single group upload
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- groups
operationId: deleteApiV4GroupsIdUploadsUploadId
"/api/v4/groups/{id}/uploads/{secret}/{filename}":
get:
description: Download a single project upload by secret and filename
produces:
- application/json
parameters:
- in: path
name: secret
description: The 32-character secret of a group upload
type: string
required: true
- in: path
name: filename
description: The filename of a group upload
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Download a single project upload by secret and filename
schema:
type: file
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- groups
operationId: getApiV4GroupsIdUploadsSecretFilename
delete:
description: Delete a single group upload by secret and filename
produces:
- application/json
parameters:
- in: path
name: secret
description: The 32-character secret of a group upload
type: string
required: true
- in: path
name: filename
description: The filename of a group upload
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a single group upload by secret and filename
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- groups
operationId: deleteApiV4GroupsIdUploadsSecretFilename
"/api/v4/groups/{id}/-/packages/maven/*path/{file_name}":
get:
summary: Download the maven package file at a group level
description: This feature was introduced in GitLab 11.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: query
name: path
description: Package path
type: string
required: true
example: foo/bar/mypkg/1.0-SNAPSHOT
- in: path
name: file_name
description: Package file name
type: string
required: true
example: mypkg-1.0-SNAPSHOT.jar
responses:
'200':
description: Download the maven package file at a group level
'302':
description: Download the maven package file at a group level
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- maven_packages
operationId: getApiV4GroupsIdPackagesMaven*pathFileName
"/api/v4/groups/{id}/members":
get:
description: Gets a list of group or project members viewable by the authenticated
user.
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: query
name: query
description: A query string to search for members
type: string
required: false
- in: query
name: user_ids
description: Array of user ids to look up for membership
type: array
items:
type: integer
format: int32
required: false
- in: query
name: skip_users
description: Array of user ids to be skipped for membership
type: array
items:
type: integer
format: int32
required: false
- in: query
name: show_seat_info
description: Show seat information for members
type: boolean
required: false
- in: query
name: with_saml_identity
description: List only members with linked SAML identity
type: boolean
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Gets a list of group or project members viewable by the authenticated
user.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4GroupsIdMembers
post:
description: Adds a member to a group or project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- name: postApiV4GroupsIdMembers
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdMembers"
responses:
'201':
description: Adds a member to a group or project.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: postApiV4GroupsIdMembers
"/api/v4/groups/{id}/members/all":
get:
description: Gets a list of group or project members viewable by the authenticated
user, including those who gained membership through ancestor group.
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: query
name: query
description: A query string to search for members
type: string
required: false
- in: query
name: user_ids
description: Array of user ids to look up for membership
type: array
items:
type: integer
format: int32
required: false
- in: query
name: show_seat_info
description: Show seat information for members
type: boolean
required: false
- in: query
name: state
description: Filter results by member state
type: string
enum:
- awaiting
- active
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Gets a list of group or project members viewable by the authenticated
user, including those who gained membership through ancestor group.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4GroupsIdMembersAll
"/api/v4/groups/{id}/members/{user_id}":
get:
description: Gets a member of a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'200':
description: Gets a member of a group or project.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4GroupsIdMembersUserId
put:
description: Updates a member of a group or project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the new member
type: integer
format: int32
required: true
- name: putApiV4GroupsIdMembersUserId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdMembersUserId"
responses:
'200':
description: Updates a member of a group or project.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: putApiV4GroupsIdMembersUserId
delete:
description: Removes a user from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
- in: query
name: skip_subresources
description: Flag indicating if the deletion of direct memberships of the
removed member in subgroups and projects should be skipped
type: boolean
default: false
required: false
- in: query
name: unassign_issuables
description: Flag indicating if the removed member should be unassigned from
any issues or merge requests within given group or project
type: boolean
default: false
required: false
responses:
'204':
description: Removes a user from a group or project.
tags:
- members
operationId: deleteApiV4GroupsIdMembersUserId
"/api/v4/groups/{id}/members/all/{user_id}":
get:
description: Gets a member of a group or project, including those who gained
membership through ancestor group
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'200':
description: Gets a member of a group or project, including those who gained
membership through ancestor group
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4GroupsIdMembersAllUserId
"/api/v4/groups/{id}/members/{user_id}/override":
post:
description: Overrides the access level of an LDAP group member.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'201':
description: Overrides the access level of an LDAP group member.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- groups
operationId: postApiV4GroupsIdMembersUserIdOverride
delete:
description: Remove an LDAP group member access level override.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'200':
description: Remove an LDAP group member access level override.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- groups
operationId: deleteApiV4GroupsIdMembersUserIdOverride
"/api/v4/groups/{id}/members/{member_id}/approve":
put:
description: Approves a pending member
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: member_id
description: The ID of the member requiring approval
type: integer
format: int32
required: true
responses:
'200':
description: Approves a pending member
tags:
- groups
operationId: putApiV4GroupsIdMembersMemberIdApprove
"/api/v4/groups/{id}/members/approve_all":
post:
description: Approves all pending members
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
responses:
'201':
description: Approves all pending members
tags:
- groups
operationId: postApiV4GroupsIdMembersApproveAll
"/api/v4/groups/{id}/pending_members":
get:
description: Lists all pending members for a group including invited users
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Lists all pending members for a group including invited users
tags:
- groups
operationId: getApiV4GroupsIdPendingMembers
"/api/v4/groups/{id}/billable_members":
get:
description: Gets a list of billable users of top-level group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: search
description: The exact name of the subscribed member
type: string
required: false
- in: query
name: sort
description: The sorting option
type: string
enum:
- access_level_asc
- access_level_desc
- last_joined
- name_asc
- name_desc
- oldest_joined
- oldest_sign_in
- recent_sign_in
- last_activity_on_asc
- last_activity_on_desc
required: false
responses:
'200':
description: Gets a list of billable users of top-level group.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- groups
operationId: getApiV4GroupsIdBillableMembers
"/api/v4/groups/{id}/members/{user_id}/state":
put:
description: Changes the state of the memberships of a user in the group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: user_id
description: The user ID of the user
type: integer
format: int32
required: true
- name: putApiV4GroupsIdMembersUserIdState
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdMembersUserIdState"
responses:
'200':
description: Changes the state of the memberships of a user in the group
tags:
- groups
operationId: putApiV4GroupsIdMembersUserIdState
"/api/v4/groups/{id}/billable_members/{user_id}/memberships":
get:
description: Get the direct memberships of a billable user of a top-level group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get the direct memberships of a billable user of a top-level
group.
schema:
"$ref": "#/definitions/EE_API_Entities_BillableMembership"
tags:
- groups
operationId: getApiV4GroupsIdBillableMembersUserIdMemberships
"/api/v4/groups/{id}/billable_members/{user_id}/indirect":
get:
description: Get the indirect memberships of a billable user of a top-level
group.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get the indirect memberships of a billable user of a top-level
group.
schema:
"$ref": "#/definitions/EE_API_Entities_BillableMembership"
tags:
- groups
operationId: getApiV4GroupsIdBillableMembersUserIdIndirect
"/api/v4/groups/{id}/billable_members/{user_id}":
delete:
description: Removes a billable member from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a group
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'204':
description: Removes a billable member from a group or project.
tags:
- groups
operationId: deleteApiV4GroupsIdBillableMembersUserId
"/api/v4/groups/{id}/merge_requests":
get:
summary: List group merge requests
description: Get all merge requests for this group and its subgroups.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user.
type: string
required: true
- in: query
name: author_id
description: Returns merge requests created by the given user `id`. Mutually
exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.
type: integer
format: int32
required: false
- in: query
name: author_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: string
required: false
- in: query
name: assignee_id
description: Returns merge requests assigned to the given user `id`. `None`
returns unassigned merge requests. `Any` returns merge requests with an
assignee.
type: integer
format: int32
required: false
- in: query
name: assignee_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: array
items:
type: string
required: false
- in: query
name: reviewer_username
description: Returns merge requests which have the user as a reviewer with
the given `username`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`.
Introduced in GitLab 13.8.
type: string
required: false
- in: query
name: labels
description: Returns merge requests matching a comma-separated list of labels.
`None` lists all merge requests with no labels. `Any` lists all merge requests
with at least one label. Predefined names are case-insensitive.
type: array
items:
type: string
required: false
- in: query
name: milestone
description: Returns merge requests for a specific milestone. `None` returns
merge requests with no milestone. `Any` returns merge requests that have
an assigned milestone.
type: string
required: false
- in: query
name: my_reaction_emoji
description: Returns merge requests reacted by the authenticated user by the
given `emoji`. `None` returns issues not given a reaction. `Any` returns
issues given at least one reaction.
type: string
required: false
- in: query
name: reviewer_id
description: Returns merge requests which have the user as a reviewer with
the given user `id`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.
type: integer
format: int32
required: false
- in: query
name: state
description: Returns `all` merge requests or just those that are `opened`,
`closed`, `locked`, or `merged`.
type: string
default: all
enum:
- opened
- closed
- locked
- merged
- all
required: false
- in: query
name: order_by
description: Returns merge requests ordered by `created_at`, `label_priority`,
`milestone_due`, `popularity`, `priority`, `title`, `updated_at` or `merged_at`
fields. Introduced in GitLab 14.8.
type: string
default: created_at
enum:
- created_at
- label_priority
- milestone_due
- popularity
- priority
- title
- updated_at
- merged_at
required: false
- in: query
name: sort
description: Returns merge requests sorted in `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: with_labels_details
description: 'If `true`, response returns more details for each label in labels
field: `:name`,`:color`, `:description`, `:description_html`, `:text_color`'
type: boolean
default: false
required: false
- in: query
name: with_merge_status_recheck
description: If `true`, this projection requests (but does not guarantee)
that the `merge_status` field be recalculated asynchronously. Introduced
in GitLab 13.0.
type: boolean
default: false
required: false
- in: query
name: created_after
description: Returns merge requests created on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: created_before
description: Returns merge requests created on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_after
description: Returns merge requests updated on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_before
description: Returns merge requests updated on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: view
description: If simple, returns the `iid`, URL, title, description, and basic
state of merge request
type: string
enum:
- simple
required: false
- in: query
name: scope
description: 'Returns merge requests for the given scope: `created_by_me`,
`assigned_to_me` or `all`'
type: string
enum:
- created-by-me
- assigned-to-me
- created_by_me
- assigned_to_me
- all
required: false
- in: query
name: source_branch
description: Returns merge requests with the given source branch
type: string
required: false
- in: query
name: source_project_id
description: Returns merge requests with the given source project id
type: integer
format: int32
required: false
- in: query
name: target_branch
description: Returns merge requests with the given target branch
type: string
required: false
- in: query
name: search
description: Search merge requests against their `title` and `description`.
type: string
required: false
- in: query
name: in
description: Modify the scope of the search attribute. `title`, `description`,
or a string joining them with comma.
type: string
required: false
example: title,description
- in: query
name: wip
description: Filter merge requests against their `wip` status. `yes` to return
only draft merge requests, `no` to return non-draft merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: not[author_id]
description: "`<Negated>` Returns merge requests created by the given user
`id`. Mutually exclusive with `author_username`. Combine with `scope=all`
or `scope=assigned_to_me`."
type: integer
format: int32
required: false
- in: query
name: not[author_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: string
required: false
- in: query
name: not[assignee_id]
description: "`<Negated>` Returns merge requests assigned to the given user
`id`. `None` returns unassigned merge requests. `Any` returns merge requests
with an assignee."
type: integer
format: int32
required: false
- in: query
name: not[assignee_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: array
items:
type: string
required: false
- in: query
name: not[reviewer_username]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given `username`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_id`. Introduced in GitLab 13.8."
type: string
required: false
- in: query
name: not[labels]
description: "`<Negated>` Returns merge requests matching a comma-separated
list of labels. `None` lists all merge requests with no labels. `Any` lists
all merge requests with at least one label. Predefined names are case-insensitive."
type: array
items:
type: string
required: false
- in: query
name: not[milestone]
description: "`<Negated>` Returns merge requests for a specific milestone.
`None` returns merge requests with no milestone. `Any` returns merge requests
that have an assigned milestone."
type: string
required: false
- in: query
name: not[my_reaction_emoji]
description: "`<Negated>` Returns merge requests reacted by the authenticated
user by the given `emoji`. `None` returns issues not given a reaction. `Any`
returns issues given at least one reaction."
type: string
required: false
- in: query
name: not[reviewer_id]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given user `id`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_username`."
type: integer
format: int32
required: false
- in: query
name: deployed_before
description: Returns merge requests deployed before the given date/time. Expected
in ISO 8601 format.
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: deployed_after
description: Returns merge requests deployed after the given date/time. Expected
in ISO 8601 format
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: environment
description: Returns merge requests deployed to the given environment
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: approved
description: Filters merge requests by their `approved` status. `yes` returns
only approved merge requests. `no` returns only non-approved merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: merge_user_id
description: Returns merge requests which have been merged by the user with
the given user `id`. Mutually exclusive with `merge_user_username`.
type: integer
format: int32
required: false
- in: query
name: merge_user_username
description: Returns merge requests which have been merged by the user with
the given `username`. Mutually exclusive with `merge_user_id`.
type: string
required: false
- in: query
name: approver_ids
description: Return merge requests which have specified the users with the
given IDs as an individual approver
type: string
required: false
- in: query
name: approved_by_ids
description: Return merge requests which have been approved by the specified
users with the given IDs
type: string
required: false
- in: query
name: approved_by_usernames
description: |-
Return merge requests which have been approved by the specified users with the given
usernames
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: non_archived
description: Returns merge requests from non archived projects only.
type: boolean
default: true
required: false
responses:
'200':
description: List group merge requests
schema:
"$ref": "#/definitions/API_Entities_MergeRequestBasic"
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- merge_requests
operationId: getApiV4GroupsIdMergeRequests
"/api/v4/groups/{id}/-/packages/npm/-/package/*package_name/dist-tags":
get:
summary: Get all tags for a given an NPM package
description: This feature was introduced in GitLab 12.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
responses:
'200':
description: Get all tags for a given an NPM package
schema:
"$ref": "#/definitions/API_Entities_NpmPackageTag"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4GroupsIdPackagesNpmPackage*packageNameDistTags
"/api/v4/groups/{id}/-/packages/npm/-/package/*package_name/dist-tags/{tag}":
put:
summary: Create or Update the given tag for the given NPM package and version
description: This feature was introduced in GitLab 12.7
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: path
name: tag
description: Package dist-tag
type: string
required: true
- name: putApiV4GroupsIdPackagesNpmPackage*packageNameDistTagsTag
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdPackagesNpmPackage*packageNameDistTagsTag"
responses:
'204':
description: Create or Update the given tag for the given NPM package and
version
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: putApiV4GroupsIdPackagesNpmPackage*packageNameDistTagsTag
delete:
summary: Deletes the given tag
description: This feature was introduced in GitLab 12.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
- in: path
name: tag
description: Package dist-tag
type: string
required: true
responses:
'204':
description: Deletes the given tag
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: deleteApiV4GroupsIdPackagesNpmPackage*packageNameDistTagsTag
"/api/v4/groups/{id}/-/packages/npm/-/npm/v1/security/advisories/bulk":
post:
summary: NPM registry bulk advisory endpoint
description: This feature was introduced in GitLab 15.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
responses:
'200':
description: Ok
'307':
description: Temporary Redirect
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: postApiV4GroupsIdPackagesNpmNpmV1SecurityAdvisoriesBulk
"/api/v4/groups/{id}/-/packages/npm/-/npm/v1/security/audits/quick":
post:
summary: NPM registry quick audit endpoint
description: This feature was introduced in GitLab 15.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
responses:
'200':
description: Ok
'307':
description: Temporary Redirect
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: postApiV4GroupsIdPackagesNpmNpmV1SecurityAuditsQuick
"/api/v4/groups/{id}/-/packages/npm/*package_name":
get:
summary: NPM registry metadata endpoint
description: This feature was introduced in GitLab 11.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
example: mypackage
responses:
'200':
description: Ok
schema:
"$ref": "#/definitions/API_Entities_NpmPackage"
'302':
description: Found (redirect)
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4GroupsIdPackagesNpm*packageName
"/api/v4/groups/{id}/-/packages/nuget/index":
get:
summary: The NuGet V3 Feed Service Index
description: This feature was introduced in GitLab 12.6
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
responses:
'200':
description: The NuGet V3 Feed Service Index
schema:
"$ref": "#/definitions/API_Entities_Nuget_ServiceIndex"
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetIndex
"/api/v4/groups/{id}/-/packages/nuget/symbolfiles/*file_name/*signature/*same_file_name":
get:
summary: The NuGet Symbol File Download Endpoint
description: This feature was introduced in GitLab 16.7
produces:
- application/json
parameters:
- in: header
name: Symbolchecksum
type: string
required: true
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
- in: query
name: file_name
description: The symbol file name
type: string
required: true
example: mynugetpkg.pdb
- in: query
name: signature
description: The symbol file signature
type: string
required: true
example: k813f89485474661234z7109cve5709eFFFFFFFF
- in: query
name: same_file_name
type: string
required: true
responses:
'200':
description: The NuGet Symbol File Download Endpoint
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetSymbolfiles*fileName*signature*sameFileName
"/api/v4/groups/{id}/-/packages/nuget/v2":
get:
summary: The NuGet V2 Feed Service Index
description: This feature was introduced in GitLab 16.2
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
responses:
'200':
description: The NuGet V2 Feed Service Index
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetV2
"/api/v4/groups/{id}/-/packages/nuget/v2/$metadata":
get:
summary: The NuGet V2 Feed Package $metadata endpoint
description: This feature was introduced in GitLab 16.3
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
responses:
'200':
description: The NuGet V2 Feed Package $metadata endpoint
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetV2$metadata
"/api/v4/groups/{id}/-/packages/nuget/metadata/*package_name/index":
get:
summary: The NuGet Metadata Service - Package name level
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: MyNuGetPkg
responses:
'200':
description: The NuGet Metadata Service - Package name level
schema:
"$ref": "#/definitions/API_Entities_Nuget_PackagesMetadata"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetMetadata*packageNameIndex
"/api/v4/groups/{id}/-/packages/nuget/metadata/*package_name/*package_version":
get:
summary: The NuGet Metadata Service - Package name and version level
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: MyNuGetPkg
- in: query
name: package_version
description: The NuGet package version
type: string
required: true
example: 1.0.0
responses:
'200':
description: The NuGet Metadata Service - Package name and version level
schema:
"$ref": "#/definitions/API_Entities_Nuget_PackageMetadata"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetMetadata*packageName*packageVersion
"/api/v4/groups/{id}/-/packages/nuget/query":
get:
summary: The NuGet Search Service
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The group ID or full group path.
type: integer
format: int32
required: true
- in: query
name: q
description: The search term
type: string
required: false
example: MyNuGet
- in: query
name: skip
description: The number of results to skip
type: integer
format: int32
default: 0
required: false
example: 1
- in: query
name: take
description: The number of results to return
type: integer
format: int32
default: 20
required: false
example: 1
- in: query
name: prerelease
description: Include prerelease versions
type: boolean
default: true
required: false
responses:
'200':
description: The NuGet Search Service
schema:
"$ref": "#/definitions/API_Entities_Nuget_SearchResults"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4GroupsIdPackagesNugetQuery
"/api/v4/groups/{id}/-/packages/pypi/files/{sha256}/*file_identifier":
get:
summary: Download a package file from a group
description: This feature was introduced in GitLab 13.12
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of the group.
type: integer
format: int32
required: true
- in: query
name: file_identifier
description: The PyPi package file identifier
type: string
required: true
example: my.pypi.package-0.0.1.tar.gz
- in: path
name: sha256
description: The PyPi package sha256 check sum
type: string
required: true
example: 5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff
responses:
'200':
description: Download a package file from a group
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: getApiV4GroupsIdPackagesPypiFilesSha256*fileIdentifier
"/api/v4/groups/{id}/-/packages/pypi/simple":
get:
summary: The PyPi Simple Group Index Endpoint
description: This feature was introduced in GitLab 15.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of the group.
type: integer
format: int32
required: true
responses:
'200':
description: The PyPi Simple Group Index Endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: getApiV4GroupsIdPackagesPypiSimple
"/api/v4/groups/{id}/-/packages/pypi/simple/*package_name":
get:
summary: The PyPi Simple Group Package Endpoint
description: This feature was introduced in GitLab 12.10
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of the group.
type: integer
format: int32
required: true
- in: query
name: package_name
description: The PyPi package name
type: string
required: true
example: my.pypi.package
responses:
'200':
description: The PyPi Simple Group Package Endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: getApiV4GroupsIdPackagesPypiSimple*packageName
"/api/v4/groups/{id}/releases":
get:
summary: List group releases
description: Returns a list of group releases.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the group owned by the authenticated
user
type: string
required: true
- in: query
name: sort
description: The direction of the order. Either `desc` (default) for descending
order or `asc` for ascending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: simple
description: Return only limited fields for each release
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List group releases
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Release"
'400':
description: Bad request
'403':
description: Forbidden
'404':
description: Not found
tags:
- releases
operationId: getApiV4GroupsIdReleases
"/api/v4/groups/{id}/access_tokens/self/rotate":
post:
summary: Rotate a resource access token
description: Rotates a resource access token by passing it to the API in a header
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The group ID
type: string
required: true
- name: postApiV4GroupsIdAccessTokensSelfRotate
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdAccessTokensSelfRotate"
responses:
'200':
description: Rotate a resource access token
schema:
"$ref": "#/definitions/API_Entities_ResourceAccessTokenWithToken"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'405':
description: Method not allowed
tags:
- personal_access_tokens
operationId: postApiV4GroupsIdAccessTokensSelfRotate
"/api/v4/groups/{id}/wikis":
get:
description: Get a list of wiki pages
produces:
- application/json
parameters:
- in: query
name: with_content
description: Include pages' content
type: boolean
default: false
required: false
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of wiki pages
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_WikiPageBasic"
'404':
description: Not found
tags:
- wikis
operationId: getApiV4GroupsIdWikis
post:
description: Create a wiki page
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4GroupsIdWikis
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdWikis"
responses:
'201':
description: Create a wiki page
schema:
"$ref": "#/definitions/API_Entities_WikiPage"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- wikis
operationId: postApiV4GroupsIdWikis
"/api/v4/groups/{id}/wikis/{slug}":
get:
description: Get a wiki page
produces:
- application/json
parameters:
- in: path
name: slug
description: The slug of a wiki page
type: string
required: true
- in: query
name: version
description: The version hash of a wiki page
type: string
required: false
- in: query
name: render_html
description: Render content to HTML
type: boolean
default: false
required: false
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a wiki page
schema:
"$ref": "#/definitions/API_Entities_WikiPage"
'404':
description: Not found
tags:
- wikis
operationId: getApiV4GroupsIdWikisSlug
put:
description: Update a wiki page
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: slug
type: integer
format: int32
required: true
- name: putApiV4GroupsIdWikisSlug
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4GroupsIdWikisSlug"
responses:
'200':
description: Update a wiki page
schema:
"$ref": "#/definitions/API_Entities_WikiPage"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- wikis
operationId: putApiV4GroupsIdWikisSlug
delete:
description: Delete a wiki page
produces:
- application/json
parameters:
- in: path
name: slug
description: The slug of a wiki page
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a wiki page
'400':
description: Validation error
'404':
description: Not found
tags:
- wikis
operationId: deleteApiV4GroupsIdWikisSlug
"/api/v4/groups/{id}/wikis/attachments":
post:
summary: Upload an attachment to the wiki repository
description: This feature was introduced in GitLab 11.3.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4GroupsIdWikisAttachments
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GroupsIdWikisAttachments"
responses:
'201':
description: Upload an attachment to the wiki repository
schema:
"$ref": "#/definitions/API_Entities_WikiAttachment"
'404':
description: Not found
tags:
- wikis
operationId: postApiV4GroupsIdWikisAttachments
"/api/v4/projects/{id}/access_requests":
get:
summary: Gets a list of access requests for a project.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Gets a list of access requests for a project.
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
tags:
- access_requests
operationId: getApiV4ProjectsIdAccessRequests
post:
summary: Requests access for the authenticated user to a project.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: postApiV4ProjectsIdAccessRequests
"/api/v4/projects/{id}/access_requests/{user_id}/approve":
put:
summary: Approves an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdAccessRequestsUserIdApprove
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdAccessRequestsUserIdApprove"
responses:
'200':
description: successful operation
schema:
"$ref": "#/definitions/API_Entities_AccessRequester"
examples:
successfull_response:
id: 1
username: raymond_smith
name: Raymond Smith
state: active
created_at: '2012-10-22T14:13:35Z'
access_level: 20
tags:
- access_requests
operationId: putApiV4ProjectsIdAccessRequestsUserIdApprove
"/api/v4/projects/{id}/access_requests/{user_id}":
delete:
summary: Denies an access request for the given user.
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: user_id
description: The user ID of the access requester
type: integer
format: int32
required: true
responses:
'204':
description: Denies an access request for the given user.
tags:
- access_requests
operationId: deleteApiV4ProjectsIdAccessRequestsUserId
"/api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images/authorize":
post:
description: Workhorse authorize metric image file upload
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 17
- in: path
name: alert_iid
description: The IID of the Alert
type: integer
format: int32
required: true
example: 23
responses:
'200':
description: Workhorse authorize metric image file upload
'403':
description: Forbidden
tags:
- alert_management
operationId: postApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesAuthorize
"/api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images":
post:
description: Upload a metric image for an alert
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 17
- in: path
name: alert_iid
description: The IID of the Alert
type: integer
format: int32
required: true
example: 23
- in: formData
name: file
description: The image file to be uploaded
type: file
required: true
- in: formData
name: url
description: The url to view more metric info
type: string
required: false
example: https://example.com/metric
- in: formData
name: url_text
description: A description of the image or URL
type: string
required: false
example: An example metric
responses:
'200':
description: Upload a metric image for an alert
schema:
"$ref": "#/definitions/API_Entities_MetricImage"
'403':
description: Forbidden
tags:
- alert_management
operationId: postApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImages
get:
description: Metric Images for alert
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 17
- in: path
name: alert_iid
description: The IID of the Alert
type: integer
format: int32
required: true
example: 23
responses:
'200':
description: Metric Images for alert
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_MetricImage"
'404':
description: Not found
tags:
- alert_management
operationId: getApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImages
"/api/v4/projects/{id}/alert_management_alerts/{alert_iid}/metric_images/{metric_image_id}":
put:
description: Update a metric image for an alert
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 17
- in: path
name: alert_iid
description: The IID of the Alert
type: integer
format: int32
required: true
example: 23
- in: path
name: metric_image_id
description: The ID of metric image
type: integer
format: int32
required: true
example: 42
- in: formData
name: url
description: The url to view more metric info
type: string
required: false
example: https://example.com/metric
- in: formData
name: url_text
description: A description of the image or URL
type: string
required: false
example: An example metric
responses:
'200':
description: Update a metric image for an alert
schema:
"$ref": "#/definitions/API_Entities_MetricImage"
'403':
description: Forbidden
'422':
description: Unprocessable entity
tags:
- alert_management
operationId: putApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesMetricImageId
delete:
description: Remove a metric image for an alert
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 17
- in: path
name: alert_iid
description: The IID of the Alert
type: integer
format: int32
required: true
example: 23
- in: path
name: metric_image_id
description: The ID of metric image
type: integer
format: int32
required: true
example: 42
responses:
'204':
description: Remove a metric image for an alert
schema:
"$ref": "#/definitions/API_Entities_MetricImage"
'403':
description: Forbidden
'422':
description: Unprocessable entity
tags:
- alert_management
operationId: deleteApiV4ProjectsIdAlertManagementAlertsAlertIidMetricImagesMetricImageId
"/api/v4/projects/{id}/issues/{issue_iid}/award_emoji":
get:
summary: List an awardable's emoji reactions for projects
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: issue_iid
description: ID (`iid` for merge requests/issues/epics, `id` for snippets)
of an awardable.
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List an awardable's emoji reactions for projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdIssuesIssueIidAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdIssuesIssueIidAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4ProjectsIdIssuesIssueIidAwardEmoji
"/api/v4/projects/{id}/issues/{issue_iid}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdIssuesIssueIidAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4ProjectsIdIssuesIssueIidAwardEmojiAwardId
"/api/v4/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji":
get:
summary: List an awardable's emoji reactions for projects
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: List an awardable's emoji reactions for projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji
"/api/v4/projects/{id}/issues/{issue_iid}/notes/{note_id}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: issue_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmojiAwardId
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/award_emoji":
get:
summary: List an awardable's emoji reactions for projects
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: merge_request_iid
description: ID (`iid` for merge requests/issues/epics, `id` for snippets)
of an awardable.
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List an awardable's emoji reactions for projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmojiAwardId
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji":
get:
summary: List an awardable's emoji reactions for projects
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: List an awardable's emoji reactions for projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/notes/{note_id}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmojiAwardId
"/api/v4/projects/{id}/snippets/{snippet_id}/award_emoji":
get:
summary: List an awardable's emoji reactions for projects
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: snippet_id
description: ID (`iid` for merge requests/issues/epics, `id` for snippets)
of an awardable.
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List an awardable's emoji reactions for projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdSnippetsSnippetIdAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdSnippetsSnippetIdAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdSnippetsSnippetIdAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4ProjectsIdSnippetsSnippetIdAwardEmoji
"/api/v4/projects/{id}/snippets/{snippet_id}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdSnippetsSnippetIdAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4ProjectsIdSnippetsSnippetIdAwardEmojiAwardId
"/api/v4/projects/{id}/snippets/{snippet_id}/notes/{note_id}/award_emoji":
get:
summary: List an awardable's emoji reactions for projects
description: Get a list of all emoji reactions for a specified awardable. This
feature was introduced in 8.9
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: List an awardable's emoji reactions for projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmoji
post:
summary: Add a new emoji reaction
description: Add an emoji reaction on the specified awardable. This feature
was introduced in 8.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmoji
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmoji"
responses:
'201':
description: Add a new emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'400':
description: Bad Request
'404':
description: Not Found
tags:
- award_emoji
operationId: postApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmoji
"/api/v4/projects/{id}/snippets/{snippet_id}/notes/{note_id}/award_emoji/{award_id}":
get:
summary: Get a single emoji reaction
description: Get a single emoji reaction from an issue, snippet, or merge request.
This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of the emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'200':
description: Get a single emoji reaction
schema:
"$ref": "#/definitions/API_Entities_AwardEmoji"
'404':
description: Not Found
tags:
- award_emoji
operationId: getApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmojiAwardId
delete:
summary: Delete an emoji reaction
description: Only an administrator or the author of the reaction can delete
an emoji reaction. This feature was introduced in 8.9
produces:
- application/json
parameters:
- in: path
name: award_id
description: ID of an emoji reaction.
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
- in: path
name: note_id
type: integer
format: int32
required: true
responses:
'204':
description: Delete an emoji reaction
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- award_emoji
operationId: deleteApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmojiAwardId
"/api/v4/projects/{id}/badges":
get:
summary: Gets a list of project badges viewable by the authenticated user.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user.
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: name
description: Name for the badge
type: string
required: false
responses:
'200':
description: Gets a list of project badges viewable by the authenticated
user.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: getApiV4ProjectsIdBadges
post:
summary: Adds a badge to a project.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user.
type: string
required: true
- name: postApiV4ProjectsIdBadges
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdBadges"
responses:
'201':
description: Adds a badge to a project.
schema:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: postApiV4ProjectsIdBadges
"/api/v4/projects/{id}/badges/render":
get:
summary: Preview a badge from a project.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user.
type: string
required: true
- in: query
name: link_url
description: URL of the badge link
type: string
required: true
- in: query
name: image_url
description: URL of the badge image
type: string
required: true
responses:
'200':
description: Preview a badge from a project.
schema:
"$ref": "#/definitions/API_Entities_BasicBadgeDetails"
tags:
- badges
operationId: getApiV4ProjectsIdBadgesRender
"/api/v4/projects/{id}/badges/{badge_id}":
get:
summary: Gets a badge of a project.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user.
type: string
required: true
- in: path
name: badge_id
description: The badge ID
type: integer
format: int32
required: true
responses:
'200':
description: Gets a badge of a project.
schema:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: getApiV4ProjectsIdBadgesBadgeId
put:
summary: Updates a badge of a project.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user.
type: string
required: true
- in: path
name: badge_id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdBadgesBadgeId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdBadgesBadgeId"
responses:
'200':
description: Updates a badge of a project.
schema:
"$ref": "#/definitions/API_Entities_Badge"
tags:
- badges
operationId: putApiV4ProjectsIdBadgesBadgeId
delete:
summary: Removes a badge from the project.
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user.
type: string
required: true
- in: path
name: badge_id
description: The badge ID
type: integer
format: int32
required: true
responses:
'204':
description: Removes a badge from the project.
tags:
- badges
operationId: deleteApiV4ProjectsIdBadgesBadgeId
"/api/v4/projects/{id}/repository/branches":
get:
description: Get a project repository branches
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: search
description: Return list of branches matching the search criteria
type: string
required: false
- in: query
name: regex
description: Return list of branches matching the regex
type: string
required: false
- in: query
name: sort
description: Return list of branches sorted by the given field
type: string
enum:
- name_asc
- updated_asc
- updated_desc
required: false
- in: query
name: page_token
description: Name of branch to start the pagination from
type: string
required: false
responses:
'200':
description: Get a project repository branches
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Branch"
'404':
description: 404 Project Not Found
tags:
- branches
operationId: getApiV4ProjectsIdRepositoryBranches
post:
description: Create branch
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdRepositoryBranches
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryBranches"
responses:
'201':
description: Create branch
schema:
"$ref": "#/definitions/API_Entities_Branch"
'400':
description: Failed to create branch
tags:
- branches
operationId: postApiV4ProjectsIdRepositoryBranches
"/api/v4/projects/{id}/repository/branches/{branch}":
head:
description: Check if a branch exists
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: branch
description: The name of the branch
type: string
required: true
responses:
'204':
description: No Content
'404':
description: Not Found
tags:
- branches
operationId: headApiV4ProjectsIdRepositoryBranchesBranch
get:
description: Get a single repository branch
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: branch
type: integer
format: int32
required: true
responses:
'200':
description: Get a single repository branch
schema:
"$ref": "#/definitions/API_Entities_Branch"
'404':
description: Branch Not Found
tags:
- branches
operationId: getApiV4ProjectsIdRepositoryBranchesBranch
delete:
description: Delete a branch
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: branch
description: The name of the branch
type: string
required: true
responses:
'204':
description: Delete a branch
'404':
description: Branch Not Found
tags:
- branches
operationId: deleteApiV4ProjectsIdRepositoryBranchesBranch
"/api/v4/projects/{id}/repository/branches/{branch}/protect":
put:
description: Protect a single branch
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: branch
description: The name of the branch
type: string
required: true
- name: putApiV4ProjectsIdRepositoryBranchesBranchProtect
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdRepositoryBranchesBranchProtect"
responses:
'200':
description: Protect a single branch
schema:
"$ref": "#/definitions/API_Entities_Branch"
'404':
description: 404 Branch Not Found
tags:
- branches
operationId: putApiV4ProjectsIdRepositoryBranchesBranchProtect
"/api/v4/projects/{id}/repository/branches/{branch}/unprotect":
put:
description: Unprotect a single branch
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: branch
description: The name of the branch
type: string
required: true
responses:
'200':
description: Unprotect a single branch
schema:
"$ref": "#/definitions/API_Entities_Branch"
'404':
description: 404 Project Not Found
tags:
- branches
operationId: putApiV4ProjectsIdRepositoryBranchesBranchUnprotect
"/api/v4/projects/{id}/repository/merged_branches":
delete:
description: Delete all merged branches
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'202':
description: 202 Accepted
'404':
description: 404 Project Not Found
tags:
- branches
operationId: deleteApiV4ProjectsIdRepositoryMergedBranches
"/api/v4/projects/{id}/catalog/publish":
post:
summary: Publish a new component project release as version to the CI/CD catalog
description: Publishes a release of a catalog resource as version to the CI/CD
catalog.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdCatalogPublish
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdCatalogPublish"
responses:
'201':
description: Publish a new component project release as version to the CI/CD
catalog
schema:
"$ref": "#/definitions/API_Entities_Ci_Catalog_Resources_Version"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- projects
operationId: postApiV4ProjectsIdCatalogPublish
"/api/v4/projects/{id}/jobs/artifacts/{ref_name}/download":
get:
summary: Download the artifacts archive from a job
description: This feature was introduced in GitLab 8.10
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: ref_name
description: Branch or tag name in repository. `HEAD` or `SHA` references
are not supported.
type: string
required: true
- in: query
name: job
description: The name of the job.
type: string
required: true
- in: query
name: job_token
description: To be used with triggers for multi-project pipelines, available
only on Premium and Ultimate tiers.
type: string
required: false
responses:
'200':
description: Download the artifacts archive from a job
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobsArtifactsRefNameDownload
"/api/v4/projects/{id}/jobs/artifacts/{ref_name}/raw/*artifact_path":
get:
summary: Download a specific file from artifacts archive from a ref
description: This feature was introduced in GitLab 11.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: ref_name
description: Branch or tag name in repository. `HEAD` or `SHA` references
are not supported.
type: string
required: true
- in: query
name: job
description: The name of the job.
type: string
required: true
- in: query
name: artifact_path
description: Path to a file inside the artifacts archive.
type: string
required: true
- in: query
name: job_token
description: To be used with triggers for multi-project pipelines, available
only on Premium and Ultimate tiers.
type: string
required: false
responses:
'200':
description: Download a specific file from artifacts archive from a ref
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobsArtifactsRefNameRaw*artifactPath
"/api/v4/projects/{id}/jobs/{job_id}/artifacts":
get:
summary: Download the artifacts archive from a job
description: This feature was introduced in GitLab 8.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
- in: query
name: job_token
description: To be used with triggers for multi-project pipelines, available
only on Premium and Ultimate tiers.
type: string
required: false
responses:
'200':
description: Download the artifacts archive from a job
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobsJobIdArtifacts
delete:
summary: Delete the artifacts files from a job
description: This feature was introduced in GitLab 11.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
responses:
'204':
description: Delete the artifacts files from a job
'401':
description: Unauthorized
'403':
description: Forbidden
'409':
description: Conflict
tags:
- projects
operationId: deleteApiV4ProjectsIdJobsJobIdArtifacts
"/api/v4/projects/{id}/jobs/{job_id}/artifacts/*artifact_path":
get:
summary: Download a specific file from artifacts archive
description: This feature was introduced in GitLab 10.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
- in: query
name: artifact_path
description: Path to a file inside the artifacts archive.
type: string
required: true
- in: query
name: job_token
description: To be used with triggers for multi-project pipelines, available
only on Premium and Ultimate tiers.
type: string
required: false
responses:
'200':
description: Download a specific file from artifacts archive
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobsJobIdArtifacts*artifactPath
"/api/v4/projects/{id}/jobs/{job_id}/artifacts/keep":
post:
description: Keep the artifacts to prevent them from being deleted
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
responses:
'201':
description: Keep the artifacts to prevent them from being deleted
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdJobsJobIdArtifactsKeep
"/api/v4/projects/{id}/artifacts":
delete:
description: Expire the artifacts files from a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'202':
description: Expire the artifacts files from a project
'401':
description: Unauthorized
'403':
description: Forbidden
'409':
description: Conflict
tags:
- projects
operationId: deleteApiV4ProjectsIdArtifacts
"/api/v4/projects/{id}/jobs":
get:
description: Get a projects jobs
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: scope
description: The scope of builds to show
type: array
items:
type: string
enum:
- created
- waiting_for_resource
- preparing
- waiting_for_callback
- pending
- running
- success
- failed
- canceling
- canceled
- skipped
- manual
- scheduled
required: false
example:
- pending
- running
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a projects jobs
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobs
"/api/v4/projects/{id}/jobs/{job_id}":
get:
description: Get a specific job of a project
produces:
- application/json
parameters:
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
example: 88
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a specific job of a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobsJobId
"/api/v4/projects/{id}/jobs/{job_id}/trace":
get:
description: Get a trace of a specific job of a project
produces:
- application/json
parameters:
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
example: 88
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a trace of a specific job of a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdJobsJobIdTrace
"/api/v4/projects/{id}/jobs/{job_id}/cancel":
post:
description: Cancel a specific job of a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
example: 88
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdJobsJobIdCancel
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdJobsJobIdCancel"
responses:
'201':
description: Cancel a specific job of a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdJobsJobIdCancel
"/api/v4/projects/{id}/jobs/{job_id}/retry":
post:
description: Retry a specific job of a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: job_id
description: The ID of a job
type: integer
format: int32
required: true
example: 88
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Retry a specific job of a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdJobsJobIdRetry
"/api/v4/projects/{id}/jobs/{job_id}/erase":
post:
description: Erase job (remove artifacts and the trace)
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: job_id
description: The ID of a build
type: integer
format: int32
required: true
example: 88
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Erase job (remove artifacts and the trace)
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
tags:
- projects
operationId: postApiV4ProjectsIdJobsJobIdErase
"/api/v4/projects/{id}/jobs/{job_id}/play":
post:
summary: Trigger an actionable job (manual, delayed, etc)
description: This feature was added in GitLab 8.11
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: job_id
description: The ID of a Job
type: integer
format: int32
required: true
example: 88
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdJobsJobIdPlay
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdJobsJobIdPlay"
responses:
'200':
description: Trigger an actionable job (manual, delayed, etc)
schema:
"$ref": "#/definitions/API_Entities_Ci_JobBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdJobsJobIdPlay
"/api/v4/projects/{id}/resource_groups":
get:
description: Get all resource groups for a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all resource groups for a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_ResourceGroup"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- ci_resource_groups
operationId: getApiV4ProjectsIdResourceGroups
"/api/v4/projects/{id}/resource_groups/{key}":
get:
description: Get a specific resource group
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key
description: The key of the resource group
type: string
required: true
responses:
'200':
description: Get a specific resource group
schema:
"$ref": "#/definitions/API_Entities_Ci_ResourceGroup"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- ci_resource_groups
operationId: getApiV4ProjectsIdResourceGroupsKey
put:
summary: Edit an existing resource group
description: Updates an existing resource group's properties.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key
description: The key of the resource group
type: string
required: true
- name: putApiV4ProjectsIdResourceGroupsKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdResourceGroupsKey"
responses:
'200':
description: Edit an existing resource group
schema:
"$ref": "#/definitions/API_Entities_Ci_ResourceGroup"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- ci_resource_groups
operationId: putApiV4ProjectsIdResourceGroupsKey
"/api/v4/projects/{id}/resource_groups/{key}/upcoming_jobs":
get:
description: List upcoming jobs for a specific resource group
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key
description: The key of the resource group
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List upcoming jobs for a specific resource group
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_JobBasic"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- ci_resource_groups
operationId: getApiV4ProjectsIdResourceGroupsKeyUpcomingJobs
"/api/v4/projects/{id}/runners":
get:
summary: List project's runners
description: List all runners available in the project, including from ancestor
groups and any allowed shared runners.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: scope
description: 'Deprecated: Use `type` or `status` instead. The scope of runners
to return'
type: string
enum:
- specific
- shared
- instance_type
- group_type
- project_type
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: type
description: The type of runners to return
type: string
enum:
- instance_type
- group_type
- project_type
required: false
- in: query
name: paused
description: Whether to include only runners that are accepting or ignoring
new jobs
type: boolean
required: false
- in: query
name: status
description: The status of runners to return
type: string
enum:
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: tag_list
description: A list of runner tags
type: array
items:
type: string
required: false
example: "['macos', 'shell']"
- in: query
name: version_prefix
description: The version prefix of runners to return
type: string
required: false
example: "'15.1.' or '16.'"
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get runners available for project
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'400':
description: Scope contains invalid value
'403':
description: No access granted
tags:
- runners
- projects
operationId: getApiV4ProjectsIdRunners
post:
summary: Assign a runner to project
description: Assign an available project runner to the project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdRunners
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRunners"
responses:
'201':
description: Assign a runner to project
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'400':
description: Bad Request
'403':
description: No access granted
'404':
description: Runner not found
tags:
- runners
- projects
operationId: postApiV4ProjectsIdRunners
"/api/v4/projects/{id}/runners/{runner_id}":
delete:
summary: Unassign a project runner from the project
description: It is not possible to unassign a runner from the owner project.
If so, an error is returned. Use the call to delete a runner instead.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: runner_id
description: The ID of a runner
type: integer
format: int32
required: true
responses:
'400':
description: Bad Request
'204':
description: Unassign a runner from project
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'403':
description: You cannot unassign a runner from the owner project. Delete
the runner instead
'404':
description: Runner not found
'412':
description: Precondition Failed
tags:
- runners
- projects
operationId: deleteApiV4ProjectsIdRunnersRunnerId
"/api/v4/projects/{id}/runners/reset_registration_token":
post:
summary: Reset the runner registration token for a project
description: Reset runner registration token
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project
type: string
required: true
responses:
'201':
description: Reset runner registration token
schema:
"$ref": "#/definitions/API_Entities_Ci_ResetTokenResult"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Project Not Found
tags:
- runners
- projects
operationId: postApiV4ProjectsIdRunnersResetRegistrationToken
"/api/v4/projects/{id}/secure_files":
get:
description: Get list of secure files in a project
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID or URL-encoded path of the project owned by the
authenticated user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get list of secure files in a project
schema:
"$ref": "#/definitions/API_Entities_Ci_SecureFile"
tags:
- secure_files
operationId: getApiV4ProjectsIdSecureFiles
post:
description: Create a secure file
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: |-
The ID or URL-encoded path of the project owned by the
authenticated user
type: string
required: true
- name: postApiV4ProjectsIdSecureFiles
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdSecureFiles"
responses:
'201':
description: Create a secure file
schema:
"$ref": "#/definitions/API_Entities_Ci_SecureFile"
'400':
description: 400 Bad Request
tags:
- secure_files
operationId: postApiV4ProjectsIdSecureFiles
"/api/v4/projects/{id}/secure_files/{secure_file_id}":
get:
description: Get the details of a specific secure file in a project
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID or URL-encoded path of the project owned by the
authenticated user
type: string
required: true
- in: path
name: secure_file_id
description: The ID of a secure file
type: integer
format: int32
required: true
responses:
'200':
description: Get the details of a specific secure file in a project
schema:
"$ref": "#/definitions/API_Entities_Ci_SecureFile"
'404':
description: 404 Not found
tags:
- secure_files
operationId: getApiV4ProjectsIdSecureFilesSecureFileId
delete:
description: Remove a secure file
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID or URL-encoded path of the project owned by the
authenticated user
type: string
required: true
- in: path
name: secure_file_id
type: integer
format: int32
required: true
responses:
'204':
description: Remove a secure file
'404':
description: 404 Not found
tags:
- secure_files
operationId: deleteApiV4ProjectsIdSecureFilesSecureFileId
"/api/v4/projects/{id}/secure_files/{secure_file_id}/download":
get:
description: Download secure file
produces:
- application/json
parameters:
- in: path
name: id
description: |-
The ID or URL-encoded path of the project owned by the
authenticated user
type: string
required: true
- in: path
name: secure_file_id
description: The ID of a secure file
type: integer
format: int32
required: true
responses:
'200':
description: Download secure file
'404':
description: 404 Not found
tags:
- secure_files
operationId: getApiV4ProjectsIdSecureFilesSecureFileIdDownload
"/api/v4/projects/{id}/pipelines":
get:
summary: Get all Pipelines of the project
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: scope
description: The scope of pipelines
type: string
enum:
- running
- pending
- finished
- branches
- tags
required: false
example: pending
- in: query
name: status
description: The status of pipelines
type: string
enum:
- created
- waiting_for_resource
- preparing
- waiting_for_callback
- pending
- running
- success
- failed
- canceling
- canceled
- skipped
- manual
- scheduled
required: false
example: pending
- in: query
name: ref
description: The ref of pipelines
type: string
required: false
example: develop
- in: query
name: sha
description: The sha of pipelines
type: string
required: false
example: a91957a858320c0e17f3a0eca7cfacbff50ea29a
- in: query
name: yaml_errors
description: Returns pipelines with invalid configurations
type: boolean
required: false
- in: query
name: username
description: The username of the user who triggered pipelines
type: string
required: false
example: root
- in: query
name: updated_before
description: 'Return pipelines updated before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
example: '2015-12-24T15:51:21.880Z'
- in: query
name: updated_after
description: 'Return pipelines updated after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
example: '2015-12-24T15:51:21.880Z'
- in: query
name: created_before
description: 'Return pipelines created before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
example: '2015-12-24T15:51:21.880Z'
- in: query
name: created_after
description: 'Return pipelines created after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
example: '2015-12-24T15:51:21.880Z'
- in: query
name: order_by
description: Order pipelines
type: string
default: id
enum:
- id
- status
- ref
- updated_at
- user_id
required: false
example: status
- in: query
name: sort
description: Sort pipelines
type: string
default: desc
enum:
- asc
- desc
required: false
example: asc
- in: query
name: source
type: string
enum:
- unknown
- push
- web
- trigger
- schedule
- api
- external
- pipeline
- chat
- webide
- merge_request_event
- external_pull_request_event
- parent_pipeline
- ondemand_dast_scan
- ondemand_dast_validation
- security_orchestration_policy
- container_registry_push
- duo_workflow
- pipeline_execution_policy_schedule
required: false
example: push
- in: query
name: name
description: Filter pipelines by name
type: string
required: false
example: Build pipeline
responses:
'200':
description: Get all Pipelines of the project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- projects
operationId: getApiV4ProjectsIdPipelines
"/api/v4/projects/{id}/pipeline":
post:
summary: Create a new pipeline
description: This feature was introduced in GitLab 8.14
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- name: postApiV4ProjectsIdPipeline
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPipeline"
responses:
'201':
description: Create a new pipeline
schema:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipeline
"/api/v4/projects/{id}/pipelines/latest":
get:
summary: Gets the latest pipeline for the project branch
description: This feature was introduced in GitLab 12.3
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: query
name: ref
description: Branch ref of pipeline. Uses project default branch if not specified.
type: string
required: false
example: develop
responses:
'200':
description: Gets the latest pipeline for the project branch
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineWithMetadata"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesLatest
"/api/v4/projects/{id}/pipelines/{pipeline_id}":
get:
summary: Gets a specific pipeline for the project
description: This feature was introduced in GitLab 8.11
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'200':
description: Gets a specific pipeline for the project
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineWithMetadata"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesPipelineId
delete:
summary: Deletes a pipeline
description: This feature was introduced in GitLab 11.6
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'204':
description: Pipeline was deleted
'403':
description: Forbidden
tags:
- projects
operationId: deleteApiV4ProjectsIdPipelinesPipelineId
"/api/v4/projects/{id}/pipelines/{pipeline_id}/jobs":
get:
description: Get pipeline jobs
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
- in: query
name: include_retried
description: Includes retried jobs
type: boolean
default: false
required: false
- in: query
name: scope
description: The scope of builds to show
type: string
enum:
- created
- waiting_for_resource
- preparing
- waiting_for_callback
- pending
- running
- success
- failed
- canceling
- canceled
- skipped
- manual
- scheduled
required: false
example:
- pending
- running
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get pipeline jobs
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_Job"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesPipelineIdJobs
"/api/v4/projects/{id}/pipelines/{pipeline_id}/bridges":
get:
description: Get pipeline bridge jobs
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
- in: query
name: scope
description: The scope of builds to show
type: string
enum:
- created
- waiting_for_resource
- preparing
- waiting_for_callback
- pending
- running
- success
- failed
- canceling
- canceled
- skipped
- manual
- scheduled
required: false
example:
- pending
- running
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get pipeline bridge jobs
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_Bridge"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesPipelineIdBridges
"/api/v4/projects/{id}/pipelines/{pipeline_id}/variables":
get:
summary: Gets the variables for a given pipeline
description: This feature was introduced in GitLab 11.11
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'200':
description: Gets the variables for a given pipeline
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesPipelineIdVariables
"/api/v4/projects/{id}/pipelines/{pipeline_id}/test_report":
get:
summary: Gets the test report for a given pipeline
description: This feature was introduced in GitLab 13.0.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'200':
description: Gets the test report for a given pipeline
schema:
"$ref": "#/definitions/TestReportEntity"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesPipelineIdTestReport
"/api/v4/projects/{id}/pipelines/{pipeline_id}/test_report_summary":
get:
summary: Gets the test report summary for a given pipeline
description: This feature was introduced in GitLab 14.2
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'200':
description: Gets the test report summary for a given pipeline
schema:
"$ref": "#/definitions/TestReportSummaryEntity"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelinesPipelineIdTestReportSummary
"/api/v4/projects/{id}/pipelines/{pipeline_id}/metadata":
put:
summary: Updates pipeline metadata
description: This feature was introduced in GitLab 16.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
- name: putApiV4ProjectsIdPipelinesPipelineIdMetadata
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPipelinesPipelineIdMetadata"
responses:
'200':
description: Updates pipeline metadata
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineWithMetadata"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdPipelinesPipelineIdMetadata
"/api/v4/projects/{id}/pipelines/{pipeline_id}/retry":
post:
summary: Retry builds in the pipeline
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'201':
description: Retry builds in the pipeline
schema:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipelinesPipelineIdRetry
"/api/v4/projects/{id}/pipelines/{pipeline_id}/cancel":
post:
summary: Cancel all builds in the pipeline
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID or URL-encoded path
type: string
required: true
example: 11
- in: path
name: pipeline_id
description: The pipeline ID
type: integer
format: int32
required: true
example: 18
responses:
'201':
description: Cancel all builds in the pipeline
schema:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipelinesPipelineIdCancel
"/api/v4/projects/{id}/pipeline_schedules":
get:
description: Get all pipeline schedules
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: scope
description: The scope of pipeline schedules
type: string
enum:
- active
- inactive
required: false
example: active
responses:
'200':
description: Get all pipeline schedules
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_PipelineSchedule"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelineSchedules
post:
description: Create a new pipeline schedule
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- name: postApiV4ProjectsIdPipelineSchedules
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPipelineSchedules"
responses:
'201':
description: Create a new pipeline schedule
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineScheduleDetails"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipelineSchedules
"/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}":
get:
description: Get a single pipeline schedule
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
responses:
'200':
description: Get a single pipeline schedule
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineScheduleDetails"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
put:
description: Edit a pipeline schedule
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
- name: putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId"
responses:
'200':
description: Edit a pipeline schedule
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineScheduleDetails"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
delete:
description: Delete a pipeline schedule
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
responses:
'204':
description: Delete a pipeline schedule
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'412':
description: Precondition Failed
tags:
- projects
operationId: deleteApiV4ProjectsIdPipelineSchedulesPipelineScheduleId
"/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/pipelines":
get:
description: Get all pipelines triggered from a pipeline schedule
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule ID
type: integer
format: int32
required: true
example: 13
responses:
'200':
description: Get all pipelines triggered from a pipeline schedule
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdPipelines
"/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/take_ownership":
post:
description: Take ownership of a pipeline schedule
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
responses:
'201':
description: Take ownership of a pipeline schedule
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineScheduleDetails"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdTakeOwnership
"/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/play":
post:
summary: Play a scheduled pipeline immediately
description: This feature was added in GitLab 12.8
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
responses:
'201':
description: Play a scheduled pipeline immediately
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdPlay
"/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables":
post:
description: Create a new pipeline schedule variable
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
- name: postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables"
responses:
'201':
description: Create a new pipeline schedule variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables
"/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables/{key}":
put:
description: Edit a pipeline schedule variable
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
- in: path
name: key
description: The key of the variable
type: string
required: true
example: NEW_VARIABLE
- name: putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey"
responses:
'200':
description: Edit a pipeline schedule variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey
delete:
description: Delete a pipeline schedule variable
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: pipeline_schedule_id
description: The pipeline schedule id
type: integer
format: int32
required: true
example: 13
- in: path
name: key
description: The key of the variable
type: string
required: true
example: NEW_VARIABLE
responses:
'202':
description: Delete a pipeline schedule variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey
"/api/v4/projects/{id}/(ref/{ref}/)trigger/pipeline":
post:
description: Trigger a GitLab project pipeline
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: ref
description: The commit sha or name of a branch or tag
type: string
required: true
example: develop
- name: postApiV4ProjectsId(refRef)triggerPipeline
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsId(refRef)triggerPipeline"
responses:
'201':
description: Trigger a GitLab project pipeline
schema:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsId(refRef)triggerPipeline
"/api/v4/projects/{id}/triggers":
get:
description: Get trigger tokens list
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get trigger tokens list
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Trigger"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdTriggers
post:
description: Create a trigger token
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- name: postApiV4ProjectsIdTriggers
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdTriggers"
responses:
'201':
description: Create a trigger token
schema:
"$ref": "#/definitions/API_Entities_Trigger"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdTriggers
"/api/v4/projects/{id}/triggers/{trigger_id}":
get:
description: Get specific trigger token of a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: trigger_id
description: The trigger token ID
type: integer
format: int32
required: true
example: 10
responses:
'200':
description: Get specific trigger token of a project
schema:
"$ref": "#/definitions/API_Entities_Trigger"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdTriggersTriggerId
put:
description: Update a trigger token
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: trigger_id
description: The trigger token ID
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdTriggersTriggerId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdTriggersTriggerId"
responses:
'200':
description: Update a trigger token
schema:
"$ref": "#/definitions/API_Entities_Trigger"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdTriggersTriggerId
delete:
description: Delete a trigger token
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 18
- in: path
name: trigger_id
description: The trigger token ID
type: integer
format: int32
required: true
example: 10
responses:
'204':
description: Delete a trigger token
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'412':
description: Precondition Failed
tags:
- projects
operationId: deleteApiV4ProjectsIdTriggersTriggerId
"/api/v4/projects/{id}/variables":
get:
description: Get project variables
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a project or URL-encoded NAMESPACE/PROJECT_NAME of
the project owned by the authenticated user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get project variables
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
tags:
- ci_variables
operationId: getApiV4ProjectsIdVariables
post:
description: Create a new variable in a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project or URL-encoded NAMESPACE/PROJECT_NAME of
the project owned by the authenticated user
type: string
required: true
- name: postApiV4ProjectsIdVariables
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdVariables"
responses:
'201':
description: Create a new variable in a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'400':
description: 400 Bad Request
tags:
- ci_variables
operationId: postApiV4ProjectsIdVariables
"/api/v4/projects/{id}/variables/{key}":
get:
description: Get the details of a single variable from a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a project or URL-encoded NAMESPACE/PROJECT_NAME of
the project owned by the authenticated user
type: string
required: true
- in: path
name: key
description: The key of a variable
type: string
required: true
- in: query
name: filter[environment_scope]
description: The environment scope of a variable
type: string
required: false
responses:
'200':
description: Get the details of a single variable from a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'404':
description: Variable Not Found
tags:
- ci_variables
operationId: getApiV4ProjectsIdVariablesKey
put:
description: Update an existing variable from a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project or URL-encoded NAMESPACE/PROJECT_NAME of
the project owned by the authenticated user
type: string
required: true
- in: path
name: key
description: The key of a variable
type: string
required: true
- name: putApiV4ProjectsIdVariablesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdVariablesKey"
responses:
'200':
description: Update an existing variable from a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'404':
description: Variable Not Found
tags:
- ci_variables
operationId: putApiV4ProjectsIdVariablesKey
delete:
description: Delete an existing variable from a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a project or URL-encoded NAMESPACE/PROJECT_NAME of
the project owned by the authenticated user
type: string
required: true
- in: path
name: key
description: The key of a variable
type: string
required: true
- in: query
name: filter[environment_scope]
description: The environment scope of the variable
type: string
required: false
responses:
'404':
description: Variable Not Found
'204':
description: Delete an existing variable from a project
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
tags:
- ci_variables
operationId: deleteApiV4ProjectsIdVariablesKey
"/api/v4/projects/{id}/cluster_agents/{agent_id}/tokens":
get:
summary: List tokens for an agent
description: This feature was introduced in GitLab 15.0. Returns a list of tokens
for an agent.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: agent_id
description: The ID of an agent
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List tokens for an agent
schema:
"$ref": "#/definitions/API_Entities_Clusters_AgentTokenBasic"
tags:
- cluster_agents
operationId: getApiV4ProjectsIdClusterAgentsAgentIdTokens
post:
summary: Create an agent token
description: This feature was introduced in GitLab 15.0. Creates a new token
for an agent.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: agent_id
description: The ID of an agent
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdClusterAgentsAgentIdTokens
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdClusterAgentsAgentIdTokens"
responses:
'201':
description: Create an agent token
schema:
"$ref": "#/definitions/API_Entities_Clusters_AgentTokenWithToken"
tags:
- cluster_agents
operationId: postApiV4ProjectsIdClusterAgentsAgentIdTokens
"/api/v4/projects/{id}/cluster_agents/{agent_id}/tokens/{token_id}":
get:
summary: Get a single agent token
description: This feature was introduced in GitLab 15.0. Gets a single agent
token.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: agent_id
description: The ID of an agent
type: integer
format: int32
required: true
- in: path
name: token_id
description: The ID of the agent token
type: integer
format: int32
required: true
responses:
'200':
description: Get a single agent token
schema:
"$ref": "#/definitions/API_Entities_Clusters_AgentToken"
tags:
- cluster_agents
operationId: getApiV4ProjectsIdClusterAgentsAgentIdTokensTokenId
delete:
summary: Revoke an agent token
description: This feature was introduced in GitLab 15.0. Revokes an agent token.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: agent_id
description: The ID of an agent
type: integer
format: int32
required: true
- in: path
name: token_id
description: The ID of the agent token
type: integer
format: int32
required: true
responses:
'204':
description: Revoke an agent token
tags:
- cluster_agents
operationId: deleteApiV4ProjectsIdClusterAgentsAgentIdTokensTokenId
"/api/v4/projects/{id}/cluster_agents":
get:
summary: List the agents for a project
description: This feature was introduced in GitLab 14.10. Returns the list of
agents registered for the project.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List the agents for a project
schema:
"$ref": "#/definitions/API_Entities_Clusters_Agent"
tags:
- cluster_agents
operationId: getApiV4ProjectsIdClusterAgents
post:
summary: Register an agent with a project
description: This feature was introduced in GitLab 14.10. Registers an agent
to the project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdClusterAgents
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdClusterAgents"
responses:
'201':
description: Register an agent with a project
schema:
"$ref": "#/definitions/API_Entities_Clusters_Agent"
tags:
- cluster_agents
operationId: postApiV4ProjectsIdClusterAgents
"/api/v4/projects/{id}/cluster_agents/{agent_id}":
get:
summary: Get details about an agent
description: This feature was introduced in GitLab 14.10. Gets a single agent
details.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: agent_id
description: The ID of an agent
type: integer
format: int32
required: true
responses:
'200':
description: Get details about an agent
schema:
"$ref": "#/definitions/API_Entities_Clusters_Agent"
tags:
- cluster_agents
operationId: getApiV4ProjectsIdClusterAgentsAgentId
delete:
summary: Delete a registered agent
description: This feature was introduced in GitLab 14.10. Deletes an existing
agent registration.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: agent_id
description: The ID of an agent
type: integer
format: int32
required: true
responses:
'204':
description: Delete a registered agent
tags:
- cluster_agents
operationId: deleteApiV4ProjectsIdClusterAgentsAgentId
"/api/v4/projects/{id}/packages/cargo/config.json":
get:
summary: Get config.json
description: This will be used by cargo for further requests
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get config.json
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- cargo_packages
operationId: getApiV4ProjectsIdPackagesCargoConfigJson
"/api/v4/projects/{id}/repository/commits":
get:
description: Get a project repository commits
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: ref_name
description: The name of a repository branch or tag, if not given the default
branch is used
type: string
required: false
example: v1.1.0
- in: query
name: since
description: Only commits after or on this date will be returned
type: string
format: date-time
required: false
example: '2021-09-20T11:50:22.001'
- in: query
name: until
description: Only commits before or on this date will be returned
type: string
format: date-time
required: false
example: '2021-09-20T11:50:22.001'
- in: query
name: path
description: The file path
type: string
required: false
example: README.md
- in: query
name: author
description: Search commits by commit author
type: string
required: false
example: John Smith
- in: query
name: all
description: Every commit will be returned
type: boolean
required: false
- in: query
name: with_stats
description: Stats about each commit will be added to the response
type: boolean
required: false
- in: query
name: first_parent
description: Only include the first parent of merges
type: boolean
required: false
- in: query
name: order
description: List commits in order
type: string
default: default
enum:
- default
- topo
required: false
- in: query
name: trailers
description: Parse and include Git trailers for every commit
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a project repository commits
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Commit"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommits
post:
summary: Commit multiple file changes as one commit
description: This feature was introduced in GitLab 8.13
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdRepositoryCommits
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryCommits"
responses:
'200':
description: Commit multiple file changes as one commit
schema:
"$ref": "#/definitions/API_Entities_CommitDetail"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- commits
operationId: postApiV4ProjectsIdRepositoryCommits
"/api/v4/projects/{id}/repository/commits/{sha}":
get:
description: Get a specific commit of a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha, or the name of a branch or tag
type: string
required: true
- in: query
name: stats
description: Include commit stats
type: boolean
default: true
required: false
responses:
'200':
description: Get a specific commit of a project
schema:
"$ref": "#/definitions/API_Entities_CommitDetail"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsSha
"/api/v4/projects/{id}/repository/commits/{sha}/diff":
get:
description: Get the diff for a specific commit of a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha, or the name of a branch or tag
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: unidiff
description: A diff in a Unified diff format
type: boolean
default: false
required: false
responses:
'200':
description: Get the diff for a specific commit of a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Diff"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsShaDiff
"/api/v4/projects/{id}/repository/commits/{sha}/comments":
get:
description: Get a commit's comments
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: sha
description: A commit sha, or the name of a branch or tag
type: string
required: true
responses:
'200':
description: Get a commit's comments
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_CommitNote"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsShaComments
post:
description: Post comment to commit
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha, or the name of a branch or tag on which to post
a comment
type: string
required: true
- name: postApiV4ProjectsIdRepositoryCommitsShaComments
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryCommitsShaComments"
responses:
'200':
description: Post comment to commit
schema:
"$ref": "#/definitions/API_Entities_CommitNote"
'400':
description: Bad request
'404':
description: Not found
tags:
- commits
operationId: postApiV4ProjectsIdRepositoryCommitsShaComments
"/api/v4/projects/{id}/repository/commits/{sha}/sequence":
get:
description: Get the sequence count of a commit SHA
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit SHA
type: string
required: true
- in: query
name: first_parent
description: Only include the first parent of merges
type: boolean
default: false
required: false
responses:
'200':
description: Get the sequence count of a commit SHA
schema:
"$ref": "#/definitions/API_Entities_CommitSequence"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsShaSequence
"/api/v4/projects/{id}/repository/commits/{sha}/cherry_pick":
post:
summary: Cherry pick commit into a branch
description: This feature was introduced in GitLab 8.15
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha, or the name of a branch or tag to be cherry-picked
type: string
required: true
- name: postApiV4ProjectsIdRepositoryCommitsShaCherryPick
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryCommitsShaCherryPick"
responses:
'200':
description: Cherry pick commit into a branch
schema:
"$ref": "#/definitions/API_Entities_Commit"
'400':
description: Bad request
'404':
description: Not found
tags:
- commits
operationId: postApiV4ProjectsIdRepositoryCommitsShaCherryPick
"/api/v4/projects/{id}/repository/commits/{sha}/revert":
post:
summary: Revert a commit in a branch
description: This feature was introduced in GitLab 11.5
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: Commit SHA to revert
type: string
required: true
- name: postApiV4ProjectsIdRepositoryCommitsShaRevert
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryCommitsShaRevert"
responses:
'200':
description: Revert a commit in a branch
schema:
"$ref": "#/definitions/API_Entities_Commit"
'400':
description: Bad request
'404':
description: Not found
tags:
- commits
operationId: postApiV4ProjectsIdRepositoryCommitsShaRevert
"/api/v4/projects/{id}/repository/commits/{sha}/refs":
get:
summary: Get all references a commit is pushed to
description: This feature was introduced in GitLab 10.6
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha
type: string
required: true
- in: query
name: type
description: Scope
type: string
default: all
enum:
- branch
- tag
- all
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all references a commit is pushed to
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BasicRef"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsShaRefs
"/api/v4/projects/{id}/repository/commits/{sha}/merge_requests":
get:
description: Get Merge Requests associated with a commit
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha, or the name of a branch or tag on which to find
Merge Requests
type: string
required: true
- in: query
name: state
description: Filter merge-requests by state
type: string
required: false
example: merged
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get Merge Requests associated with a commit
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_MergeRequestBasic"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsShaMergeRequests
"/api/v4/projects/{id}/repository/commits/{sha}/signature":
get:
description: Get a commit's signature
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: sha
description: A commit sha, or the name of a branch or tag
type: string
required: true
responses:
'200':
description: Get a commit's signature
schema:
"$ref": "#/definitions/API_Entities_CommitSignature"
'404':
description: Not found
tags:
- commits
operationId: getApiV4ProjectsIdRepositoryCommitsShaSignature
"/api/v4/projects/{id}/repository/commits/{sha}/statuses":
get:
description: Get a commit's statuses
produces:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: sha
description: Hash of the commit.
type: string
required: true
example: 18f3e63d05582537db6d183d9d557be09e1f90c8
- in: query
name: ref
description: Name of the branch or tag. Default is the default branch.
type: string
required: false
example: develop
- in: query
name: stage
description: Filter statuses by build stage.
type: string
required: false
example: test
- in: query
name: name
description: Filter statuses by job name.
type: string
required: false
example: bundler:audit
- in: query
name: pipeline_id
description: Filter statuses by pipeline ID.
type: integer
format: int32
required: false
example: 1234
- in: query
name: all
description: Include all statuses instead of latest only. Default is `false`.
type: boolean
default: false
required: false
- in: query
name: order_by
description: Values for sorting statuses. Valid values are `id` and `pipeline_id`.
Default is `id`.
type: string
default: id
enum:
- id
- pipeline_id
required: false
- in: query
name: sort
description: Sort statuses in ascending or descending order. Valid values
are `asc` and `desc`. Default is `asc`.
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a commit's statuses
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_CommitStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryCommitsShaStatuses
"/api/v4/projects/{id}/statuses/{sha}":
post:
description: Post status to a commit
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: sha
description: The commit hash
type: string
required: true
example: 18f3e63d05582537db6d183d9d557be09e1f90c8
- name: postApiV4ProjectsIdStatusesSha
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdStatusesSha"
responses:
'200':
description: Post status to a commit
schema:
"$ref": "#/definitions/API_Entities_CommitStatus"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdStatusesSha
"/api/v4/projects/{id}/packages/composer":
post:
summary: Composer packages endpoint for registering packages
description: This feature was introduced in GitLab 13.1
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a project
type: string
required: true
- name: postApiV4ProjectsIdPackagesComposer
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPackagesComposer"
responses:
'201':
description: Composer packages endpoint for registering packages
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- composer_packages
operationId: postApiV4ProjectsIdPackagesComposer
"/api/v4/projects/{id}/packages/composer/archives/*package_name":
get:
summary: Composer package endpoint to download a package archive
description: This feature was introduced in GitLab 13.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a project
type: string
required: true
- in: query
name: sha
description: Shasum of current json
type: string
required: true
example: 673594f85a55fe3c0eb45df7bd2fa9d95a1601ab
- in: query
name: package_name
description: The Composer package name
type: string
required: true
example: my-composer-package
responses:
'200':
description: Composer package endpoint to download a package archive
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- composer_packages
operationId: getApiV4ProjectsIdPackagesComposerArchives*packageName
"/api/v4/projects/{id}/packages/conan/v1/users/authenticate":
get:
summary: Authenticate user against conan CLI
description: This feature was introduced in GitLab 12.2
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Authenticate user against conan CLI
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1UsersAuthenticate
"/api/v4/projects/{id}/packages/conan/v1/users/check_credentials":
get:
summary: Check for valid user credentials per conan CLI
description: This feature was introduced in GitLab 12.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Check for valid user credentials per conan CLI
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1UsersCheckCredentials
"/api/v4/projects/{id}/packages/conan/v1/conans/search":
get:
summary: Search for packages
description: This feature was introduced in GitLab 12.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: q
description: Search query
type: string
required: true
example: Hello*
responses:
'200':
description: Search for packages
'400':
description: Bad Request
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansSearch
"/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/search":
get:
summary: Get package references metadata
description: This feature was introduced in GitLab 18.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Get package references metadata
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelSearch
"/api/v4/projects/{id}/packages/conan/v1/ping":
get:
summary: Ping the Conan API
description: This feature was introduced in GitLab 12.2
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Ping the Conan API
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1Ping
? "/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}"
: get:
summary: Package Snapshot
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Snapshot
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageSnapshot"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReference
"/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}":
get:
summary: Recipe Snapshot
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Snapshot
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeSnapshot"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannel
delete:
summary: Delete Package
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'204':
description: Delete Package
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: deleteApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannel
? "/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}/digest"
: get:
summary: Package Digest
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Digest
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReferenceDigest
"/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/digest":
get:
summary: Recipe Digest
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Digest
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelDigest
? "/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}/download_urls"
: get:
summary: Package Download Urls
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Download Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReferenceDownloadUrls
? "/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/download_urls"
: get:
summary: Recipe Download Urls
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Download Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelDownloadUrls
? "/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}/upload_urls"
: post:
summary: Package Upload Urls
description: This feature was introduced in GitLab 12.4
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Upload Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_UploadUrls"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: postApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReferenceUploadUrls
"/api/v4/projects/{id}/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/upload_urls":
post:
summary: Recipe Upload Urls
description: This feature was introduced in GitLab 12.4
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Upload Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_UploadUrls"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: postApiV4ProjectsIdPackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelUploadUrls
? "/api/v4/projects/{id}/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/export/{file_name}"
: get:
summary: Download recipe files
description: This feature was introduced in GitLab 12.6
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
responses:
'200':
description: Download recipe files
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName
put:
summary: Upload recipe package files
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
- name: putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName"
responses:
'200':
description: Upload recipe package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName
? "/api/v4/projects/{id}/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/export/{file_name}/authorize"
: put:
summary: Workhorse authorize the conan recipe file
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
responses:
'200':
description: Workhorse authorize the conan recipe file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileNameAuthorize
? "/api/v4/projects/{id}/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/package/{conan_package_reference}/{package_revision}/{file_name}"
: get:
summary: Download package files
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: conan_package_reference
description: Conan Package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
- in: path
name: package_revision
description: Conan Package Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
responses:
'200':
description: Download package files
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
put:
summary: Upload package files
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: conan_package_reference
description: Conan Package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
- in: path
name: package_revision
description: Conan Package Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
- name: putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName"
responses:
'200':
description: Upload package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
? "/api/v4/projects/{id}/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/package/{conan_package_reference}/{package_revision}/{file_name}/authorize"
: put:
summary: Workhorse authorize the conan package file
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: conan_package_reference
description: Conan Package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
- in: path
name: package_revision
description: Conan Package Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
responses:
'200':
description: Workhorse authorize the conan package file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileNameAuthorize
"/api/v4/projects/{id}/packages/conan/v2/users/authenticate":
get:
summary: Authenticate user against conan CLI
description: This feature was introduced in GitLab 12.2
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Authenticate user against conan CLI
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2UsersAuthenticate
"/api/v4/projects/{id}/packages/conan/v2/users/check_credentials":
get:
summary: Check for valid user credentials per conan CLI
description: This feature was introduced in GitLab 12.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Check for valid user credentials per conan CLI
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2UsersCheckCredentials
"/api/v4/projects/{id}/packages/conan/v2/conans/search":
get:
summary: Search for packages
description: This feature was introduced in GitLab 12.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: q
description: Search query
type: string
required: true
example: Hello*
responses:
'200':
description: Search for packages
'400':
description: Bad Request
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansSearch
"/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/search":
get:
summary: Get package references metadata
description: This feature was introduced in GitLab 18.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Get package references metadata
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelSearch
"/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/latest":
get:
summary: Get the latest recipe revision
description: This feature was introduced in GitLab 17.11
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Get the latest recipe revision
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_Revision"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelLatest
"/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions":
get:
summary: Get the list of revisions
description: This feature was introduced in GitLab 17.11
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Get the list of revisions
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeRevisions"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisions
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}"
: delete:
summary: Delete recipe revision
description: This feature was introduced in GitLab 18.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
responses:
'204':
description: Delete recipe revision
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: deleteApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevision
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/files"
: get:
summary: List recipe files
description: This feature was introduced in GitLab 17.11
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
responses:
'200':
description: List recipe files
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_FilesList"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFiles
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/files/{file_name}"
: get:
summary: Download recipe files
description: This feature was introduced in GitLab 17.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
responses:
'200':
description: Download recipe files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFilesFileName
put:
summary: Upload recipe package files
description: This feature was introduced in GitLab 17.10
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
- name: putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFilesFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFilesFileName"
responses:
'200':
description: Upload recipe package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFilesFileName
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/files/{file_name}/authorize"
: put:
summary: Workhorse authorize the conan recipe file
description: This feature was introduced in GitLab 17.10
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
responses:
'200':
description: Workhorse authorize the conan recipe file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFilesFileNameAuthorize
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/search"
: get:
summary: Get package references metadata
description: This feature was introduced in GitLab 18.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
responses:
'200':
description: Get package references metadata
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionSearch
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/latest"
: get:
summary: Get the latest package revision
description: This feature was introduced in GitLab 17.11
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
responses:
'200':
description: Get the latest package revision
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_Revision"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceLatest
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions"
: get:
summary: Get the list of package revisions
description: This feature was introduced in GitLab 18.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
responses:
'200':
description: Get the list of package revisions
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageRevisions"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisions
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions/{package_revision}"
: delete:
summary: Delete package revision
description: This feature was introduced in GitLab 18.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
- in: path
name: package_revision
description: Package revision
type: string
required: true
example: 3bdd2d8c8e76c876ebd1ac0469a4e72c
responses:
'204':
description: Delete package revision
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: deleteApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevision
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions/{package_revision}/files"
: get:
summary: List package files
description: This feature was introduced in GitLab 18.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
- in: path
name: package_revision
description: Package revision
type: string
required: true
example: 3bdd2d8c8e76c876ebd1ac0469a4e72c
responses:
'200':
description: List package files
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_FilesList"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFiles
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions/{package_revision}/files/{file_name}"
: get:
summary: Download package files
description: This feature was introduced in GitLab 17.11
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
- in: path
name: package_revision
description: Package revision
type: string
required: true
example: 3bdd2d8c8e76c876ebd1ac0469a4e72c
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
responses:
'200':
description: Download package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFilesFileName
put:
summary: Upload package files
description: This feature was introduced in GitLab 17.11
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
- in: path
name: package_revision
description: Package revision
type: string
required: true
example: 3bdd2d8c8e76c876ebd1ac0469a4e72c
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
- name: putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFilesFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFilesFileName"
responses:
'200':
description: Upload package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFilesFileName
? "/api/v4/projects/{id}/packages/conan/v2/conans/{package_name}/{package_version}/{package_username}/{package_channel}/revisions/{recipe_revision}/packages/{conan_package_reference}/revisions/{package_revision}/files/{file_name}/authorize"
: put:
summary: Workhorse authorize the conan package file
description: This feature was introduced in GitLab 17.11
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Recipe revision
type: string
required: true
example: df28fd816be3a119de5ce4d374436b25
- in: path
name: conan_package_reference
description: Package reference
type: string
required: true
example: 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
- in: path
name: package_revision
description: Package revision
type: string
required: true
example: 3bdd2d8c8e76c876ebd1ac0469a4e72c
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
responses:
'200':
description: Workhorse authorize the conan package file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFilesFileNameAuthorize
"/api/v4/projects/{id}/packages/debian/dists/*distribution/Release.gpg":
get:
summary: The Release file signature
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
responses:
'200':
description: The Release file signature
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionReleaseGpg
"/api/v4/projects/{id}/packages/debian/dists/*distribution/Release":
get:
summary: The unsigned Release file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
responses:
'200':
description: The unsigned Release file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionRelease
"/api/v4/projects/{id}/packages/debian/dists/*distribution/InRelease":
get:
summary: The signed Release file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
responses:
'200':
description: The signed Release file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionInrelease
"/api/v4/projects/{id}/packages/debian/dists/*distribution/{component}/debian-installer/binary-{architecture}/Packages":
get:
summary: The installer (udeb) binary files index
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
responses:
'200':
description: The installer (udeb) binary files index
'202':
description: The installer (udeb) binary files index
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionComponentDebianInstallerBinaryArchitecturePackages
? "/api/v4/projects/{id}/packages/debian/dists/*distribution/{component}/debian-installer/binary-{architecture}/by-hash/SHA256/{file_sha256}"
: get:
summary: The installer (udeb) binary files index by hash
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
- in: path
name: file_sha256
type: integer
format: int32
required: true
responses:
'200':
description: The installer (udeb) binary files index by hash
'202':
description: The installer (udeb) binary files index by hash
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionComponentDebianInstallerBinaryArchitectureByHashSha256FileSha256
"/api/v4/projects/{id}/packages/debian/dists/*distribution/{component}/source/Sources":
get:
summary: The source files index
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
responses:
'200':
description: The source files index
'202':
description: The source files index
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionComponentSourceSources
"/api/v4/projects/{id}/packages/debian/dists/*distribution/{component}/source/by-hash/SHA256/{file_sha256}":
get:
summary: The source files index by hash
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: file_sha256
type: integer
format: int32
required: true
responses:
'200':
description: The source files index by hash
'202':
description: The source files index by hash
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionComponentSourceByHashSha256FileSha256
"/api/v4/projects/{id}/packages/debian/dists/*distribution/{component}/binary-{architecture}/Packages":
get:
summary: The binary files index
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
responses:
'200':
description: The binary files index
'202':
description: The binary files index
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionComponentBinary-ArchitecturePackages
"/api/v4/projects/{id}/packages/debian/dists/*distribution/{component}/binary-{architecture}/by-hash/SHA256/{file_sha256}":
get:
summary: The binary files index by hash
description: This feature was introduced in GitLab 15.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: component
description: The Debian Component
type: string
required: true
example: main
- in: path
name: architecture
description: The Debian Architecture
type: string
required: true
example: binary-amd64
- in: path
name: file_sha256
type: integer
format: int32
required: true
responses:
'200':
description: The binary files index by hash
'202':
description: The binary files index by hash
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianDists*distributionComponentBinaryArchitectureByHashSha256FileSha256
"/api/v4/projects/{id}/packages/debian/pool/{distribution}/{letter}/{package_name}/{package_version}/{file_name}":
get:
summary: Download Debian package
description: This feature was introduced in GitLab 14.2
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: distribution
description: The Debian Codename or Suite
type: string
required: true
example: my-distro
- in: path
name: letter
description: The Debian Classification (first-letter or lib-first-letter)
type: string
required: true
example: a
- in: path
name: package_name
description: The Debian Source Package Name
type: string
required: true
example: my-pkg
- in: path
name: package_version
description: The Debian Source Package Version
type: string
required: true
example: 1.0.0
- in: path
name: file_name
description: The Debian File Name
type: string
required: true
example: example_1.0.0~alpha2_amd64.deb
responses:
'200':
description: Download Debian package
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: getApiV4ProjectsIdPackagesDebianPoolDistributionLetterPackageNamePackageVersionFileName
"/api/v4/projects/{id}/packages/debian/{file_name}":
put:
summary: Upload Debian package
description: This feature was introduced in GitLab 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: The filename
type: string
required: true
example: example_1.0.0~alpha2_amd64.deb
- name: putApiV4ProjectsIdPackagesDebianFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesDebianFileName"
responses:
'201':
description: Upload Debian package
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: putApiV4ProjectsIdPackagesDebianFileName
"/api/v4/projects/{id}/packages/debian/{file_name}/authorize":
put:
summary: Authorize Debian package upload
description: This feature was introduced in GitLab 13.5
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: The filename
type: string
required: true
example: example_1.0.0~alpha2_amd64.deb
- name: putApiV4ProjectsIdPackagesDebianFileNameAuthorize
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesDebianFileNameAuthorize"
responses:
'200':
description: Authorize Debian package upload
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_packages
operationId: putApiV4ProjectsIdPackagesDebianFileNameAuthorize
"/api/v4/projects/{id}/deploy_keys":
get:
summary: List deploy keys for project
description: Get a list of a project's deploy keys.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List deploy keys for project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_DeployKeysProject"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_keys
operationId: getApiV4ProjectsIdDeployKeys
post:
summary: Add deploy key
description: Creates a new deploy key for a project. If the deploy key already
exists in another project, it's joined to the current project only if the
original one is accessible by the same user.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdDeployKeys
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdDeployKeys"
responses:
'201':
description: Add deploy key
schema:
"$ref": "#/definitions/API_Entities_DeployKeysProject"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_keys
operationId: postApiV4ProjectsIdDeployKeys
"/api/v4/projects/{id}/deploy_keys/{key_id}":
get:
summary: Get a single deploy key
description: Get a single key.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key_id
description: The ID of the deploy key
type: integer
format: int32
required: true
responses:
'200':
description: Get a single deploy key
schema:
"$ref": "#/definitions/API_Entities_DeployKeysProject"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_keys
operationId: getApiV4ProjectsIdDeployKeysKeyId
put:
summary: Update deploy key
description: Updates a deploy key for a project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key_id
description: The ID of the deploy key
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdDeployKeysKeyId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdDeployKeysKeyId"
responses:
'200':
description: Update deploy key
schema:
"$ref": "#/definitions/API_Entities_DeployKey"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- deploy_keys
operationId: putApiV4ProjectsIdDeployKeysKeyId
delete:
summary: Delete deploy key
description: Removes a deploy key from the project. If the deploy key is used
only for this project, it's deleted from the system.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key_id
description: The ID of the deploy key
type: integer
format: int32
required: true
responses:
'204':
description: Delete deploy key
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_keys
operationId: deleteApiV4ProjectsIdDeployKeysKeyId
"/api/v4/projects/{id}/deploy_keys/{key_id}/enable":
post:
summary: Enable a deploy key
description: Enables a deploy key for a project so this can be used. Returns
the enabled key, with a status code 201 when successful. This feature was
added in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key_id
description: The ID of the deploy key
type: integer
format: int32
required: true
responses:
'201':
description: Enable a deploy key
schema:
"$ref": "#/definitions/API_Entities_DeployKey"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_keys
operationId: postApiV4ProjectsIdDeployKeysKeyIdEnable
"/api/v4/projects/{id}/deploy_tokens":
get:
summary: List project deploy tokens
description: Get a list of a project's deploy tokens. This feature was introduced
in GitLab 12.9.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: active
description: Limit by active status
type: boolean
required: false
responses:
'200':
description: List project deploy tokens
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_DeployToken"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- deploy_tokens
operationId: getApiV4ProjectsIdDeployTokens
post:
summary: Create a project deploy token
description: Creates a new deploy token for a project. This feature was introduced
in GitLab 12.9.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdDeployTokens
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdDeployTokens"
responses:
'201':
description: Create a project deploy token
schema:
"$ref": "#/definitions/API_Entities_DeployTokenWithToken"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_tokens
operationId: postApiV4ProjectsIdDeployTokens
"/api/v4/projects/{id}/deploy_tokens/{token_id}":
get:
summary: Get a project deploy token
description: Get a single project's deploy token by ID. This feature was introduced
in GitLab 14.9.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: token_id
description: The ID of the deploy token
type: integer
format: int32
required: true
responses:
'200':
description: Get a project deploy token
schema:
"$ref": "#/definitions/API_Entities_DeployToken"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_tokens
operationId: getApiV4ProjectsIdDeployTokensTokenId
delete:
summary: Delete a project deploy token
description: This feature was introduced in GitLab 12.9.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: token_id
description: The ID of the deploy token
type: integer
format: int32
required: true
responses:
'204':
description: Delete a project deploy token
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deploy_tokens
operationId: deleteApiV4ProjectsIdDeployTokensTokenId
"/api/v4/projects/{id}/deployments":
get:
summary: List project deployments
description: Get a list of deployments in a project. This feature was introduced
in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: order_by
description: Return deployments ordered by either one of `id`, `iid`, `created_at`,
`updated_at` or `ref` fields. Default is `id`
type: string
default: id
enum:
- id
- iid
- created_at
- updated_at
- finished_at
required: false
- in: query
name: sort
description: Return deployments sorted in `asc` or `desc` order. Default is
`asc`
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: updated_after
description: Return deployments updated after the specified date. Expected
in ISO 8601 format (`2019-03-15T08:00:00Z`)
type: string
format: date-time
required: false
- in: query
name: updated_before
description: Return deployments updated before the specified date. Expected
in ISO 8601 format (`2019-03-15T08:00:00Z`)
type: string
format: date-time
required: false
- in: query
name: finished_after
description: Return deployments finished after the specified date. Expected
in ISO 8601 format (`2019-03-15T08:00:00Z`)
type: string
format: date-time
required: false
- in: query
name: finished_before
description: Return deployments finished before the specified date. Expected
in ISO 8601 format (`2019-03-15T08:00:00Z`)
type: string
format: date-time
required: false
- in: query
name: environment
description: The name of the environment to filter deployments by
type: string
required: false
- in: query
name: status
description: The status to filter deployments by. One of `created`, `running`,
`success`, `failed`, `canceled`, or `blocked`
type: string
enum:
- created
- running
- success
- failed
- canceled
- skipped
- blocked
required: false
responses:
'200':
description: List project deployments
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Deployment"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deployments
operationId: getApiV4ProjectsIdDeployments
post:
summary: Create a deployment
description: This feature was introduced in GitLab 12.4.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdDeployments
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdDeployments"
responses:
'201':
description: Create a deployment
schema:
"$ref": "#/definitions/API_Entities_DeploymentExtended"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deployments
operationId: postApiV4ProjectsIdDeployments
"/api/v4/projects/{id}/deployments/{deployment_id}":
get:
summary: Get a specific deployment
description: This feature was introduced in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: deployment_id
description: The ID of the deployment
type: integer
format: int32
required: true
responses:
'200':
description: Get a specific deployment
schema:
"$ref": "#/definitions/API_Entities_DeploymentExtended"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deployments
operationId: getApiV4ProjectsIdDeploymentsDeploymentId
put:
summary: Update a deployment
description: This feature was introduced in GitLab 12.4.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: deployment_id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdDeploymentsDeploymentId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdDeploymentsDeploymentId"
responses:
'200':
description: Update a deployment
schema:
"$ref": "#/definitions/API_Entities_DeploymentExtended"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- deployments
operationId: putApiV4ProjectsIdDeploymentsDeploymentId
delete:
summary: Delete a specific deployment
description: Delete a specific deployment that is not currently the last deployment
for an environment or in a running state. This feature was introduced in GitLab
15.3.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: deployment_id
description: The ID of the deployment
type: integer
format: int32
required: true
responses:
'204':
description: Deployment destroyed
'403':
description: Forbidden
'400':
description: '"Cannot destroy running deployment" or "Deployment currently
deployed to environment"'
tags:
- deployments
operationId: deleteApiV4ProjectsIdDeploymentsDeploymentId
"/api/v4/projects/{id}/deployments/{deployment_id}/merge_requests":
get:
summary: List of merge requests associated with a deployment
description: Retrieves the list of merge requests shipped with a given deployment.
This feature was introduced in GitLab 12.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: deployment_id
description: The ID of the deployment
type: integer
format: int32
required: true
- in: query
name: author_id
description: Returns merge requests created by the given user `id`. Mutually
exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.
type: integer
format: int32
required: false
- in: query
name: author_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: string
required: false
- in: query
name: assignee_id
description: Returns merge requests assigned to the given user `id`. `None`
returns unassigned merge requests. `Any` returns merge requests with an
assignee.
type: integer
format: int32
required: false
- in: query
name: assignee_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: array
items:
type: string
required: false
- in: query
name: reviewer_username
description: Returns merge requests which have the user as a reviewer with
the given `username`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`.
Introduced in GitLab 13.8.
type: string
required: false
- in: query
name: labels
description: Returns merge requests matching a comma-separated list of labels.
`None` lists all merge requests with no labels. `Any` lists all merge requests
with at least one label. Predefined names are case-insensitive.
type: array
items:
type: string
required: false
- in: query
name: milestone
description: Returns merge requests for a specific milestone. `None` returns
merge requests with no milestone. `Any` returns merge requests that have
an assigned milestone.
type: string
required: false
- in: query
name: my_reaction_emoji
description: Returns merge requests reacted by the authenticated user by the
given `emoji`. `None` returns issues not given a reaction. `Any` returns
issues given at least one reaction.
type: string
required: false
- in: query
name: reviewer_id
description: Returns merge requests which have the user as a reviewer with
the given user `id`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.
type: integer
format: int32
required: false
- in: query
name: state
description: Returns `all` merge requests or just those that are `opened`,
`closed`, `locked`, or `merged`.
type: string
default: all
enum:
- opened
- closed
- locked
- merged
- all
required: false
- in: query
name: order_by
description: Returns merge requests ordered by `created_at`, `label_priority`,
`milestone_due`, `popularity`, `priority`, `title`, `updated_at` or `merged_at`
fields. Introduced in GitLab 14.8.
type: string
default: created_at
enum:
- created_at
- label_priority
- milestone_due
- popularity
- priority
- title
- updated_at
- merged_at
required: false
- in: query
name: sort
description: Returns merge requests sorted in `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: with_labels_details
description: 'If `true`, response returns more details for each label in labels
field: `:name`,`:color`, `:description`, `:description_html`, `:text_color`'
type: boolean
default: false
required: false
- in: query
name: with_merge_status_recheck
description: If `true`, this projection requests (but does not guarantee)
that the `merge_status` field be recalculated asynchronously. Introduced
in GitLab 13.0.
type: boolean
default: false
required: false
- in: query
name: created_after
description: Returns merge requests created on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: created_before
description: Returns merge requests created on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_after
description: Returns merge requests updated on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_before
description: Returns merge requests updated on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: view
description: If simple, returns the `iid`, URL, title, description, and basic
state of merge request
type: string
enum:
- simple
required: false
- in: query
name: scope
description: 'Returns merge requests for the given scope: `created_by_me`,
`assigned_to_me` or `all`'
type: string
enum:
- created-by-me
- assigned-to-me
- created_by_me
- assigned_to_me
- all
required: false
- in: query
name: source_branch
description: Returns merge requests with the given source branch
type: string
required: false
- in: query
name: source_project_id
description: Returns merge requests with the given source project id
type: integer
format: int32
required: false
- in: query
name: target_branch
description: Returns merge requests with the given target branch
type: string
required: false
- in: query
name: search
description: Search merge requests against their `title` and `description`.
type: string
required: false
- in: query
name: in
description: Modify the scope of the search attribute. `title`, `description`,
or a string joining them with comma.
type: string
required: false
example: title,description
- in: query
name: wip
description: Filter merge requests against their `wip` status. `yes` to return
only draft merge requests, `no` to return non-draft merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: not[author_id]
description: "`<Negated>` Returns merge requests created by the given user
`id`. Mutually exclusive with `author_username`. Combine with `scope=all`
or `scope=assigned_to_me`."
type: integer
format: int32
required: false
- in: query
name: not[author_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: string
required: false
- in: query
name: not[assignee_id]
description: "`<Negated>` Returns merge requests assigned to the given user
`id`. `None` returns unassigned merge requests. `Any` returns merge requests
with an assignee."
type: integer
format: int32
required: false
- in: query
name: not[assignee_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: array
items:
type: string
required: false
- in: query
name: not[reviewer_username]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given `username`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_id`. Introduced in GitLab 13.8."
type: string
required: false
- in: query
name: not[labels]
description: "`<Negated>` Returns merge requests matching a comma-separated
list of labels. `None` lists all merge requests with no labels. `Any` lists
all merge requests with at least one label. Predefined names are case-insensitive."
type: array
items:
type: string
required: false
- in: query
name: not[milestone]
description: "`<Negated>` Returns merge requests for a specific milestone.
`None` returns merge requests with no milestone. `Any` returns merge requests
that have an assigned milestone."
type: string
required: false
- in: query
name: not[my_reaction_emoji]
description: "`<Negated>` Returns merge requests reacted by the authenticated
user by the given `emoji`. `None` returns issues not given a reaction. `Any`
returns issues given at least one reaction."
type: string
required: false
- in: query
name: not[reviewer_id]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given user `id`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_username`."
type: integer
format: int32
required: false
- in: query
name: deployed_before
description: Returns merge requests deployed before the given date/time. Expected
in ISO 8601 format.
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: deployed_after
description: Returns merge requests deployed after the given date/time. Expected
in ISO 8601 format
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: environment
description: Returns merge requests deployed to the given environment
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: approved
description: Filters merge requests by their `approved` status. `yes` returns
only approved merge requests. `no` returns only non-approved merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: merge_user_id
description: Returns merge requests which have been merged by the user with
the given user `id`. Mutually exclusive with `merge_user_username`.
type: integer
format: int32
required: false
- in: query
name: merge_user_username
description: Returns merge requests which have been merged by the user with
the given `username`. Mutually exclusive with `merge_user_id`.
type: string
required: false
responses:
'200':
description: List of merge requests associated with a deployment
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_MergeRequestBasic"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- deployments
operationId: getApiV4ProjectsIdDeploymentsDeploymentIdMergeRequests
"/api/v4/projects/{id}/deployments/{deployment_id}/approval":
post:
summary: Approve or reject a blocked deployment
description: This feature was introduced in GitLab 14.8.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: deployment_id
description: The ID of the deployment
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdDeploymentsDeploymentIdApproval
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdDeploymentsDeploymentIdApproval"
responses:
'201':
description: Approve or reject a blocked deployment
schema:
"$ref": "#/definitions/API_Entities_Deployments_Approval"
tags:
- deployments
operationId: postApiV4ProjectsIdDeploymentsDeploymentIdApproval
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/draft_notes":
get:
description: Get a list of merge request draft notes
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a project
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of merge request draft notes
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_DraftNote"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotes
post:
description: Create a new draft note
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project.
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request.
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotes
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotes"
responses:
'201':
description: Create a new draft note
schema:
"$ref": "#/definitions/API_Entities_DraftNote"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotes
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/draft_notes/{draft_note_id}":
get:
description: Get a single draft note
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a project
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request
type: integer
format: int32
required: true
- in: path
name: draft_note_id
description: The ID of a draft note
type: integer
format: int32
required: true
responses:
'200':
description: Get a single draft note
schema:
"$ref": "#/definitions/API_Entities_DraftNote"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteId
put:
description: Modify an existing draft note
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project.
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request.
type: integer
format: int32
required: true
- in: path
name: draft_note_id
description: The ID of a draft note
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteId"
responses:
'200':
description: Modify an existing draft note
schema:
"$ref": "#/definitions/API_Entities_DraftNote"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteId
delete:
description: Delete a draft note
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a project
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request
type: integer
format: int32
required: true
- in: path
name: draft_note_id
description: The ID of a draft note
type: integer
format: int32
required: true
responses:
'204':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteId
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/draft_notes/{draft_note_id}/publish":
put:
description: Publish a pending draft note
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request
type: integer
format: int32
required: true
- in: path
name: draft_note_id
description: The ID of a draft note
type: integer
format: int32
required: true
responses:
'204':
description: Publish a pending draft note
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteIdPublish
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/draft_notes/bulk_publish":
post:
description: Bulk publish all pending draft notes
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a project
type: string
required: true
- in: path
name: merge_request_iid
description: The ID of a merge request
type: integer
format: int32
required: true
responses:
'204':
description: Bulk publish all pending draft notes
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesBulkPublish
"/api/v4/projects/{id}/environments":
get:
summary: List environments
description: Get all environments for a given project. This feature was introduced
in GitLab 8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: name
description: Return the environment with this name. Mutually exclusive with
search
type: string
required: false
- in: query
name: search
description: Return list of environments matching the search criteria. Mutually
exclusive with name. Must be at least 3 characters.
type: string
required: false
- in: query
name: states
description: 'List all environments that match a specific state. Accepted
values: `available`, `stopping`, or `stopped`. If no state value given,
returns all environments'
type: string
enum:
- stopped
- stopping
- available
required: false
responses:
'200':
description: List environments
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Environment"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- environments
operationId: getApiV4ProjectsIdEnvironments
post:
summary: Create a new environment
description: Creates a new environment with the given name and `external_url`.
It returns `201` if the environment was successfully created, `400` for wrong
parameters. This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdEnvironments
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdEnvironments"
responses:
'201':
description: Create a new environment
schema:
"$ref": "#/definitions/API_Entities_Environment"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- environments
operationId: postApiV4ProjectsIdEnvironments
"/api/v4/projects/{id}/environments/{environment_id}":
put:
summary: Update an existing environment
description: Updates an existing environment name and/or `external_url`. It
returns `200` if the environment was successfully updated. In case of an error,
a status code `400` is returned. This feature was introduced in GitLab 8.11.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: environment_id
description: The ID of the environment
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdEnvironmentsEnvironmentId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdEnvironmentsEnvironmentId"
responses:
'200':
description: Update an existing environment
schema:
"$ref": "#/definitions/API_Entities_Environment"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- environments
operationId: putApiV4ProjectsIdEnvironmentsEnvironmentId
delete:
summary: Delete an environment
description: It returns 204 if the environment was successfully deleted, and
404 if the environment does not exist. This feature was introduced in GitLab
8.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: environment_id
description: The ID of the environment
type: integer
format: int32
required: true
responses:
'401':
description: Unauthorized
'204':
description: Delete an environment
schema:
"$ref": "#/definitions/API_Entities_Environment"
'404':
description: Not found
tags:
- environments
operationId: deleteApiV4ProjectsIdEnvironmentsEnvironmentId
get:
description: Get a specific environment
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: environment_id
description: The ID of the environment
type: integer
format: int32
required: true
responses:
'200':
description: Get a specific environment
schema:
"$ref": "#/definitions/API_Entities_Environment"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- environments
operationId: getApiV4ProjectsIdEnvironmentsEnvironmentId
"/api/v4/projects/{id}/environments/review_apps":
delete:
summary: Delete multiple stopped review apps
description: It schedules for deletion multiple environments that have already
been stopped and are in the review app folder. The actual deletion is performed
after 1 week from the time of execution. By default, it only deletes environments
30 days or older. You can change this default using the `before` parameter.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: before
description: The date before which environments can be deleted. Defaults to
30 days ago. Expected in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`)
type: string
format: date-time
default: {}
required: false
- in: query
name: limit
description: Maximum number of environments to delete. Defaults to 100
type: integer
format: int32
default: 100
minimum: 1
maximum: 1000
required: false
- in: query
name: dry_run
description: Defaults to true for safety reasons. It performs a dry run where
no actual deletion will be performed. Set to false to actually delete the
environment
type: boolean
default: true
required: false
responses:
'400':
description: Bad request
'204':
description: Delete multiple stopped review apps
schema:
"$ref": "#/definitions/API_Entities_EnvironmentBasic"
'401':
description: Unauthorized
'404':
description: Not found
'409':
description: Conflict
tags:
- environments
operationId: deleteApiV4ProjectsIdEnvironmentsReviewApps
"/api/v4/projects/{id}/environments/{environment_id}/stop":
post:
summary: Stop an environment
description: It returns 200 if the environment was successfully stopped.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: environment_id
description: The ID of the environment
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdEnvironmentsEnvironmentIdStop
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdEnvironmentsEnvironmentIdStop"
responses:
'201':
description: Stop an environment
schema:
"$ref": "#/definitions/API_Entities_Environment"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- environments
operationId: postApiV4ProjectsIdEnvironmentsEnvironmentIdStop
"/api/v4/projects/{id}/environments/stop_stale":
post:
summary: Stop stale environments
description: It returns `200` if stale environment check was scheduled successfully
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdEnvironmentsStopStale
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdEnvironmentsStopStale"
responses:
'201':
description: Stop stale environments
'400':
description: Bad request
'401':
description: Unauthorized
tags:
- environments
operationId: postApiV4ProjectsIdEnvironmentsStopStale
"/api/v4/projects/{id}/error_tracking/client_keys":
get:
summary: List project client keys
description: List all client keys. This feature was introduced in GitLab 14.3.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'200':
description: List project client keys
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ErrorTracking_ClientKey"
tags:
- error_tracking_client_keys
operationId: getApiV4ProjectsIdErrorTrackingClientKeys
post:
summary: Create a client key
description: Creates a new client key for a project. The public key attribute
is generated automatically.This feature was introduced in GitLab 14.3.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'201':
description: Create a client key
schema:
"$ref": "#/definitions/API_Entities_ErrorTracking_ClientKey"
tags:
- error_tracking_client_keys
operationId: postApiV4ProjectsIdErrorTrackingClientKeys
"/api/v4/projects/{id}/error_tracking/client_keys/{key_id}":
delete:
summary: Delete a client key
description: Removes a client key from the project. This feature was introduced
in GitLab 14.3.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: key_id
type: integer
format: int32
required: true
responses:
'204':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- error_tracking_client_keys
operationId: deleteApiV4ProjectsIdErrorTrackingClientKeysKeyId
"/api/v4/projects/{id}/error_tracking/settings":
get:
summary: Get Error Tracking settings
description: Get error tracking settings for the project. This feature was introduced
in GitLab 12.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'200':
description: Get Error Tracking settings
schema:
"$ref": "#/definitions/API_Entities_ErrorTracking_ProjectSetting"
tags:
- error_tracking_project_settings
operationId: getApiV4ProjectsIdErrorTrackingSettings
patch:
summary: Enable or disable the Error Tracking project settings
description: The API allows you to enable or disable the Error Tracking settings
for a project.Only for users with the Maintainer role for the project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: patchApiV4ProjectsIdErrorTrackingSettings
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4ProjectsIdErrorTrackingSettings"
responses:
'200':
description: Enable or disable the Error Tracking project settings
schema:
"$ref": "#/definitions/API_Entities_ErrorTracking_ProjectSetting"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- error_tracking_project_settings
operationId: patchApiV4ProjectsIdErrorTrackingSettings
put:
summary: Update Error Tracking project settings. Available in GitLab 15.10 and
later.
description: Update Error Tracking settings for a project. Only for users with
Maintainer role for the project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: putApiV4ProjectsIdErrorTrackingSettings
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdErrorTrackingSettings"
responses:
'200':
description: Update Error Tracking project settings. Available in GitLab
15.10 and later.
schema:
"$ref": "#/definitions/API_Entities_ErrorTracking_ProjectSetting"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- error_tracking_project_settings
operationId: putApiV4ProjectsIdErrorTrackingSettings
"/api/v4/projects/{id}/feature_flags":
get:
summary: List feature flags for a project
description: Gets all feature flags of the requested project. This feature was
introduced in GitLab 12.5.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: scope
description: 'The scope of feature flags, one of: `enabled`, `disabled`'
type: string
enum:
- enabled
- disabled
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List feature flags for a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_FeatureFlag"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- feature_flags
operationId: getApiV4ProjectsIdFeatureFlags
post:
summary: Create a new feature flag
description: Creates a new feature flag. This feature was introduced in GitLab
12.5.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdFeatureFlags
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdFeatureFlags"
responses:
'201':
description: Create a new feature flag
schema:
"$ref": "#/definitions/API_Entities_FeatureFlag"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- feature_flags
operationId: postApiV4ProjectsIdFeatureFlags
"/api/v4/projects/{id}/feature_flags/{feature_flag_name}":
get:
summary: Get a single feature flag
description: Gets a single feature flag. This feature was introduced in GitLab
12.5.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: feature_flag_name
description: The name of the feature flag
type: string
required: true
responses:
'200':
description: Get a single feature flag
schema:
"$ref": "#/definitions/API_Entities_FeatureFlag"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- feature_flags
operationId: getApiV4ProjectsIdFeatureFlagsFeatureFlagName
put:
summary: Update a feature flag
description: Updates a feature flag. This feature was introduced in GitLab 13.2.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: feature_flag_name
description: The name of the feature flag
type: string
required: true
- name: putApiV4ProjectsIdFeatureFlagsFeatureFlagName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdFeatureFlagsFeatureFlagName"
responses:
'200':
description: Update a feature flag
schema:
"$ref": "#/definitions/API_Entities_FeatureFlag"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- feature_flags
operationId: putApiV4ProjectsIdFeatureFlagsFeatureFlagName
delete:
summary: Delete a feature flag
description: Deletes a feature flag. This feature was introduced in GitLab 12.5.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: feature_flag_name
description: The name of the feature flag
type: string
required: true
responses:
'204':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- feature_flags
operationId: deleteApiV4ProjectsIdFeatureFlagsFeatureFlagName
"/api/v4/projects/{id}/feature_flags_user_lists":
get:
summary: List all feature flag user lists for a project
description: Gets all feature flag user lists for the requested project. This
feature was introduced in GitLab 12.10.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: search
description: Return user lists matching the search criteria
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List all feature flag user lists for a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_FeatureFlag_UserList"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- feature_flags_user_lists
operationId: getApiV4ProjectsIdFeatureFlagsUserLists
post:
summary: Create a feature flag user list
description: Creates a feature flag user list. This feature was introduced in
GitLab 12.10.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdFeatureFlagsUserLists
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdFeatureFlagsUserLists"
responses:
'201':
description: Create a feature flag user list
schema:
"$ref": "#/definitions/API_Entities_FeatureFlag_UserList"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- feature_flags_user_lists
operationId: postApiV4ProjectsIdFeatureFlagsUserLists
"/api/v4/projects/{id}/feature_flags_user_lists/{iid}":
get:
summary: Get a feature flag user list
description: Gets a feature flag user list. This feature was introduced in GitLab
12.10.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: iid
description: The internal ID of the project's feature flag user list
type: string
required: true
responses:
'200':
description: Get a feature flag user list
schema:
"$ref": "#/definitions/API_Entities_FeatureFlag_UserList"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- feature_flags_user_lists
operationId: getApiV4ProjectsIdFeatureFlagsUserListsIid
put:
summary: Update a feature flag user list
description: Updates a feature flag user list. This feature was introduced in
GitLab 12.10.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: iid
description: The internal ID of the project's feature flag user list
type: string
required: true
- name: putApiV4ProjectsIdFeatureFlagsUserListsIid
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdFeatureFlagsUserListsIid"
responses:
'200':
description: Update a feature flag user list
schema:
"$ref": "#/definitions/API_Entities_FeatureFlag_UserList"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- feature_flags_user_lists
operationId: putApiV4ProjectsIdFeatureFlagsUserListsIid
delete:
summary: Delete feature flag user list
description: Deletes a feature flag user list. This feature was introduced in
GitLab 12.10.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: iid
description: The internal ID of the project's feature flag user list
type: string
required: true
responses:
'204':
description: Delete feature flag user list
'401':
description: Unauthorized
'404':
description: Not found
'409':
description: Conflict
tags:
- feature_flags_user_lists
operationId: deleteApiV4ProjectsIdFeatureFlagsUserListsIid
"/api/v4/projects/{id}/repository/files/{file_path}/blame":
head:
description: Get blame file metadata from repository
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- in: query
name: ref
description: The name of branch, tag or commit
type: string
required: true
example: main
responses:
'200':
description: Get blame file metadata from repository
tags:
- projects
operationId: headApiV4ProjectsIdRepositoryFilesFilePathBlame
get:
description: Get blame file from the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- in: query
name: ref
description: The name of branch, tag or commit
type: string
required: true
example: main
- in: query
name: range[start]
description: The first line of the range to blame
type: integer
format: int32
required: true
- in: query
name: range[end]
description: The last line of the range to blame
type: integer
format: int32
required: true
responses:
'200':
description: Get blame file from the repository
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryFilesFilePathBlame
"/api/v4/projects/{id}/repository/files/{file_path}/raw":
get:
description: Get raw file contents from the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- in: query
name: ref
description: The name of branch, tag or commit
type: string
required: false
example: main
- in: query
name: lfs
description: Retrieve binary data for a file that is an lfs pointer
type: boolean
default: false
required: false
responses:
'200':
description: Get raw file contents from the repository
schema:
type: file
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryFilesFilePathRaw
"/api/v4/projects/{id}/repository/files/{file_path}":
head:
description: Get file metadata from repository
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- in: query
name: ref
description: The name of branch, tag or commit
type: string
required: true
example: main
responses:
'200':
description: Get file metadata from repository
tags:
- projects
operationId: headApiV4ProjectsIdRepositoryFilesFilePath
get:
description: Get a file from the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- in: query
name: ref
description: The name of branch, tag or commit
type: string
required: true
example: main
responses:
'200':
description: Get a file from the repository
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryFilesFilePath
post:
description: Create new file in repository
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- name: postApiV4ProjectsIdRepositoryFilesFilePath
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryFilesFilePath"
responses:
'201':
description: Create new file in repository
tags:
- projects
operationId: postApiV4ProjectsIdRepositoryFilesFilePath
put:
description: Update existing file in repository
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- name: putApiV4ProjectsIdRepositoryFilesFilePath
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdRepositoryFilesFilePath"
responses:
'200':
description: Update existing file in repository
tags:
- projects
operationId: putApiV4ProjectsIdRepositoryFilesFilePath
delete:
description: Delete an existing file in repository
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: file_path
description: The url encoded path to the file.
type: string
required: true
example: lib%2Fclass%2Erb
- in: query
name: branch
description: Name of the branch to commit into. To create a new branch, also
provide `start_branch`.
type: string
required: true
example: main
- in: query
name: commit_message
description: Commit message
type: string
required: true
example: Initial commit
- in: query
name: start_branch
description: Name of the branch to start the new commit from
type: string
required: false
example: main
- in: query
name: author_email
description: The email of the author
type: string
required: false
example: johndoe@example.com
- in: query
name: author_name
description: The name of the author
type: string
required: false
example: John Doe
responses:
'204':
description: Delete an existing file in repository
tags:
- projects
operationId: deleteApiV4ProjectsIdRepositoryFilesFilePath
"/api/v4/projects/{id}/freeze_periods":
get:
summary: List freeze periods
description: Paginated list of Freeze Periods, sorted by created_at in ascending
order. This feature was introduced in GitLab 13.0.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List freeze periods
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_FreezePeriod"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- freeze_periods
operationId: getApiV4ProjectsIdFreezePeriods
post:
summary: Create a freeze period
description: Creates a freeze period. This feature was introduced in GitLab
13.0.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdFreezePeriods
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdFreezePeriods"
responses:
'201':
description: Create a freeze period
schema:
"$ref": "#/definitions/API_Entities_FreezePeriod"
'400':
description: Bad request
'401':
description: Unauthorized
tags:
- freeze_periods
operationId: postApiV4ProjectsIdFreezePeriods
"/api/v4/projects/{id}/freeze_periods/{freeze_period_id}":
get:
summary: Get a freeze period
description: Get a freeze period for the given `freeze_period_id`. This feature
was introduced in GitLab 13.0.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: freeze_period_id
description: The ID of the freeze period
type: integer
format: int32
required: true
responses:
'200':
description: Get a freeze period
schema:
"$ref": "#/definitions/API_Entities_FreezePeriod"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- freeze_periods
operationId: getApiV4ProjectsIdFreezePeriodsFreezePeriodId
put:
summary: Update a freeze period
description: Updates a freeze period for the given `freeze_period_id`. This
feature was introduced in GitLab 13.0.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: freeze_period_id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdFreezePeriodsFreezePeriodId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdFreezePeriodsFreezePeriodId"
responses:
'200':
description: Update a freeze period
schema:
"$ref": "#/definitions/API_Entities_FreezePeriod"
'400':
description: Bad request
'401':
description: Unauthorized
tags:
- freeze_periods
operationId: putApiV4ProjectsIdFreezePeriodsFreezePeriodId
delete:
summary: Delete a freeze period
description: Deletes a freeze period for the given `freeze_period_id`. This
feature was introduced in GitLab 13.0.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: freeze_period_id
description: The ID of the freeze period
type: integer
format: int32
required: true
responses:
'401':
description: Unauthorized
'204':
description: Delete a freeze period
schema:
"$ref": "#/definitions/API_Entities_FreezePeriod"
tags:
- freeze_periods
operationId: deleteApiV4ProjectsIdFreezePeriodsFreezePeriodId
"/api/v4/projects/{id}/packages/generic/{package_name}/*package_version/(*path/){file_name}/authorize":
put:
summary: Workhorse authorize generic package file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
- in: path
name: file_name
description: Package file name
type: string
required: true
- name: putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileNameAuthorize
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileNameAuthorize"
responses:
'200':
description: Workhorse authorize generic package file
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- generic_packages
operationId: putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileNameAuthorize
"/api/v4/projects/{id}/packages/generic/{package_name}/*package_version/(*path/){file_name}":
put:
summary: Upload package file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
- in: path
name: file_name
description: Package file name
type: string
required: true
- name: putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileName"
responses:
'200':
description: Upload package file
'201':
description: Upload package file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- generic_packages
operationId: putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileName
get:
summary: Download package file
description: This feature was introduced in GitLab 13.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
- in: query
name: package_version
description: Package version
type: string
required: true
- in: query
name: path
description: File directory path
type: string
required: false
- in: path
name: file_name
description: Package file name
type: string
required: true
responses:
'200':
description: Download package file
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- generic_packages
operationId: getApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileName
"/api/v4/projects/{id}/packages/go/*module_name/@v/list":
get:
summary: List
description: Get all tagged versions for a given Go module.See `go help goproxy`,
GET $GOPROXY/<module>/@v/list. This feature was introduced in GitLab 13.1.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or full path of a project
type: string
required: true
- in: query
name: module_name
description: The name of the Go module
type: string
required: true
responses:
'200':
description: List
tags:
- go_proxy
operationId: getApiV4ProjectsIdPackagesGo*moduleName@vList
"/api/v4/projects/{id}/packages/go/*module_name/@v/{module_version}.info":
get:
summary: Version metadata
description: Get all tagged versions for a given Go module.See `go help goproxy`,
GET $GOPROXY/<module>/@v/<version>.info. This feature was introduced in GitLab
13.1
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or full path of a project
type: string
required: true
- in: query
name: module_name
description: The name of the Go module
type: string
required: true
- in: path
name: module_version
description: The version of the Go module
type: string
required: true
responses:
'200':
description: Version metadata
schema:
"$ref": "#/definitions/API_Entities_GoModuleVersion"
tags:
- go_proxy
operationId: getApiV4ProjectsIdPackagesGo*moduleName@vModuleVersionInfo
"/api/v4/projects/{id}/packages/go/*module_name/@v/{module_version}.mod":
get:
summary: Download module file
description: Get the module file of a given module version.See `go help goproxy`,
GET $GOPROXY/<module>/@v/<version>.mod. This feature was introduced in GitLab
13.1.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or full path of a project
type: string
required: true
- in: query
name: module_name
description: The name of the Go module
type: string
required: true
- in: path
name: module_version
description: The version of the Go module
type: string
required: true
responses:
'200':
description: Download module file
tags:
- go_proxy
operationId: getApiV4ProjectsIdPackagesGo*moduleName@vModuleVersionMod
"/api/v4/projects/{id}/packages/go/*module_name/@v/{module_version}.zip":
get:
summary: Download module source
description: Get a zip of the source of the given module version.See `go help
goproxy`, GET $GOPROXY/<module>/@v/<version>.zip. This feature was introduced
in GitLab 13.1.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID or full path of a project
type: string
required: true
- in: query
name: module_name
description: The name of the Go module
type: string
required: true
- in: path
name: module_version
description: The version of the Go module
type: string
required: true
responses:
'200':
description: Download module source
tags:
- go_proxy
operationId: getApiV4ProjectsIdPackagesGo*moduleName@vModuleVersionZip
"/api/v4/projects/{id}/packages/helm/{channel}/index.yaml":
get:
summary: Download a chart index
description: This feature was introduced in GitLab 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: integer
format: int32
required: true
- in: path
name: channel
description: Helm channel
type: string
required: true
example: stable
responses:
'200':
description: Download a chart index
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- helm_packages
operationId: getApiV4ProjectsIdPackagesHelmChannelIndexYaml
"/api/v4/projects/{id}/packages/helm/{channel}/charts/{file_name}.tgz":
get:
summary: Download a chart
description: This feature was introduced in GitLab 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: integer
format: int32
required: true
- in: path
name: channel
description: Helm channel
type: string
required: true
example: stable
- in: path
name: file_name
description: Helm package file name
type: string
required: true
example: mychart
responses:
'200':
description: Download a chart
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- helm_packages
operationId: getApiV4ProjectsIdPackagesHelmChannelChartsFileNameTgz
"/api/v4/projects/{id}/packages/helm/api/{channel}/charts/authorize":
post:
summary: Authorize a chart upload from workhorse
description: This feature was introduced in GitLab 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: integer
format: int32
required: true
- in: path
name: channel
description: Helm channel
type: string
required: true
example: stable
responses:
'200':
description: Authorize a chart upload from workhorse
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- helm_packages
operationId: postApiV4ProjectsIdPackagesHelmApiChannelChartsAuthorize
"/api/v4/projects/{id}/packages/helm/api/{channel}/charts":
post:
summary: Upload a chart
description: This feature was introduced in GitLab 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: integer
format: int32
required: true
- in: path
name: channel
description: Helm channel
type: string
required: true
example: stable
- name: postApiV4ProjectsIdPackagesHelmApiChannelCharts
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPackagesHelmApiChannelCharts"
responses:
'201':
description: Upload a chart
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- helm_packages
operationId: postApiV4ProjectsIdPackagesHelmApiChannelCharts
"/api/v4/projects/{id}/services":
get:
summary: List all active integrations
description: Get a list of all active integrations.
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: List all active integrations
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: getApiV4ProjectsIdServices
"/api/v4/projects/{id}/services/apple-app-store":
put:
summary: Create/Edit Apple App Store integration
description: Set Apple App Store integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesAppleAppStore
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesAppleAppStore"
responses:
'200':
description: Create/Edit Apple App Store integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesAppleAppStore
"/api/v4/projects/{id}/services/asana":
put:
summary: Create/Edit Asana integration
description: Set Asana integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesAsana
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesAsana"
responses:
'200':
description: Create/Edit Asana integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesAsana
"/api/v4/projects/{id}/services/assembla":
put:
summary: Create/Edit Assembla integration
description: Set Assembla integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesAssembla
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesAssembla"
responses:
'200':
description: Create/Edit Assembla integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesAssembla
"/api/v4/projects/{id}/services/bamboo":
put:
summary: Create/Edit Bamboo integration
description: Set Bamboo integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesBamboo
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesBamboo"
responses:
'200':
description: Create/Edit Bamboo integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesBamboo
"/api/v4/projects/{id}/services/bugzilla":
put:
summary: Create/Edit Bugzilla integration
description: Set Bugzilla integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesBugzilla
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesBugzilla"
responses:
'200':
description: Create/Edit Bugzilla integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesBugzilla
"/api/v4/projects/{id}/services/buildkite":
put:
summary: Create/Edit Buildkite integration
description: Set Buildkite integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesBuildkite
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesBuildkite"
responses:
'200':
description: Create/Edit Buildkite integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesBuildkite
"/api/v4/projects/{id}/services/campfire":
put:
summary: Create/Edit Campfire integration
description: Set Campfire integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesCampfire
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesCampfire"
responses:
'200':
description: Create/Edit Campfire integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesCampfire
"/api/v4/projects/{id}/services/confluence":
put:
summary: Create/Edit Confluence integration
description: Set Confluence integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesConfluence
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesConfluence"
responses:
'200':
description: Create/Edit Confluence integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesConfluence
"/api/v4/projects/{id}/services/custom-issue-tracker":
put:
summary: Create/Edit Custom Issue Tracker integration
description: Set Custom Issue Tracker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesCustomIssueTracker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesCustomIssueTracker"
responses:
'200':
description: Create/Edit Custom Issue Tracker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesCustomIssueTracker
"/api/v4/projects/{id}/services/datadog":
put:
summary: Create/Edit Datadog integration
description: Set Datadog integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesDatadog
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesDatadog"
responses:
'200':
description: Create/Edit Datadog integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesDatadog
"/api/v4/projects/{id}/services/diffblue-cover":
put:
summary: Create/Edit Diffblue Cover integration
description: Set Diffblue Cover integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesDiffblueCover
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesDiffblueCover"
responses:
'200':
description: Create/Edit Diffblue Cover integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesDiffblueCover
"/api/v4/projects/{id}/services/discord":
put:
summary: Create/Edit Discord integration
description: Set Discord integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesDiscord
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesDiscord"
responses:
'200':
description: Create/Edit Discord integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesDiscord
"/api/v4/projects/{id}/services/drone-ci":
put:
summary: Create/Edit Drone Ci integration
description: Set Drone Ci integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesDroneCi
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesDroneCi"
responses:
'200':
description: Create/Edit Drone Ci integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesDroneCi
"/api/v4/projects/{id}/services/emails-on-push":
put:
summary: Create/Edit Emails On Push integration
description: Set Emails On Push integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesEmailsOnPush
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesEmailsOnPush"
responses:
'200':
description: Create/Edit Emails On Push integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesEmailsOnPush
"/api/v4/projects/{id}/services/external-wiki":
put:
summary: Create/Edit External Wiki integration
description: Set External Wiki integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesExternalWiki
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesExternalWiki"
responses:
'200':
description: Create/Edit External Wiki integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesExternalWiki
"/api/v4/projects/{id}/services/gitlab-slack-application":
put:
summary: Create/Edit Gitlab Slack Application integration
description: Set Gitlab Slack Application integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesGitlabSlackApplication
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesGitlabSlackApplication"
responses:
'200':
description: Create/Edit Gitlab Slack Application integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesGitlabSlackApplication
"/api/v4/projects/{id}/services/google-play":
put:
summary: Create/Edit Google Play integration
description: Set Google Play integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesGooglePlay
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesGooglePlay"
responses:
'200':
description: Create/Edit Google Play integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesGooglePlay
"/api/v4/projects/{id}/services/hangouts-chat":
put:
summary: Create/Edit Hangouts Chat integration
description: Set Hangouts Chat integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesHangoutsChat
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesHangoutsChat"
responses:
'200':
description: Create/Edit Hangouts Chat integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesHangoutsChat
"/api/v4/projects/{id}/services/harbor":
put:
summary: Create/Edit Harbor integration
description: Set Harbor integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesHarbor
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesHarbor"
responses:
'200':
description: Create/Edit Harbor integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesHarbor
"/api/v4/projects/{id}/services/irker":
put:
summary: Create/Edit Irker integration
description: Set Irker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesIrker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesIrker"
responses:
'200':
description: Create/Edit Irker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesIrker
"/api/v4/projects/{id}/services/jenkins":
put:
summary: Create/Edit Jenkins integration
description: Set Jenkins integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesJenkins
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesJenkins"
responses:
'200':
description: Create/Edit Jenkins integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesJenkins
"/api/v4/projects/{id}/services/jira":
put:
summary: Create/Edit Jira integration
description: Set Jira integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesJira
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesJira"
responses:
'200':
description: Create/Edit Jira integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesJira
"/api/v4/projects/{id}/services/jira-cloud-app":
put:
summary: Create/Edit Jira Cloud App integration
description: Set Jira Cloud App integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesJiraCloudApp
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesJiraCloudApp"
responses:
'200':
description: Create/Edit Jira Cloud App integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesJiraCloudApp
"/api/v4/projects/{id}/services/matrix":
put:
summary: Create/Edit Matrix integration
description: Set Matrix integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesMatrix
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesMatrix"
responses:
'200':
description: Create/Edit Matrix integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesMatrix
"/api/v4/projects/{id}/services/mattermost-slash-commands":
put:
summary: Create/Edit Mattermost Slash Commands integration
description: Set Mattermost Slash Commands integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesMattermostSlashCommands
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesMattermostSlashCommands"
responses:
'200':
description: Create/Edit Mattermost Slash Commands integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesMattermostSlashCommands
"/api/v4/projects/{id}/services/slack-slash-commands":
put:
summary: Create/Edit Slack Slash Commands integration
description: Set Slack Slash Commands integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesSlackSlashCommands
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesSlackSlashCommands"
responses:
'200':
description: Create/Edit Slack Slash Commands integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesSlackSlashCommands
"/api/v4/projects/{id}/services/packagist":
put:
summary: Create/Edit Packagist integration
description: Set Packagist integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesPackagist
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesPackagist"
responses:
'200':
description: Create/Edit Packagist integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesPackagist
"/api/v4/projects/{id}/services/phorge":
put:
summary: Create/Edit Phorge integration
description: Set Phorge integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesPhorge
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesPhorge"
responses:
'200':
description: Create/Edit Phorge integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesPhorge
"/api/v4/projects/{id}/services/pipelines-email":
put:
summary: Create/Edit Pipelines Email integration
description: Set Pipelines Email integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesPipelinesEmail
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesPipelinesEmail"
responses:
'200':
description: Create/Edit Pipelines Email integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesPipelinesEmail
"/api/v4/projects/{id}/services/pivotaltracker":
put:
summary: Create/Edit Pivotaltracker integration
description: Set Pivotaltracker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesPivotaltracker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesPivotaltracker"
responses:
'200':
description: Create/Edit Pivotaltracker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesPivotaltracker
"/api/v4/projects/{id}/services/pumble":
put:
summary: Create/Edit Pumble integration
description: Set Pumble integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesPumble
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesPumble"
responses:
'200':
description: Create/Edit Pumble integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesPumble
"/api/v4/projects/{id}/services/pushover":
put:
summary: Create/Edit Pushover integration
description: Set Pushover integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesPushover
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesPushover"
responses:
'200':
description: Create/Edit Pushover integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesPushover
"/api/v4/projects/{id}/services/redmine":
put:
summary: Create/Edit Redmine integration
description: Set Redmine integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesRedmine
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesRedmine"
responses:
'200':
description: Create/Edit Redmine integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesRedmine
"/api/v4/projects/{id}/services/ewm":
put:
summary: Create/Edit Ewm integration
description: Set Ewm integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesEwm
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesEwm"
responses:
'200':
description: Create/Edit Ewm integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesEwm
"/api/v4/projects/{id}/services/youtrack":
put:
summary: Create/Edit Youtrack integration
description: Set Youtrack integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesYoutrack
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesYoutrack"
responses:
'200':
description: Create/Edit Youtrack integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesYoutrack
"/api/v4/projects/{id}/services/clickup":
put:
summary: Create/Edit Clickup integration
description: Set Clickup integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesClickup
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesClickup"
responses:
'200':
description: Create/Edit Clickup integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesClickup
"/api/v4/projects/{id}/services/slack":
put:
summary: Create/Edit Slack integration
description: Set Slack integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesSlack
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesSlack"
responses:
'200':
description: Create/Edit Slack integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesSlack
"/api/v4/projects/{id}/services/microsoft-teams":
put:
summary: Create/Edit Microsoft Teams integration
description: Set Microsoft Teams integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesMicrosoftTeams
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesMicrosoftTeams"
responses:
'200':
description: Create/Edit Microsoft Teams integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesMicrosoftTeams
"/api/v4/projects/{id}/services/mattermost":
put:
summary: Create/Edit Mattermost integration
description: Set Mattermost integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesMattermost
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesMattermost"
responses:
'200':
description: Create/Edit Mattermost integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesMattermost
"/api/v4/projects/{id}/services/teamcity":
put:
summary: Create/Edit Teamcity integration
description: Set Teamcity integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesTeamcity
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesTeamcity"
responses:
'200':
description: Create/Edit Teamcity integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesTeamcity
"/api/v4/projects/{id}/services/telegram":
put:
summary: Create/Edit Telegram integration
description: Set Telegram integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesTelegram
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesTelegram"
responses:
'200':
description: Create/Edit Telegram integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesTelegram
"/api/v4/projects/{id}/services/unify-circuit":
put:
summary: Create/Edit Unify Circuit integration
description: Set Unify Circuit integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesUnifyCircuit
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesUnifyCircuit"
responses:
'200':
description: Create/Edit Unify Circuit integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesUnifyCircuit
"/api/v4/projects/{id}/services/webex-teams":
put:
summary: Create/Edit Webex Teams integration
description: Set Webex Teams integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesWebexTeams
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesWebexTeams"
responses:
'200':
description: Create/Edit Webex Teams integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesWebexTeams
"/api/v4/projects/{id}/services/zentao":
put:
summary: Create/Edit Zentao integration
description: Set Zentao integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesZentao
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesZentao"
responses:
'200':
description: Create/Edit Zentao integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesZentao
"/api/v4/projects/{id}/services/squash-tm":
put:
summary: Create/Edit Squash Tm integration
description: Set Squash Tm integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesSquashTm
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesSquashTm"
responses:
'200':
description: Create/Edit Squash Tm integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesSquashTm
"/api/v4/projects/{id}/services/github":
put:
summary: Create/Edit Github integration
description: Set Github integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesGithub
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesGithub"
responses:
'200':
description: Create/Edit Github integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesGithub
"/api/v4/projects/{id}/services/git-guardian":
put:
summary: Create/Edit Git Guardian integration
description: Set Git Guardian integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesGitGuardian
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesGitGuardian"
responses:
'200':
description: Create/Edit Git Guardian integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesGitGuardian
"/api/v4/projects/{id}/services/google-cloud-platform-artifact-registry":
put:
summary: Create/Edit Google Cloud Platform Artifact Registry integration
description: Set Google Cloud Platform Artifact Registry integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesGoogleCloudPlatformArtifactRegistry
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesGoogleCloudPlatformArtifactRegistry"
responses:
'200':
description: Create/Edit Google Cloud Platform Artifact Registry integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesGoogleCloudPlatformArtifactRegistry
"/api/v4/projects/{id}/services/google-cloud-platform-workload-identity-federation":
put:
summary: Create/Edit Google Cloud Platform Workload Identity Federation integration
description: Set Google Cloud Platform Workload Identity Federation integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesGoogleCloudPlatformWorkloadIdentityFederation
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesGoogleCloudPlatformWorkloadIdentityFederation"
responses:
'200':
description: Create/Edit Google Cloud Platform Workload Identity Federation
integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesGoogleCloudPlatformWorkloadIdentityFederation
"/api/v4/projects/{id}/services/mock-ci":
put:
summary: Create/Edit Mock Ci integration
description: Set Mock Ci integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesMockCi
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesMockCi"
responses:
'200':
description: Create/Edit Mock Ci integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesMockCi
"/api/v4/projects/{id}/services/mock-monitoring":
put:
summary: Create/Edit Mock Monitoring integration
description: Set Mock Monitoring integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdServicesMockMonitoring
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdServicesMockMonitoring"
responses:
'200':
description: Create/Edit Mock Monitoring integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdServicesMockMonitoring
"/api/v4/projects/{id}/services/{slug}":
delete:
summary: Disable an integration
description: Disable the integration. Integration settings are preserved.
produces:
- application/json
parameters:
- in: path
name: slug
description: The name of the integration
type: string
enum:
- apple-app-store
- asana
- assembla
- bamboo
- bugzilla
- buildkite
- campfire
- confluence
- custom-issue-tracker
- datadog
- diffblue-cover
- discord
- drone-ci
- emails-on-push
- external-wiki
- gitlab-slack-application
- google-play
- hangouts-chat
- harbor
- irker
- jenkins
- jira
- jira-cloud-app
- matrix
- mattermost-slash-commands
- slack-slash-commands
- packagist
- phorge
- pipelines-email
- pivotaltracker
- pumble
- pushover
- redmine
- ewm
- youtrack
- clickup
- slack
- microsoft-teams
- mattermost
- teamcity
- telegram
- unify-circuit
- webex-teams
- zentao
- squash-tm
- github
- git-guardian
- google-cloud-platform-artifact-registry
- google-cloud-platform-workload-identity-federation
- mock-ci
- mock-monitoring
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Disable an integration
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: deleteApiV4ProjectsIdServicesSlug
get:
summary: Get an integration settings
description: Get the integration settings.
produces:
- application/json
parameters:
- in: path
name: slug
description: The name of the integration
type: string
enum:
- apple-app-store
- asana
- assembla
- bamboo
- bugzilla
- buildkite
- campfire
- confluence
- custom-issue-tracker
- datadog
- diffblue-cover
- discord
- drone-ci
- emails-on-push
- external-wiki
- gitlab-slack-application
- google-play
- hangouts-chat
- harbor
- irker
- jenkins
- jira
- jira-cloud-app
- matrix
- mattermost-slash-commands
- slack-slash-commands
- packagist
- phorge
- pipelines-email
- pivotaltracker
- pumble
- pushover
- redmine
- ewm
- youtrack
- clickup
- slack
- microsoft-teams
- mattermost
- teamcity
- telegram
- unify-circuit
- webex-teams
- zentao
- squash-tm
- github
- git-guardian
- google-cloud-platform-artifact-registry
- google-cloud-platform-workload-identity-federation
- mock-ci
- mock-monitoring
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get an integration settings
schema:
"$ref": "#/definitions/API_Entities_Integration"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: getApiV4ProjectsIdServicesSlug
"/api/v4/projects/{id}/services/mattermost_slash_commands/trigger":
post:
summary: Trigger a slash command for mattermost-slash-commands
description: Added in GitLab 8.13
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdServicesMattermostSlashCommandsTrigger
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdServicesMattermostSlashCommandsTrigger"
responses:
'201':
description: Trigger a slash command for mattermost-slash-commands
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: postApiV4ProjectsIdServicesMattermostSlashCommandsTrigger
"/api/v4/projects/{id}/services/slack_slash_commands/trigger":
post:
summary: Trigger a slash command for slack-slash-commands
description: Added in GitLab 8.13
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdServicesSlackSlashCommandsTrigger
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdServicesSlackSlashCommandsTrigger"
responses:
'201':
description: Trigger a slash command for slack-slash-commands
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: postApiV4ProjectsIdServicesSlackSlashCommandsTrigger
"/api/v4/projects/{id}/integrations":
get:
summary: List all active integrations
description: Get a list of all active integrations.
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: List all active integrations
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: getApiV4ProjectsIdIntegrations
"/api/v4/projects/{id}/integrations/apple-app-store":
put:
summary: Create/Edit Apple App Store integration
description: Set Apple App Store integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsAppleAppStore
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsAppleAppStore"
responses:
'200':
description: Create/Edit Apple App Store integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsAppleAppStore
"/api/v4/projects/{id}/integrations/asana":
put:
summary: Create/Edit Asana integration
description: Set Asana integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsAsana
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsAsana"
responses:
'200':
description: Create/Edit Asana integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsAsana
"/api/v4/projects/{id}/integrations/assembla":
put:
summary: Create/Edit Assembla integration
description: Set Assembla integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsAssembla
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsAssembla"
responses:
'200':
description: Create/Edit Assembla integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsAssembla
"/api/v4/projects/{id}/integrations/bamboo":
put:
summary: Create/Edit Bamboo integration
description: Set Bamboo integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsBamboo
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsBamboo"
responses:
'200':
description: Create/Edit Bamboo integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsBamboo
"/api/v4/projects/{id}/integrations/bugzilla":
put:
summary: Create/Edit Bugzilla integration
description: Set Bugzilla integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsBugzilla
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsBugzilla"
responses:
'200':
description: Create/Edit Bugzilla integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsBugzilla
"/api/v4/projects/{id}/integrations/buildkite":
put:
summary: Create/Edit Buildkite integration
description: Set Buildkite integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsBuildkite
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsBuildkite"
responses:
'200':
description: Create/Edit Buildkite integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsBuildkite
"/api/v4/projects/{id}/integrations/campfire":
put:
summary: Create/Edit Campfire integration
description: Set Campfire integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsCampfire
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsCampfire"
responses:
'200':
description: Create/Edit Campfire integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsCampfire
"/api/v4/projects/{id}/integrations/confluence":
put:
summary: Create/Edit Confluence integration
description: Set Confluence integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsConfluence
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsConfluence"
responses:
'200':
description: Create/Edit Confluence integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsConfluence
"/api/v4/projects/{id}/integrations/custom-issue-tracker":
put:
summary: Create/Edit Custom Issue Tracker integration
description: Set Custom Issue Tracker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsCustomIssueTracker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsCustomIssueTracker"
responses:
'200':
description: Create/Edit Custom Issue Tracker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsCustomIssueTracker
"/api/v4/projects/{id}/integrations/datadog":
put:
summary: Create/Edit Datadog integration
description: Set Datadog integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsDatadog
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsDatadog"
responses:
'200':
description: Create/Edit Datadog integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsDatadog
"/api/v4/projects/{id}/integrations/diffblue-cover":
put:
summary: Create/Edit Diffblue Cover integration
description: Set Diffblue Cover integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsDiffblueCover
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsDiffblueCover"
responses:
'200':
description: Create/Edit Diffblue Cover integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsDiffblueCover
"/api/v4/projects/{id}/integrations/discord":
put:
summary: Create/Edit Discord integration
description: Set Discord integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsDiscord
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsDiscord"
responses:
'200':
description: Create/Edit Discord integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsDiscord
"/api/v4/projects/{id}/integrations/drone-ci":
put:
summary: Create/Edit Drone Ci integration
description: Set Drone Ci integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsDroneCi
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsDroneCi"
responses:
'200':
description: Create/Edit Drone Ci integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsDroneCi
"/api/v4/projects/{id}/integrations/emails-on-push":
put:
summary: Create/Edit Emails On Push integration
description: Set Emails On Push integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsEmailsOnPush
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsEmailsOnPush"
responses:
'200':
description: Create/Edit Emails On Push integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsEmailsOnPush
"/api/v4/projects/{id}/integrations/external-wiki":
put:
summary: Create/Edit External Wiki integration
description: Set External Wiki integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsExternalWiki
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsExternalWiki"
responses:
'200':
description: Create/Edit External Wiki integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsExternalWiki
"/api/v4/projects/{id}/integrations/gitlab-slack-application":
put:
summary: Create/Edit Gitlab Slack Application integration
description: Set Gitlab Slack Application integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsGitlabSlackApplication
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsGitlabSlackApplication"
responses:
'200':
description: Create/Edit Gitlab Slack Application integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsGitlabSlackApplication
"/api/v4/projects/{id}/integrations/google-play":
put:
summary: Create/Edit Google Play integration
description: Set Google Play integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsGooglePlay
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsGooglePlay"
responses:
'200':
description: Create/Edit Google Play integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsGooglePlay
"/api/v4/projects/{id}/integrations/hangouts-chat":
put:
summary: Create/Edit Hangouts Chat integration
description: Set Hangouts Chat integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsHangoutsChat
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsHangoutsChat"
responses:
'200':
description: Create/Edit Hangouts Chat integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsHangoutsChat
"/api/v4/projects/{id}/integrations/harbor":
put:
summary: Create/Edit Harbor integration
description: Set Harbor integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsHarbor
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsHarbor"
responses:
'200':
description: Create/Edit Harbor integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsHarbor
"/api/v4/projects/{id}/integrations/irker":
put:
summary: Create/Edit Irker integration
description: Set Irker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsIrker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsIrker"
responses:
'200':
description: Create/Edit Irker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsIrker
"/api/v4/projects/{id}/integrations/jenkins":
put:
summary: Create/Edit Jenkins integration
description: Set Jenkins integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsJenkins
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsJenkins"
responses:
'200':
description: Create/Edit Jenkins integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsJenkins
"/api/v4/projects/{id}/integrations/jira":
put:
summary: Create/Edit Jira integration
description: Set Jira integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsJira
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsJira"
responses:
'200':
description: Create/Edit Jira integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsJira
"/api/v4/projects/{id}/integrations/jira-cloud-app":
put:
summary: Create/Edit Jira Cloud App integration
description: Set Jira Cloud App integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsJiraCloudApp
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsJiraCloudApp"
responses:
'200':
description: Create/Edit Jira Cloud App integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsJiraCloudApp
"/api/v4/projects/{id}/integrations/matrix":
put:
summary: Create/Edit Matrix integration
description: Set Matrix integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsMatrix
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsMatrix"
responses:
'200':
description: Create/Edit Matrix integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsMatrix
"/api/v4/projects/{id}/integrations/mattermost-slash-commands":
put:
summary: Create/Edit Mattermost Slash Commands integration
description: Set Mattermost Slash Commands integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsMattermostSlashCommands
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsMattermostSlashCommands"
responses:
'200':
description: Create/Edit Mattermost Slash Commands integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsMattermostSlashCommands
"/api/v4/projects/{id}/integrations/slack-slash-commands":
put:
summary: Create/Edit Slack Slash Commands integration
description: Set Slack Slash Commands integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsSlackSlashCommands
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsSlackSlashCommands"
responses:
'200':
description: Create/Edit Slack Slash Commands integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsSlackSlashCommands
"/api/v4/projects/{id}/integrations/packagist":
put:
summary: Create/Edit Packagist integration
description: Set Packagist integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsPackagist
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsPackagist"
responses:
'200':
description: Create/Edit Packagist integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsPackagist
"/api/v4/projects/{id}/integrations/phorge":
put:
summary: Create/Edit Phorge integration
description: Set Phorge integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsPhorge
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsPhorge"
responses:
'200':
description: Create/Edit Phorge integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsPhorge
"/api/v4/projects/{id}/integrations/pipelines-email":
put:
summary: Create/Edit Pipelines Email integration
description: Set Pipelines Email integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsPipelinesEmail
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsPipelinesEmail"
responses:
'200':
description: Create/Edit Pipelines Email integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsPipelinesEmail
"/api/v4/projects/{id}/integrations/pivotaltracker":
put:
summary: Create/Edit Pivotaltracker integration
description: Set Pivotaltracker integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsPivotaltracker
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsPivotaltracker"
responses:
'200':
description: Create/Edit Pivotaltracker integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsPivotaltracker
"/api/v4/projects/{id}/integrations/pumble":
put:
summary: Create/Edit Pumble integration
description: Set Pumble integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsPumble
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsPumble"
responses:
'200':
description: Create/Edit Pumble integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsPumble
"/api/v4/projects/{id}/integrations/pushover":
put:
summary: Create/Edit Pushover integration
description: Set Pushover integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsPushover
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsPushover"
responses:
'200':
description: Create/Edit Pushover integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsPushover
"/api/v4/projects/{id}/integrations/redmine":
put:
summary: Create/Edit Redmine integration
description: Set Redmine integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsRedmine
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsRedmine"
responses:
'200':
description: Create/Edit Redmine integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsRedmine
"/api/v4/projects/{id}/integrations/ewm":
put:
summary: Create/Edit Ewm integration
description: Set Ewm integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsEwm
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsEwm"
responses:
'200':
description: Create/Edit Ewm integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsEwm
"/api/v4/projects/{id}/integrations/youtrack":
put:
summary: Create/Edit Youtrack integration
description: Set Youtrack integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsYoutrack
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsYoutrack"
responses:
'200':
description: Create/Edit Youtrack integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsYoutrack
"/api/v4/projects/{id}/integrations/clickup":
put:
summary: Create/Edit Clickup integration
description: Set Clickup integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsClickup
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsClickup"
responses:
'200':
description: Create/Edit Clickup integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsClickup
"/api/v4/projects/{id}/integrations/slack":
put:
summary: Create/Edit Slack integration
description: Set Slack integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsSlack
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsSlack"
responses:
'200':
description: Create/Edit Slack integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsSlack
"/api/v4/projects/{id}/integrations/microsoft-teams":
put:
summary: Create/Edit Microsoft Teams integration
description: Set Microsoft Teams integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsMicrosoftTeams
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsMicrosoftTeams"
responses:
'200':
description: Create/Edit Microsoft Teams integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsMicrosoftTeams
"/api/v4/projects/{id}/integrations/mattermost":
put:
summary: Create/Edit Mattermost integration
description: Set Mattermost integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsMattermost
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsMattermost"
responses:
'200':
description: Create/Edit Mattermost integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsMattermost
"/api/v4/projects/{id}/integrations/teamcity":
put:
summary: Create/Edit Teamcity integration
description: Set Teamcity integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsTeamcity
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsTeamcity"
responses:
'200':
description: Create/Edit Teamcity integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsTeamcity
"/api/v4/projects/{id}/integrations/telegram":
put:
summary: Create/Edit Telegram integration
description: Set Telegram integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsTelegram
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsTelegram"
responses:
'200':
description: Create/Edit Telegram integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsTelegram
"/api/v4/projects/{id}/integrations/unify-circuit":
put:
summary: Create/Edit Unify Circuit integration
description: Set Unify Circuit integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsUnifyCircuit
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsUnifyCircuit"
responses:
'200':
description: Create/Edit Unify Circuit integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsUnifyCircuit
"/api/v4/projects/{id}/integrations/webex-teams":
put:
summary: Create/Edit Webex Teams integration
description: Set Webex Teams integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsWebexTeams
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsWebexTeams"
responses:
'200':
description: Create/Edit Webex Teams integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsWebexTeams
"/api/v4/projects/{id}/integrations/zentao":
put:
summary: Create/Edit Zentao integration
description: Set Zentao integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsZentao
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsZentao"
responses:
'200':
description: Create/Edit Zentao integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsZentao
"/api/v4/projects/{id}/integrations/squash-tm":
put:
summary: Create/Edit Squash Tm integration
description: Set Squash Tm integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsSquashTm
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsSquashTm"
responses:
'200':
description: Create/Edit Squash Tm integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsSquashTm
"/api/v4/projects/{id}/integrations/github":
put:
summary: Create/Edit Github integration
description: Set Github integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsGithub
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsGithub"
responses:
'200':
description: Create/Edit Github integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsGithub
"/api/v4/projects/{id}/integrations/git-guardian":
put:
summary: Create/Edit Git Guardian integration
description: Set Git Guardian integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsGitGuardian
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsGitGuardian"
responses:
'200':
description: Create/Edit Git Guardian integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsGitGuardian
"/api/v4/projects/{id}/integrations/google-cloud-platform-artifact-registry":
put:
summary: Create/Edit Google Cloud Platform Artifact Registry integration
description: Set Google Cloud Platform Artifact Registry integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsGoogleCloudPlatformArtifactRegistry
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsGoogleCloudPlatformArtifactRegistry"
responses:
'200':
description: Create/Edit Google Cloud Platform Artifact Registry integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsGoogleCloudPlatformArtifactRegistry
"/api/v4/projects/{id}/integrations/google-cloud-platform-workload-identity-federation":
put:
summary: Create/Edit Google Cloud Platform Workload Identity Federation integration
description: Set Google Cloud Platform Workload Identity Federation integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation"
responses:
'200':
description: Create/Edit Google Cloud Platform Workload Identity Federation
integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation
"/api/v4/projects/{id}/integrations/mock-ci":
put:
summary: Create/Edit Mock Ci integration
description: Set Mock Ci integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsMockCi
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsMockCi"
responses:
'200':
description: Create/Edit Mock Ci integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsMockCi
"/api/v4/projects/{id}/integrations/mock-monitoring":
put:
summary: Create/Edit Mock Monitoring integration
description: Set Mock Monitoring integration.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdIntegrationsMockMonitoring
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdIntegrationsMockMonitoring"
responses:
'200':
description: Create/Edit Mock Monitoring integration
schema:
"$ref": "#/definitions/API_Entities_IntegrationBasic"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- integrations
operationId: putApiV4ProjectsIdIntegrationsMockMonitoring
"/api/v4/projects/{id}/integrations/{slug}":
delete:
summary: Disable an integration
description: Disable the integration. Integration settings are preserved.
produces:
- application/json
parameters:
- in: path
name: slug
description: The name of the integration
type: string
enum:
- apple-app-store
- asana
- assembla
- bamboo
- bugzilla
- buildkite
- campfire
- confluence
- custom-issue-tracker
- datadog
- diffblue-cover
- discord
- drone-ci
- emails-on-push
- external-wiki
- gitlab-slack-application
- google-play
- hangouts-chat
- harbor
- irker
- jenkins
- jira
- jira-cloud-app
- matrix
- mattermost-slash-commands
- slack-slash-commands
- packagist
- phorge
- pipelines-email
- pivotaltracker
- pumble
- pushover
- redmine
- ewm
- youtrack
- clickup
- slack
- microsoft-teams
- mattermost
- teamcity
- telegram
- unify-circuit
- webex-teams
- zentao
- squash-tm
- github
- git-guardian
- google-cloud-platform-artifact-registry
- google-cloud-platform-workload-identity-federation
- mock-ci
- mock-monitoring
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Disable an integration
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: deleteApiV4ProjectsIdIntegrationsSlug
get:
summary: Get an integration settings
description: Get the integration settings.
produces:
- application/json
parameters:
- in: path
name: slug
description: The name of the integration
type: string
enum:
- apple-app-store
- asana
- assembla
- bamboo
- bugzilla
- buildkite
- campfire
- confluence
- custom-issue-tracker
- datadog
- diffblue-cover
- discord
- drone-ci
- emails-on-push
- external-wiki
- gitlab-slack-application
- google-play
- hangouts-chat
- harbor
- irker
- jenkins
- jira
- jira-cloud-app
- matrix
- mattermost-slash-commands
- slack-slash-commands
- packagist
- phorge
- pipelines-email
- pivotaltracker
- pumble
- pushover
- redmine
- ewm
- youtrack
- clickup
- slack
- microsoft-teams
- mattermost
- teamcity
- telegram
- unify-circuit
- webex-teams
- zentao
- squash-tm
- github
- git-guardian
- google-cloud-platform-artifact-registry
- google-cloud-platform-workload-identity-federation
- mock-ci
- mock-monitoring
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get an integration settings
schema:
"$ref": "#/definitions/API_Entities_Integration"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: getApiV4ProjectsIdIntegrationsSlug
"/api/v4/projects/{id}/integrations/mattermost_slash_commands/trigger":
post:
summary: Trigger a slash command for mattermost-slash-commands
description: Added in GitLab 8.13
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdIntegrationsMattermostSlashCommandsTrigger
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdIntegrationsMattermostSlashCommandsTrigger"
responses:
'201':
description: Trigger a slash command for mattermost-slash-commands
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: postApiV4ProjectsIdIntegrationsMattermostSlashCommandsTrigger
"/api/v4/projects/{id}/integrations/slack_slash_commands/trigger":
post:
summary: Trigger a slash command for slack-slash-commands
description: Added in GitLab 8.13
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdIntegrationsSlackSlashCommandsTrigger
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdIntegrationsSlackSlashCommandsTrigger"
responses:
'201':
description: Trigger a slash command for slack-slash-commands
'401':
description: Unauthorized
'404':
description: Not found
tags:
- integrations
operationId: postApiV4ProjectsIdIntegrationsSlackSlashCommandsTrigger
"/api/v4/projects/{id}/invitations":
post:
summary: Invite non-members by email address to a group or project.
description: This feature was introduced in GitLab 13.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- name: postApiV4ProjectsIdInvitations
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdInvitations"
responses:
'201':
description: Invite non-members by email address to a group or project.
schema:
"$ref": "#/definitions/API_Entities_Invitation"
tags:
- invitations
operationId: postApiV4ProjectsIdInvitations
get:
summary: Get a list of group or project invitations viewable by the authenticated
user
description: This feature was introduced in GitLab 13.6
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: query
description: A query string to search for members
type: string
required: false
responses:
'200':
description: Get a list of group or project invitations viewable by the
authenticated user
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Invitation"
tags:
- invitations
operationId: getApiV4ProjectsIdInvitations
"/api/v4/projects/{id}/invitations/{email}":
put:
description: Updates a group or project invitation.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
- name: putApiV4ProjectsIdInvitationsEmail
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdInvitationsEmail"
responses:
'200':
description: Updates a group or project invitation.
schema:
"$ref": "#/definitions/API_Entities_Invitation"
tags:
- invitations
operationId: putApiV4ProjectsIdInvitationsEmail
delete:
description: Removes an invitation from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: email
description: The email address of the invitation
type: string
required: true
responses:
'204':
description: Removes an invitation from a group or project.
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Could not delete invitation
tags:
- invitations
operationId: deleteApiV4ProjectsIdInvitationsEmail
"/api/v4/projects/{id}/issues/{issue_iid}/links":
get:
summary: List issue relations
description: Get a list of a given issues linked issues, sorted by the relationship
creation datetime (ascending).Issues are filtered according to the user authorizations.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: issue_iid
description: The internal ID of a projects issue
type: integer
format: int32
required: true
responses:
'200':
description: List issue relations
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_RelatedIssue"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- issue_links
operationId: getApiV4ProjectsIdIssuesIssueIidLinks
post:
summary: Create an issue link
description: Creates a two-way relation between two issues.The user must be
allowed to update both issues to succeed.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: issue_iid
description: The internal ID of a projects issue
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdIssuesIssueIidLinks
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidLinks"
responses:
'201':
description: Create an issue link
schema:
"$ref": "#/definitions/API_Entities_IssueLink"
'400':
description: Bad Request
'401':
description: Unauthorized
tags:
- issue_links
operationId: postApiV4ProjectsIdIssuesIssueIidLinks
"/api/v4/projects/{id}/issues/{issue_iid}/links/{issue_link_id}":
get:
summary: Get an issue link
description: Gets details about an issue link. This feature was introduced in
GitLab 15.1.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: issue_iid
description: The internal ID of a projects issue
type: integer
format: int32
required: true
- in: path
name: issue_link_id
description: ID of an issue relationship
type: string
required: true
responses:
'200':
description: Get an issue link
schema:
"$ref": "#/definitions/API_Entities_IssueLink"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- issue_links
operationId: getApiV4ProjectsIdIssuesIssueIidLinksIssueLinkId
delete:
summary: Delete an issue link
description: Deletes an issue link, thus removes the two-way relationship.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: issue_iid
description: The internal ID of a projects issue
type: integer
format: int32
required: true
- in: path
name: issue_link_id
description: The ID of an issue relationship
type: string
required: true
responses:
'401':
description: Unauthorized
'204':
description: Delete an issue link
schema:
"$ref": "#/definitions/API_Entities_IssueLink"
'404':
description: Not found
tags:
- issue_links
operationId: deleteApiV4ProjectsIdIssuesIssueIidLinksIssueLinkId
"/api/v4/projects/{id}/ci/lint":
get:
summary: Validates a CI YAML configuration with a namespace
description: |-
Checks if a projects .gitlab-ci.yml configuration in a given commit (by default HEAD of the
projects default branch) is valid
produces:
- application/json
parameters:
- in: query
name: sha
description: 'Deprecated: Use content_ref instead'
type: string
required: false
- in: query
name: content_ref
description: The CI/CD configuration content is taken from this commit SHA,
branch or tag. Defaults to the HEAD of the project's default branch
type: string
required: false
- in: query
name: dry_run
description: Run pipeline creation simulation, or only do static check. This
is false by default
type: boolean
default: false
required: false
- in: query
name: include_jobs
description: |-
If the list of jobs that would exist in a static check or pipeline
simulation should be included in the response. This is false by default
type: boolean
required: false
- in: query
name: ref
description: 'Deprecated: Use dry_run_ref instead'
type: string
required: false
- in: query
name: dry_run_ref
description: Branch or tag used as context when executing a dry run. Defaults
to the default branch of the project. Only used when dry_run is true
type: string
required: false
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Validates a CI YAML configuration with a namespace
schema:
"$ref": "#/definitions/API_Entities_Ci_Lint_Result"
'404':
description: Not found
tags:
- ci_lint
operationId: getApiV4ProjectsIdCiLint
post:
summary: Validate a CI YAML configuration with a namespace
description: Checks if CI/CD YAML configuration is valid. This endpoint has
namespace specific context
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdCiLint
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdCiLint"
responses:
'200':
description: Validate a CI YAML configuration with a namespace
schema:
"$ref": "#/definitions/API_Entities_Ci_Lint_Result"
tags:
- ci_lint
operationId: postApiV4ProjectsIdCiLint
"/api/v4/projects/{id}/uploads/authorize":
post:
summary: Workhorse authorize the file upload
description: This feature was introduced in GitLab 13.11
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Workhorse authorize the file upload
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdUploadsAuthorize
"/api/v4/projects/{id}/uploads":
post:
description: Upload a file
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdUploads
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdUploads"
responses:
'201':
description: Upload a file
schema:
"$ref": "#/definitions/API_Entities_ProjectUpload"
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdUploads
get:
description: Get the list of uploads of a project
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get the list of uploads of a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_MarkdownUploadAdmin"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdUploads
"/api/v4/projects/{id}/uploads/{upload_id}":
get:
description: Download a single project upload by ID
produces:
- application/json
parameters:
- in: path
name: upload_id
description: The ID of a project upload
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Download a single project upload by ID
schema:
type: file
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdUploadsUploadId
delete:
description: Delete a single project upload by ID
produces:
- application/json
parameters:
- in: path
name: upload_id
description: The ID of a project upload
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a single project upload by ID
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsIdUploadsUploadId
"/api/v4/projects/{id}/uploads/{secret}/{filename}":
get:
description: Download a single project upload by secret and filename
produces:
- application/json
parameters:
- in: path
name: secret
description: The 32-character secret of a project upload
type: string
required: true
- in: path
name: filename
description: The filename of a project upload
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Download a single project upload by secret and filename
schema:
type: file
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdUploadsSecretFilename
delete:
description: Delete a single project upload by secret and filename
produces:
- application/json
parameters:
- in: path
name: secret
description: The 32-character secret of a project upload
type: string
required: true
- in: path
name: filename
description: The filename of a project upload
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a single project upload by secret and filename
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsIdUploadsSecretFilename
"/api/v4/projects/{id}/packages/maven/*path/{file_name}":
get:
summary: Download the maven package file at a project level
description: This feature was introduced in GitLab 11.3
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: path
description: Package path
type: string
required: true
example: foo/bar/mypkg/1.0-SNAPSHOT
- in: path
name: file_name
description: Package file name
type: string
required: true
example: mypkg-1.0-SNAPSHOT.jar
responses:
'200':
description: Download the maven package file at a project level
'302':
description: Download the maven package file at a project level
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- maven_packages
operationId: getApiV4ProjectsIdPackagesMaven*pathFileName
put:
summary: Upload the maven package file
description: This feature was introduced in GitLab 11.3
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: Package file name
type: string
required: true
example: mypkg-1.0-SNAPSHOT.pom
- name: putApiV4ProjectsIdPackagesMaven*pathFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesMaven*pathFileName"
responses:
'200':
description: Upload the maven package file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
tags:
- maven_packages
operationId: putApiV4ProjectsIdPackagesMaven*pathFileName
"/api/v4/projects/{id}/packages/maven/*path/{file_name}/authorize":
put:
summary: Workhorse authorize the maven package file upload
description: This feature was introduced in GitLab 11.3
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: Package file name
type: string
required: true
example: mypkg-1.0-SNAPSHOT.pom
- name: putApiV4ProjectsIdPackagesMaven*pathFileNameAuthorize
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesMaven*pathFileNameAuthorize"
responses:
'200':
description: Workhorse authorize the maven package file upload
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- maven_packages
operationId: putApiV4ProjectsIdPackagesMaven*pathFileNameAuthorize
"/api/v4/projects/{id}/members":
get:
description: Gets a list of group or project members viewable by the authenticated
user.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: query
name: query
description: A query string to search for members
type: string
required: false
- in: query
name: user_ids
description: Array of user ids to look up for membership
type: array
items:
type: integer
format: int32
required: false
- in: query
name: skip_users
description: Array of user ids to be skipped for membership
type: array
items:
type: integer
format: int32
required: false
- in: query
name: show_seat_info
description: Show seat information for members
type: boolean
required: false
- in: query
name: with_saml_identity
description: List only members with linked SAML identity
type: boolean
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Gets a list of group or project members viewable by the authenticated
user.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4ProjectsIdMembers
post:
description: Adds a member to a group or project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- name: postApiV4ProjectsIdMembers
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMembers"
responses:
'201':
description: Adds a member to a group or project.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: postApiV4ProjectsIdMembers
"/api/v4/projects/{id}/members/all":
get:
description: Gets a list of group or project members viewable by the authenticated
user, including those who gained membership through ancestor group.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: query
name: query
description: A query string to search for members
type: string
required: false
- in: query
name: user_ids
description: Array of user ids to look up for membership
type: array
items:
type: integer
format: int32
required: false
- in: query
name: show_seat_info
description: Show seat information for members
type: boolean
required: false
- in: query
name: state
description: Filter results by member state
type: string
enum:
- awaiting
- active
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Gets a list of group or project members viewable by the authenticated
user, including those who gained membership through ancestor group.
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4ProjectsIdMembersAll
"/api/v4/projects/{id}/members/{user_id}":
get:
description: Gets a member of a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'200':
description: Gets a member of a group or project.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4ProjectsIdMembersUserId
put:
description: Updates a member of a group or project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the new member
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdMembersUserId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdMembersUserId"
responses:
'200':
description: Updates a member of a group or project.
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: putApiV4ProjectsIdMembersUserId
delete:
description: Removes a user from a group or project.
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
- in: query
name: skip_subresources
description: Flag indicating if the deletion of direct memberships of the
removed member in subgroups and projects should be skipped
type: boolean
default: false
required: false
- in: query
name: unassign_issuables
description: Flag indicating if the removed member should be unassigned from
any issues or merge requests within given group or project
type: boolean
default: false
required: false
responses:
'204':
description: Removes a user from a group or project.
tags:
- members
operationId: deleteApiV4ProjectsIdMembersUserId
"/api/v4/projects/{id}/members/all/{user_id}":
get:
description: Gets a member of a group or project, including those who gained
membership through ancestor group
produces:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- in: path
name: user_id
description: The user ID of the member
type: integer
format: int32
required: true
responses:
'200':
description: Gets a member of a group or project, including those who gained
membership through ancestor group
schema:
"$ref": "#/definitions/API_Entities_Member"
tags:
- members
operationId: getApiV4ProjectsIdMembersAllUserId
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approvals":
get:
description: List approvals for merge request
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: List approvals for merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequestApprovals"
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals
post:
summary: 'Deprecated in 16.0: Use the merge request approvals API instead. Change
approval-related configuration'
description: This feature was introduced in 10.6 and deprecated in 16.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: merge_request_iid
description: The IID of a merge request
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals"
responses:
'201':
description: 'Deprecated in 16.0: Use the merge request approvals API instead.
Change approval-related configuration'
schema:
"$ref": "#/definitions/EE_API_Entities_ApprovalState"
tags:
- projects
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals
deprecated: true
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approve":
post:
description: Approve a merge request
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove"
responses:
'201':
description: Approve a merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequestApprovals"
'404':
description: Not found
'401':
description: Unauthorized
tags:
- projects
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/unapprove":
post:
description: Remove an approval from a merge request
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'201':
description: Remove an approval from a merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequestApprovals"
'404':
description: Not found
'401':
description: Unauthorized
tags:
- projects
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidUnapprove
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/reset_approvals":
put:
summary: Remove all merge request approvals
description: Clear all approvals of merge request. This feature was added in
GitLab 15.4
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Remove all merge request approvals
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: putApiV4ProjectsIdMergeRequestsMergeRequestIidResetApprovals
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approval_state":
get:
description: Get approval state of merge request
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: merge_request_iid
description: The IID of a merge request
type: integer
format: int32
required: true
responses:
'200':
description: Get approval state of merge request
schema:
"$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalState"
tags:
- projects
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidApprovalState
"/api/v4/projects/{id}/create_ci_config":
post:
description: Creates merge request for missing ci config in project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Creates merge request for missing ci config in project
tags:
- projects
operationId: postApiV4ProjectsIdCreateCiConfig
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/time_estimate":
post:
summary: Set a time estimate for a merge_request
description: Sets an estimated time of work for this merge_request.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge_request.
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate"
responses:
'201':
description: Set a time estimate for a merge_request
schema:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
'401':
description: Unauthorized
'400':
description: Bad request
'404':
description: Not found
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/reset_time_estimate":
post:
summary: Reset the time estimate for a project merge_request
description: Resets the estimated time for this merge_request to 0 seconds.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge_request.
type: integer
format: int32
required: true
responses:
'201':
description: Reset the time estimate for a project merge_request
schema:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidResetTimeEstimate
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/add_spent_time":
post:
summary: Add spent time for a merge_request
description: Adds spent time for this merge_request.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge_request.
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime"
responses:
'201':
description: Add spent time for a merge_request
schema:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/reset_spent_time":
post:
summary: Reset spent time for a merge_request
description: Resets the total spent time for this merge_request to 0 seconds.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge_request
type: integer
format: int32
required: true
responses:
'201':
description: Reset spent time for a merge_request
schema:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidResetSpentTime
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/time_stats":
get:
summary: Get time tracking stats
description: Get time tracking stats
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge_request
type: integer
format: int32
required: true
responses:
'200':
description: Get time tracking stats
schema:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidTimeStats
"/api/v4/projects/{id}/merge_requests":
get:
summary: List project merge requests
description: Get all merge requests for this project.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: author_id
description: Returns merge requests created by the given user `id`. Mutually
exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.
type: integer
format: int32
required: false
- in: query
name: author_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: string
required: false
- in: query
name: assignee_id
description: Returns merge requests assigned to the given user `id`. `None`
returns unassigned merge requests. `Any` returns merge requests with an
assignee.
type: integer
format: int32
required: false
- in: query
name: assignee_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: array
items:
type: string
required: false
- in: query
name: reviewer_username
description: Returns merge requests which have the user as a reviewer with
the given `username`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`.
Introduced in GitLab 13.8.
type: string
required: false
- in: query
name: labels
description: Returns merge requests matching a comma-separated list of labels.
`None` lists all merge requests with no labels. `Any` lists all merge requests
with at least one label. Predefined names are case-insensitive.
type: array
items:
type: string
required: false
- in: query
name: milestone
description: Returns merge requests for a specific milestone. `None` returns
merge requests with no milestone. `Any` returns merge requests that have
an assigned milestone.
type: string
required: false
- in: query
name: my_reaction_emoji
description: Returns merge requests reacted by the authenticated user by the
given `emoji`. `None` returns issues not given a reaction. `Any` returns
issues given at least one reaction.
type: string
required: false
- in: query
name: reviewer_id
description: Returns merge requests which have the user as a reviewer with
the given user `id`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.
type: integer
format: int32
required: false
- in: query
name: state
description: Returns `all` merge requests or just those that are `opened`,
`closed`, `locked`, or `merged`.
type: string
default: all
enum:
- opened
- closed
- locked
- merged
- all
required: false
- in: query
name: order_by
description: Returns merge requests ordered by `created_at`, `label_priority`,
`milestone_due`, `popularity`, `priority`, `title`, `updated_at` or `merged_at`
fields. Introduced in GitLab 14.8.
type: string
default: created_at
enum:
- created_at
- label_priority
- milestone_due
- popularity
- priority
- title
- updated_at
- merged_at
required: false
- in: query
name: sort
description: Returns merge requests sorted in `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: with_labels_details
description: 'If `true`, response returns more details for each label in labels
field: `:name`,`:color`, `:description`, `:description_html`, `:text_color`'
type: boolean
default: false
required: false
- in: query
name: with_merge_status_recheck
description: If `true`, this projection requests (but does not guarantee)
that the `merge_status` field be recalculated asynchronously. Introduced
in GitLab 13.0.
type: boolean
default: false
required: false
- in: query
name: created_after
description: Returns merge requests created on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: created_before
description: Returns merge requests created on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_after
description: Returns merge requests updated on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_before
description: Returns merge requests updated on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: view
description: If simple, returns the `iid`, URL, title, description, and basic
state of merge request
type: string
enum:
- simple
required: false
- in: query
name: scope
description: 'Returns merge requests for the given scope: `created_by_me`,
`assigned_to_me` or `all`'
type: string
enum:
- created-by-me
- assigned-to-me
- created_by_me
- assigned_to_me
- all
required: false
- in: query
name: source_branch
description: Returns merge requests with the given source branch
type: string
required: false
- in: query
name: source_project_id
description: Returns merge requests with the given source project id
type: integer
format: int32
required: false
- in: query
name: target_branch
description: Returns merge requests with the given target branch
type: string
required: false
- in: query
name: search
description: Search merge requests against their `title` and `description`.
type: string
required: false
- in: query
name: in
description: Modify the scope of the search attribute. `title`, `description`,
or a string joining them with comma.
type: string
required: false
example: title,description
- in: query
name: wip
description: Filter merge requests against their `wip` status. `yes` to return
only draft merge requests, `no` to return non-draft merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: not[author_id]
description: "`<Negated>` Returns merge requests created by the given user
`id`. Mutually exclusive with `author_username`. Combine with `scope=all`
or `scope=assigned_to_me`."
type: integer
format: int32
required: false
- in: query
name: not[author_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: string
required: false
- in: query
name: not[assignee_id]
description: "`<Negated>` Returns merge requests assigned to the given user
`id`. `None` returns unassigned merge requests. `Any` returns merge requests
with an assignee."
type: integer
format: int32
required: false
- in: query
name: not[assignee_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: array
items:
type: string
required: false
- in: query
name: not[reviewer_username]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given `username`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_id`. Introduced in GitLab 13.8."
type: string
required: false
- in: query
name: not[labels]
description: "`<Negated>` Returns merge requests matching a comma-separated
list of labels. `None` lists all merge requests with no labels. `Any` lists
all merge requests with at least one label. Predefined names are case-insensitive."
type: array
items:
type: string
required: false
- in: query
name: not[milestone]
description: "`<Negated>` Returns merge requests for a specific milestone.
`None` returns merge requests with no milestone. `Any` returns merge requests
that have an assigned milestone."
type: string
required: false
- in: query
name: not[my_reaction_emoji]
description: "`<Negated>` Returns merge requests reacted by the authenticated
user by the given `emoji`. `None` returns issues not given a reaction. `Any`
returns issues given at least one reaction."
type: string
required: false
- in: query
name: not[reviewer_id]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given user `id`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_username`."
type: integer
format: int32
required: false
- in: query
name: deployed_before
description: Returns merge requests deployed before the given date/time. Expected
in ISO 8601 format.
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: deployed_after
description: Returns merge requests deployed after the given date/time. Expected
in ISO 8601 format
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: environment
description: Returns merge requests deployed to the given environment
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: approved
description: Filters merge requests by their `approved` status. `yes` returns
only approved merge requests. `no` returns only non-approved merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: merge_user_id
description: Returns merge requests which have been merged by the user with
the given user `id`. Mutually exclusive with `merge_user_username`.
type: integer
format: int32
required: false
- in: query
name: merge_user_username
description: Returns merge requests which have been merged by the user with
the given `username`. Mutually exclusive with `merge_user_id`.
type: string
required: false
- in: query
name: approver_ids
description: Return merge requests which have specified the users with the
given IDs as an individual approver
type: string
required: false
- in: query
name: approved_by_ids
description: Return merge requests which have been approved by the specified
users with the given IDs
type: string
required: false
- in: query
name: approved_by_usernames
description: |-
Return merge requests which have been approved by the specified users with the given
usernames
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: iids
description: Returns the request having the given `iid`.
type: array
items:
type: integer
format: int32
required: false
responses:
'200':
description: List project merge requests
schema:
"$ref": "#/definitions/API_Entities_MergeRequestBasic"
'401':
description: Unauthorized
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequests
post:
summary: Create merge request
description: Create a new merge request.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- name: postApiV4ProjectsIdMergeRequests
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequests"
responses:
'201':
description: Create merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequest"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'409':
description: Conflict
'422':
description: Unprocessable entity
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequests
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}":
delete:
summary: Delete a merge request
description: 'Only for administrators and project owners. Deletes the merge
request in question. '
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge request.
type: integer
format: int32
required: true
responses:
'204':
description: Delete a merge request
'401':
description: Unauthorized
'404':
description: Not found
'412':
description: Precondition failed
tags:
- merge_requests
operationId: deleteApiV4ProjectsIdMergeRequestsMergeRequestIid
get:
summary: Get single merge request
description: 'Shows information about a single merge request. Note: the `changes_count`
value in the response is a string, not an integer. This is because when an
merge request has too many changes to display and store, it is capped at 1,000.
In that case, the API returns the string `"1000+"` for the changes count.'
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge request.
type: integer
format: int32
required: true
- in: query
name: render_html
description: If `true`, response includes rendered HTML for title and description.
type: boolean
required: false
- in: query
name: include_diverged_commits_count
description: If `true`, response includes the commits behind the target branch.
type: boolean
required: false
- in: query
name: include_rebase_in_progress
description: If `true`, response includes whether a rebase operation is in
progress.
type: boolean
required: false
responses:
'200':
description: Get single merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequest"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIid
put:
summary: Update merge request
description: Updates an existing merge request. You can change the target branch,
title, or even close the merge request.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdMergeRequestsMergeRequestIid
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdMergeRequestsMergeRequestIid"
responses:
'200':
description: Update merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequest"
'400':
description: Bad request
'404':
description: Not found
'409':
description: Conflict
'422':
description: Unprocessable entity
tags:
- merge_requests
operationId: putApiV4ProjectsIdMergeRequestsMergeRequestIid
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/participants":
get:
summary: Get single merge request participants
description: Get a list of merge request participants.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get single merge request participants
schema:
"$ref": "#/definitions/API_Entities_UserBasic"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidParticipants
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/reviewers":
get:
summary: Get single merge request reviewers
description: Get a list of merge request reviewers.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get single merge request reviewers
schema:
"$ref": "#/definitions/API_Entities_MergeRequestReviewer"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidReviewers
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/commits":
get:
summary: Get single merge request commits
description: Get a list of merge request commits.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get single merge request commits
schema:
"$ref": "#/definitions/API_Entities_Commit"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidCommits
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/context_commits":
get:
summary: List merge request context commits
description: Get a list of merge request context commits.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: List merge request context commits
schema:
"$ref": "#/definitions/API_Entities_Commit"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidContextCommits
post:
summary: Create merge request context commits
description: Create a list of merge request context commits.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidContextCommits
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidContextCommits"
responses:
'201':
description: Create merge request context commits
schema:
"$ref": "#/definitions/API_Entities_Commit"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidContextCommits
delete:
summary: Delete merge request context commits
description: Delete a list of merge request context commits.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: commits
description: The context commits SHA.
type: array
items:
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'204':
description: Delete merge request context commits
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- merge_requests
operationId: deleteApiV4ProjectsIdMergeRequestsMergeRequestIidContextCommits
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/changes":
get:
summary: Get single merge request changes
description: Shows information about the merge request including its files and
changes.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: unidiff
description: A diff in a Unified diff format
type: boolean
default: false
required: false
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get single merge request changes
schema:
"$ref": "#/definitions/API_Entities_MergeRequestChanges"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidChanges
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/diffs":
get:
summary: Get the merge request diffs
description: Get a list of merge request diffs.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: unidiff
description: A diff in a Unified diff format
type: boolean
default: false
required: false
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get the merge request diffs
schema:
"$ref": "#/definitions/API_Entities_Diff"
'403':
description: Forbidden
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidDiffs
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/raw_diffs":
get:
summary: Get the merge request raw diffs
description: Get the raw diffs of a merge request that can used programmatically.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get the merge request raw diffs
'403':
description: Forbidden
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidRawDiffs
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/pipelines":
get:
summary: Get single merge request pipelines
description: Get a list of merge request pipelines.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Get single merge request pipelines
schema:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines
post:
summary: Create merge request pipeline
description: 'Create a new pipeline for a merge request. A pipeline created
via this endpoint doesnt run a regular branch/tag pipeline. It requires `.gitlab-ci.yml`
to be configured with `only: [merge_requests]` to create jobs.'
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines"
responses:
'201':
description: Create merge request pipeline
schema:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
'400':
description: Bad request
'404':
description: Not found
'405':
description: Method not allowed
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/merge":
put:
summary: Merge a merge request
description: Accept and merge changes submitted with the merge request using
this API.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge"
responses:
'200':
description: Merge a merge request
schema:
"$ref": "#/definitions/API_Entities_MergeRequest"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'405':
description: Method not allowed
'409':
description: Conflict
'422':
description: Unprocessable entity
tags:
- merge_requests
operationId: putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/merge_ref":
get:
summary: Returns the up to date merge-ref HEAD commit
description: Returns the up to date merge-ref HEAD commit
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: Returns the up to date merge-ref HEAD commit
'400':
description: Bad request
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidMergeRef
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/cancel_merge_when_pipeline_succeeds":
post:
summary: Cancel Merge When Pipeline Succeeds
description: Cancel merge if "Merge When Pipeline Succeeds" is enabled
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'201':
description: Cancel Merge When Pipeline Succeeds
schema:
"$ref": "#/definitions/API_Entities_MergeRequest"
'401':
description: Unauthorized
'404':
description: Not found
'405':
description: Method not allowed
'406':
description: Not acceptable
tags:
- merge_requests
operationId: postApiV4ProjectsIdMergeRequestsMergeRequestIidCancelMergeWhenPipelineSucceeds
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/rebase":
put:
summary: Rebase a merge request
description: Automatically rebase the `source_branch` of the merge request against
its `target_branch`. This feature was added in GitLab 11.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdMergeRequestsMergeRequestIidRebase
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdMergeRequestsMergeRequestIidRebase"
responses:
'200':
description: Rebase a merge request
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
tags:
- merge_requests
operationId: putApiV4ProjectsIdMergeRequestsMergeRequestIidRebase
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/closes_issues":
get:
summary: List issues that close on merge
description: Get all the issues that would be closed by merging the provided
merge request.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: List issues that close on merge
schema:
"$ref": "#/definitions/API_Entities_MRNote"
'403':
description: Forbidden
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidClosesIssues
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/related_issues":
get:
summary: List issues related to merge request
description: Get all the related issues from title, description, commits, comments
and discussions of the merge request.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project.
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: merge_request_iid
type: integer
format: int32
required: true
responses:
'200':
description: List issues related to merge request
'403':
description: Forbidden
'404':
description: Not found
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidRelatedIssues
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/versions":
get:
summary: Get a list of merge request diff versions
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge request
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a list of merge request diff versions
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_MergeRequestDiff"
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidVersions
"/api/v4/projects/{id}/merge_requests/{merge_request_iid}/versions/{version_id}":
get:
summary: Get a single merge request diff version
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: merge_request_iid
description: The internal ID of the merge request
type: integer
format: int32
required: true
- in: path
name: version_id
description: The ID of the merge request diff version
type: integer
format: int32
required: true
- in: query
name: unidiff
description: A diff in a Unified diff format
type: boolean
default: false
required: false
responses:
'200':
description: Get a single merge request diff version
schema:
"$ref": "#/definitions/API_Entities_MergeRequestDiffFull"
tags:
- merge_requests
operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidVersionsVersionId
"/api/v4/projects/{id}/packages/ml_models/{model_version_id}/files/(*path/){file_name}/authorize":
put:
summary: Workhorse authorize model package file
description: Introduced in GitLab 16.8
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: File name
type: string
required: true
- in: path
name: model_version_id
description: Model version id
type: string
required: true
- name: putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileNameAuthorize
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileNameAuthorize"
responses:
'200':
description: Workhorse authorize model package file
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- ml_model_registry
operationId: putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileNameAuthorize
"/api/v4/projects/{id}/packages/ml_models/{model_version_id}/files/(*path/){file_name}":
put:
summary: Workhorse upload model package file
description: Introduced in GitLab 16.8
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: File name
type: string
required: true
- in: path
name: model_version_id
description: Model version id
type: string
required: true
- name: putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName"
responses:
'201':
description: Workhorse upload model package file
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- ml_model_registry
operationId: putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName
get:
summary: Download an ml_model package file
description: This feature was introduced in GitLab 16.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_name
description: File name
type: string
required: true
- in: query
name: path
description: File directory path
type: string
required: false
- in: query
name: status
description: Package status
type: string
enum:
- default
- hidden
required: false
- in: path
name: model_version_id
description: Model version id
type: string
required: true
responses:
'200':
description: Download an ml_model package file
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- ml_model_registry
operationId: getApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName
"/api/v4/projects/{id}/packages/npm/-/package/*package_name/dist-tags":
get:
summary: Get all tags for a given an NPM package
description: This feature was introduced in GitLab 12.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
responses:
'200':
description: Get all tags for a given an NPM package
schema:
"$ref": "#/definitions/API_Entities_NpmPackageTag"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4ProjectsIdPackagesNpmPackage*packageNameDistTags
"/api/v4/projects/{id}/packages/npm/-/package/*package_name/dist-tags/{tag}":
put:
summary: Create or Update the given tag for the given NPM package and version
description: This feature was introduced in GitLab 12.7
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag
description: Package dist-tag
type: string
required: true
- name: putApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag"
responses:
'204':
description: Create or Update the given tag for the given NPM package and
version
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: putApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag
delete:
summary: Deletes the given tag
description: This feature was introduced in GitLab 12.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
- in: path
name: tag
description: Package dist-tag
type: string
required: true
responses:
'204':
description: Deletes the given tag
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: deleteApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag
"/api/v4/projects/{id}/packages/npm/-/npm/v1/security/advisories/bulk":
post:
summary: NPM registry bulk advisory endpoint
description: This feature was introduced in GitLab 15.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Ok
'307':
description: Temporary Redirect
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: postApiV4ProjectsIdPackagesNpmNpmV1SecurityAdvisoriesBulk
"/api/v4/projects/{id}/packages/npm/-/npm/v1/security/audits/quick":
post:
summary: NPM registry quick audit endpoint
description: This feature was introduced in GitLab 15.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Ok
'307':
description: Temporary Redirect
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: postApiV4ProjectsIdPackagesNpmNpmV1SecurityAuditsQuick
"/api/v4/projects/{id}/packages/npm/*package_name/-/*file_name":
get:
summary: Download the NPM tarball
description: This feature was introduced in GitLab 11.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
- in: query
name: file_name
description: Package file name
type: string
required: true
responses:
'200':
description: Download the NPM tarball
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4ProjectsIdPackagesNpm*packageName-*fileName
"/api/v4/projects/{id}/packages/npm/{package_name}":
put:
summary: Create or deprecate NPM package
description: Create was introduced in GitLab 11.8 & deprecate suppport was added
in 16.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_name
description: Package name
type: string
required: true
- name: putApiV4ProjectsIdPackagesNpmPackageName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesNpmPackageName"
responses:
'200':
description: Create or deprecate NPM package
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: putApiV4ProjectsIdPackagesNpmPackageName
"/api/v4/projects/{id}/packages/npm/*package_name":
get:
summary: NPM registry metadata endpoint
description: This feature was introduced in GitLab 11.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: Package name
type: string
required: true
example: mypackage
responses:
'200':
description: Ok
schema:
"$ref": "#/definitions/API_Entities_NpmPackage"
'302':
description: Found (redirect)
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4ProjectsIdPackagesNpm*packageName
"/api/v4/projects/{id}/packages/nuget/index":
get:
summary: The NuGet V3 Feed Service Index
description: This feature was introduced in GitLab 12.6
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The NuGet V3 Feed Service Index
schema:
"$ref": "#/definitions/API_Entities_Nuget_ServiceIndex"
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetIndex
"/api/v4/projects/{id}/packages/nuget/symbolfiles/*file_name/*signature/*same_file_name":
get:
summary: The NuGet Symbol File Download Endpoint
description: This feature was introduced in GitLab 16.7
produces:
- application/json
parameters:
- in: header
name: Symbolchecksum
type: string
required: true
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: file_name
description: The symbol file name
type: string
required: true
example: mynugetpkg.pdb
- in: query
name: signature
description: The symbol file signature
type: string
required: true
example: k813f89485474661234z7109cve5709eFFFFFFFF
- in: query
name: same_file_name
type: string
required: true
responses:
'200':
description: The NuGet Symbol File Download Endpoint
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetSymbolfiles*fileName*signature*sameFileName
"/api/v4/projects/{id}/packages/nuget/v2":
get:
summary: The NuGet V2 Feed Service Index
description: This feature was introduced in GitLab 16.2
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The NuGet V2 Feed Service Index
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetV2
put:
summary: The NuGet V2 Feed Package Publish endpoint
description: This feature was introduced in GitLab 16.2
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: putApiV4ProjectsIdPackagesNugetV2
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesNugetV2"
responses:
'201':
description: The NuGet V2 Feed Package Publish endpoint
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: putApiV4ProjectsIdPackagesNugetV2
"/api/v4/projects/{id}/packages/nuget/v2/$metadata":
get:
summary: The NuGet V2 Feed Package $metadata endpoint
description: This feature was introduced in GitLab 16.3
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The NuGet V2 Feed Package $metadata endpoint
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetV2$metadata
"/api/v4/projects/{id}/packages/nuget/metadata/*package_name/index":
get:
summary: The NuGet Metadata Service - Package name level
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: MyNuGetPkg
responses:
'200':
description: The NuGet Metadata Service - Package name level
schema:
"$ref": "#/definitions/API_Entities_Nuget_PackagesMetadata"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetMetadata*packageNameIndex
"/api/v4/projects/{id}/packages/nuget/metadata/*package_name/*package_version":
get:
summary: The NuGet Metadata Service - Package name and version level
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: MyNuGetPkg
- in: query
name: package_version
description: The NuGet package version
type: string
required: true
example: 1.0.0
responses:
'200':
description: The NuGet Metadata Service - Package name and version level
schema:
"$ref": "#/definitions/API_Entities_Nuget_PackageMetadata"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetMetadata*packageName*packageVersion
"/api/v4/projects/{id}/packages/nuget/query":
get:
summary: The NuGet Search Service
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: q
description: The search term
type: string
required: false
example: MyNuGet
- in: query
name: skip
description: The number of results to skip
type: integer
format: int32
default: 0
required: false
example: 1
- in: query
name: take
description: The number of results to return
type: integer
format: int32
default: 20
required: false
example: 1
- in: query
name: prerelease
description: Include prerelease versions
type: boolean
default: true
required: false
responses:
'200':
description: The NuGet Search Service
schema:
"$ref": "#/definitions/API_Entities_Nuget_SearchResults"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetQuery
"/api/v4/projects/{id}/packages/nuget/download/*package_name/index":
get:
summary: The NuGet Content Service - index request
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: mynugetpkg.1.3.0.17.nupkg
responses:
'200':
description: The NuGet Content Service - index request
schema:
"$ref": "#/definitions/API_Entities_Nuget_PackagesVersions"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetDownload*packageNameIndex
"/api/v4/projects/{id}/packages/nuget/download/*package_name/*package_version/*package_filename":
get:
summary: The NuGet Content Service - content request
description: This feature was introduced in GitLab 12.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: mynugetpkg.1.3.0.17.nupkg
- in: query
name: package_version
description: The NuGet package version
type: string
required: true
example: 1.3.0.17
- in: query
name: package_filename
description: The NuGet package filename
type: string
required: true
example: mynugetpkg.1.3.0.17.nupkg
responses:
'200':
description: The NuGet Content Service - content request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: getApiV4ProjectsIdPackagesNugetDownload*packageName*packageVersion*packageFilename
"/api/v4/projects/{id}/packages/nuget":
put:
summary: The NuGet V3 Feed Package Publish endpoint
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: putApiV4ProjectsIdPackagesNuget
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesNuget"
responses:
'201':
description: The NuGet V3 Feed Package Publish endpoint
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: putApiV4ProjectsIdPackagesNuget
"/api/v4/projects/{id}/packages/nuget/authorize":
put:
summary: The NuGet Package Authorize endpoint
description: This feature was introduced in GitLab 14.1
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The NuGet Package Authorize endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: putApiV4ProjectsIdPackagesNugetAuthorize
"/api/v4/projects/{id}/packages/nuget/symbolpackage":
put:
summary: The NuGet Symbol Package Publish endpoint
description: This feature was introduced in GitLab 14.1
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: putApiV4ProjectsIdPackagesNugetSymbolpackage
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesNugetSymbolpackage"
responses:
'201':
description: The NuGet Symbol Package Publish endpoint
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: putApiV4ProjectsIdPackagesNugetSymbolpackage
"/api/v4/projects/{id}/packages/nuget/symbolpackage/authorize":
put:
summary: The NuGet Symbol Package Authorize endpoint
description: This feature was introduced in GitLab 14.1
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The NuGet Symbol Package Authorize endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: putApiV4ProjectsIdPackagesNugetSymbolpackageAuthorize
"/api/v4/projects/{id}/packages/nuget/*package_name/*package_version":
delete:
summary: The NuGet Package Delete endpoint
description: This feature was introduced in GitLab 16.5
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: mynugetpkg
- in: query
name: package_version
description: The NuGet package version
type: string
required: true
example: 1.0.1
responses:
'204':
description: The NuGet Package Delete endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: deleteApiV4ProjectsIdPackagesNuget*packageName*packageVersion
"/api/v4/projects/{id}/packages/nuget/v2/authorize":
put:
summary: The NuGet V2 Feed Package Authorize endpoint
description: This feature was introduced in GitLab 16.2
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The NuGet V2 Feed Package Authorize endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- nuget_packages
operationId: putApiV4ProjectsIdPackagesNugetV2Authorize
"/api/v4/projects/{project_id}/packages/nuget/v2/FindPackagesById\\(\\)":
get:
summary: The NuGet V2 Feed Find Packages by ID endpoint
description: This feature was introduced in GitLab 16.4
produces:
- application/json
parameters:
- in: path
name: project_id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: id
description: The NuGet package name
type: string
required: true
example: mynugetpkg
responses:
'200':
description: The NuGet V2 Feed Find Packages by ID endpoint
'404':
description: Not Found
'400':
description: Bad Request
tags:
- nuget_packages
operationId: getApiV4ProjectsProjectIdPackagesNugetV2Findpackagesbyid\(\)
"/api/v4/projects/{project_id}/packages/nuget/v2/Packages\\(\\)":
get:
summary: The NuGet V2 Feed Enumerate Packages endpoint
description: This feature was introduced in GitLab 16.4
produces:
- application/json
parameters:
- in: path
name: project_id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: "$filter"
description: The NuGet package name
type: string
required: true
example: mynugetpkg
responses:
'200':
description: The NuGet V2 Feed Enumerate Packages endpoint
'404':
description: Not Found
'400':
description: Bad Request
tags:
- nuget_packages
operationId: getApiV4ProjectsProjectIdPackagesNugetV2Packages\(\)
"/api/v4/projects/{project_id}/packages/nuget/v2/Packages\\(Id='*package_name',Version='*package_version'\\)":
get:
summary: The NuGet V2 Feed Single Package Metadata endpoint
description: This feature was introduced in GitLab 16.4
produces:
- application/json
parameters:
- in: path
name: project_id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The NuGet package name
type: string
required: true
example: mynugetpkg
- in: query
name: package_version
description: The NuGet package version
type: string
required: true
example: 1.3.0.17
responses:
'200':
description: The NuGet V2 Feed Single Package Metadata endpoint
'404':
description: Not Found
'400':
description: Bad Request
tags:
- nuget_packages
operationId: getApiV4ProjectsProjectIdPackagesNugetV2Packages\(id='*packageName',version='*packageVersion'\)
"/api/v4/projects/{id}/packages/{package_id}/package_files":
get:
summary: List package files
description: Get a list of package files of a single package
produces:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_id
description: ID of a package
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: order_by
description: Return package files ordered by `id`, `created_at` or `file_name`
type: string
default: id
enum:
- id
- created_at
- file_name
required: false
- in: query
name: sort
description: Return package files sorted in `asc` or `desc` order.
type: string
default: asc
enum:
- asc
- desc
required: false
responses:
'200':
description: List package files
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_PackageFile"
tags:
- package_files
operationId: getApiV4ProjectsIdPackagesPackageIdPackageFiles
"/api/v4/projects/{id}/packages/{package_id}/package_files/{package_file_id}":
delete:
summary: Delete a package file
description: This feature was introduced in GitLab 13.12
produces:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_id
description: ID of a package
type: integer
format: int32
required: true
- in: path
name: package_file_id
description: ID of a package file
type: integer
format: int32
required: true
responses:
'204':
description: Delete a package file
'403':
description: Forbidden
'404':
description: Not found
tags:
- package_files
operationId: deleteApiV4ProjectsIdPackagesPackageIdPackageFilesPackageFileId
"/api/v4/projects/{id}/pages":
delete:
summary: Unpublish pages
description: Remove pages. The user must have administrator access. This feature
was introduced in GitLab 12.6
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'204':
description: Unpublish pages
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pages
operationId: deleteApiV4ProjectsIdPages
patch:
summary: Update pages settings
description: Update page settings for a project. User must have administrative
access.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: patchApiV4ProjectsIdPages
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4ProjectsIdPages"
responses:
'200':
description: Update pages settings
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pages
operationId: patchApiV4ProjectsIdPages
get:
summary: Get pages settings
description: Get pages URL and other settings. This feature was introduced in
Gitlab 16.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
responses:
'200':
description: Get pages settings
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- pages
operationId: getApiV4ProjectsIdPages
"/api/v4/projects/{id}/pages/domains":
get:
description: Get all pages domains
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all pages domains
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_PagesDomain"
tags:
- pages_domains
operationId: getApiV4ProjectsIdPagesDomains
post:
description: Create a new pages domain
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- name: postApiV4ProjectsIdPagesDomains
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPagesDomains"
responses:
'201':
description: Create a new pages domain
schema:
"$ref": "#/definitions/API_Entities_PagesDomain"
tags:
- projects
operationId: postApiV4ProjectsIdPagesDomains
"/api/v4/projects/{id}/pages/domains/{domain}":
get:
description: Get a single pages domain
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: domain
description: The domain
type: string
required: true
responses:
'200':
description: Get a single pages domain
schema:
"$ref": "#/definitions/API_Entities_PagesDomain"
tags:
- projects
operationId: getApiV4ProjectsIdPagesDomainsDomain
put:
description: Updates a pages domain
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: domain
description: The domain
type: string
required: true
- name: putApiV4ProjectsIdPagesDomainsDomain
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPagesDomainsDomain"
responses:
'200':
description: Updates a pages domain
tags:
- projects
operationId: putApiV4ProjectsIdPagesDomainsDomain
delete:
description: Delete a pages domain
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: domain
description: The domain
type: string
required: true
responses:
'204':
description: Delete a pages domain
tags:
- projects
operationId: deleteApiV4ProjectsIdPagesDomainsDomain
"/api/v4/projects/{id}/pages/domains/{domain}/verify":
put:
description: Verify a pages domain
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project owned by the authenticated
user
type: string
required: true
- in: path
name: domain
description: The domain to verify
type: string
required: true
responses:
'200':
description: Verify a pages domain
schema:
"$ref": "#/definitions/API_Entities_PagesDomain"
tags:
- projects
operationId: putApiV4ProjectsIdPagesDomainsDomainVerify
"/api/v4/projects/{id}/avatar":
get:
summary: Download a project avatar
description: This feature was introduced in GitLab 16.9
produces:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Download a project avatar
tags:
- project_avatar
operationId: getApiV4ProjectsIdAvatar
"/api/v4/projects/{id}/clusters":
get:
summary: List project clusters
description: This feature was introduced in GitLab 11.7. Returns a list of project
clusters.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List project clusters
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Cluster"
'403':
description: Forbidden
tags:
- clusters
operationId: getApiV4ProjectsIdClusters
"/api/v4/projects/{id}/clusters/{cluster_id}":
get:
summary: Get a single project cluster
description: This feature was introduced in GitLab 11.7. Gets a single project
cluster.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
responses:
'200':
description: Get a single project cluster
schema:
"$ref": "#/definitions/API_Entities_ClusterProject"
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: getApiV4ProjectsIdClustersClusterId
put:
summary: Edit project cluster
description: This feature was introduced in GitLab 11.7. Updates an existing
project cluster.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdClustersClusterId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdClustersClusterId"
responses:
'200':
description: Edit project cluster
schema:
"$ref": "#/definitions/API_Entities_ClusterProject"
'400':
description: Validation error
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: putApiV4ProjectsIdClustersClusterId
delete:
summary: Delete project cluster
description: This feature was introduced in GitLab 11.7. Deletes an existing
project cluster. Does not remove existing resources within the connected Kubernetes
cluster.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: cluster_id
description: The Cluster ID
type: integer
format: int32
required: true
responses:
'403':
description: Forbidden
'204':
description: Delete project cluster
schema:
"$ref": "#/definitions/API_Entities_ClusterProject"
'404':
description: Not found
tags:
- clusters
operationId: deleteApiV4ProjectsIdClustersClusterId
"/api/v4/projects/{id}/clusters/user":
post:
summary: Add existing cluster to project
description: This feature was introduced in GitLab 11.7. Adds an existing Kubernetes
cluster to the project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdClustersUser
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdClustersUser"
responses:
'201':
description: Add existing cluster to project
schema:
"$ref": "#/definitions/API_Entities_ClusterProject"
'400':
description: Validation error
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: postApiV4ProjectsIdClustersUser
"/api/v4/projects/{id}/registry/repositories":
get:
summary: List container repositories within a project
description: This feature was introduced in GitLab 11.8.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: tags
description: Determines if tags should be included
type: boolean
default: false
required: false
- in: query
name: tags_count
description: Determines if the tags count should be included
type: boolean
default: false
required: false
responses:
'200':
description: List container repositories within a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ContainerRegistry_Repository"
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- container_registry
operationId: getApiV4ProjectsIdRegistryRepositories
"/api/v4/projects/{id}/registry/repositories/{repository_id}":
delete:
summary: Delete repository
description: This feature was introduced in GitLab 11.8.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: repository_id
description: The ID of the repository
type: integer
format: int32
required: true
responses:
'204':
description: Success
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- container_registry
operationId: deleteApiV4ProjectsIdRegistryRepositoriesRepositoryId
"/api/v4/projects/{id}/registry/repositories/{repository_id}/tags":
get:
summary: List tags of a repository
description: This feature was introduced in GitLab 11.8.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: repository_id
description: The ID of the repository
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List tags of a repository
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ContainerRegistry_Tag"
'401':
description: Unauthorized
'404':
description: Not Found
'405':
description: Method Not Allowed
tags:
- container_registry
operationId: getApiV4ProjectsIdRegistryRepositoriesRepositoryIdTags
delete:
summary: Delete repository tags (in bulk)
description: This feature was introduced in GitLab 11.8.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: repository_id
description: The ID of the repository
type: integer
format: int32
required: true
- in: query
name: name_regex_delete
description: The tag name regexp to delete, specify .* to delete all
type: string
required: false
- in: query
name: name_regex
description: The tag name regexp to delete, specify .* to delete all
type: string
required: false
- in: query
name: name_regex_keep
description: The tag name regexp to retain
type: string
required: false
- in: query
name: keep_n
description: Keep n of latest tags with matching name
type: integer
format: int32
required: false
- in: query
name: older_than
description: 'Delete older than: 1h, 1d, 1month'
type: string
required: false
responses:
'204':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- container_registry
operationId: deleteApiV4ProjectsIdRegistryRepositoriesRepositoryIdTags
"/api/v4/projects/{id}/registry/repositories/{repository_id}/tags/{tag_name}":
get:
summary: Get details about a repository tag
description: This feature was introduced in GitLab 11.8.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: repository_id
description: The ID of the repository
type: integer
format: int32
required: true
- in: path
name: tag_name
description: The name of the tag
type: string
required: true
responses:
'200':
description: Get details about a repository tag
schema:
"$ref": "#/definitions/API_Entities_ContainerRegistry_TagDetails"
'400':
description: Bad Request
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- container_registry
operationId: getApiV4ProjectsIdRegistryRepositoriesRepositoryIdTagsTagName
delete:
summary: Delete repository tag
description: This feature was introduced in GitLab 11.8.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: repository_id
description: The ID of the repository
type: integer
format: int32
required: true
- in: path
name: tag_name
description: The name of the tag
type: string
required: true
responses:
'204':
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- container_registry
operationId: deleteApiV4ProjectsIdRegistryRepositoriesRepositoryIdTagsTagName
"/api/v4/projects/{id}/registry/protection/repository/rules":
get:
description: Get list of container registry protection rules for a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get list of container registry protection rules for a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Projects_ContainerRegistry_Protection_Rule"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- projects
operationId: getApiV4ProjectsIdRegistryProtectionRepositoryRules
post:
description: Create a container protection rule for a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdRegistryProtectionRepositoryRules
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRegistryProtectionRepositoryRules"
responses:
'201':
description: Create a container protection rule for a project
schema:
"$ref": "#/definitions/API_Entities_Projects_ContainerRegistry_Protection_Rule"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
tags:
- projects
operationId: postApiV4ProjectsIdRegistryProtectionRepositoryRules
"/api/v4/projects/{id}/registry/protection/repository/rules/{protection_rule_id}":
patch:
description: Update a container protection rule for a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: protection_rule_id
description: The ID of the container protection rule
type: integer
format: int32
required: true
- name: patchApiV4ProjectsIdRegistryProtectionRepositoryRulesProtectionRuleId
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4ProjectsIdRegistryProtectionRepositoryRulesProtectionRuleId"
responses:
'200':
description: Update a container protection rule for a project
schema:
"$ref": "#/definitions/API_Entities_Projects_ContainerRegistry_Protection_Rule"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
tags:
- projects
operationId: patchApiV4ProjectsIdRegistryProtectionRepositoryRulesProtectionRuleId
delete:
description: Delete container protection rule
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: protection_rule_id
description: The ID of the container protection rule
type: integer
format: int32
required: true
responses:
'204':
description: 204 No Content
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- projects
operationId: deleteApiV4ProjectsIdRegistryProtectionRepositoryRulesProtectionRuleId
"/api/v4/projects/{id}/debian_distributions":
post:
summary: Create a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdDebianDistributions
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdDebianDistributions"
responses:
'201':
description: Create a Debian Distribution
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: postApiV4ProjectsIdDebianDistributions
get:
summary: Get a list of Debian Distributions
description: This feature was introduced in 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: codename
description: The Debian Codename
type: string
required: false
example: sid
- in: query
name: suite
description: The Debian Suite
type: string
required: false
example: unstable
- in: query
name: origin
description: The Debian Origin
type: string
required: false
example: Grep
- in: query
name: label
description: The Debian Label
type: string
required: false
example: grep.be
- in: query
name: version
description: The Debian Version
type: string
required: false
example: '12'
- in: query
name: description
description: The Debian Description
type: string
required: false
example: My description
- in: query
name: valid_time_duration_seconds
description: The duration before the Release file should be considered expired
by the client
type: integer
format: int32
required: false
example: 604800
- in: query
name: components
description: The list of Components
type: array
items:
type: string
required: false
example: main
- in: query
name: architectures
description: The list of Architectures
type: array
items:
type: string
required: false
example: amd64
responses:
'200':
description: Get a list of Debian Distributions
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: getApiV4ProjectsIdDebianDistributions
"/api/v4/projects/{id}/debian_distributions/{codename}":
get:
summary: Get a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
responses:
'200':
description: Get a Debian Distribution
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: getApiV4ProjectsIdDebianDistributionsCodename
put:
summary: Update a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
- name: putApiV4ProjectsIdDebianDistributionsCodename
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdDebianDistributionsCodename"
responses:
'200':
description: Update a Debian Distribution
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: putApiV4ProjectsIdDebianDistributionsCodename
delete:
summary: Delete a Debian Distribution
description: This feature was introduced in 14.0
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
- in: query
name: suite
description: The Debian Suite
type: string
required: false
example: unstable
- in: query
name: origin
description: The Debian Origin
type: string
required: false
example: Grep
- in: query
name: label
description: The Debian Label
type: string
required: false
example: grep.be
- in: query
name: version
description: The Debian Version
type: string
required: false
example: '12'
- in: query
name: description
description: The Debian Description
type: string
required: false
example: My description
- in: query
name: valid_time_duration_seconds
description: The duration before the Release file should be considered expired
by the client
type: integer
format: int32
required: false
example: 604800
- in: query
name: components
description: The list of Components
type: array
items:
type: string
required: false
example: main
- in: query
name: architectures
description: The list of Architectures
type: array
items:
type: string
required: false
example: amd64
responses:
'202':
description: Delete a Debian Distribution
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: deleteApiV4ProjectsIdDebianDistributionsCodename
"/api/v4/projects/{id}/debian_distributions/{codename}/key.asc":
get:
summary: Get a Debian Distribution Key
description: This feature was introduced in 14.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: codename
description: The Debian Codename
type: string
required: true
example: sid
responses:
'200':
description: Get a Debian Distribution Key
schema:
"$ref": "#/definitions/API_Entities_Packages_Debian_Distribution"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- debian_distribution
operationId: getApiV4ProjectsIdDebianDistributionsCodenameKeyAsc
"/api/v4/projects/{id}/events":
get:
description: List a project's visible events
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: action
description: Event action to filter on
type: string
required: false
- in: query
name: target_type
description: Event target type to filter on
type: string
enum:
- issue
- milestone
- merge_request
- note
- project
- snippet
- user
- wiki
- design
required: false
- in: query
name: before
description: Include only events created before this date
type: string
format: date
required: false
- in: query
name: after
description: Include only events created after this date
type: string
format: date
required: false
- in: query
name: sort
description: Return events sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List a project's visible events
schema:
"$ref": "#/definitions/API_Entities_Event"
tags:
- projects
operationId: getApiV4ProjectsIdEvents
"/api/v4/projects/{id}/export":
get:
summary: Get export status
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get export status
schema:
"$ref": "#/definitions/API_Entities_ProjectExportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_export
operationId: getApiV4ProjectsIdExport
post:
summary: Start export
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdExport
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdExport"
responses:
'202':
description: Start export
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'429':
description: Too many requests
'503':
description: Service unavailable
tags:
- project_export
operationId: postApiV4ProjectsIdExport
"/api/v4/projects/{id}/export/download":
get:
summary: Download export
description: This feature was introduced in GitLab 10.6.
produces:
- application/octet-stream
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Download export
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_export
operationId: getApiV4ProjectsIdExportDownload
"/api/v4/projects/{id}/export_relations":
post:
summary: Start relations export
description: This feature was introduced in GitLab 14.4
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdExportRelations
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdExportRelations"
responses:
'202':
description: Start relations export
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_export
operationId: postApiV4ProjectsIdExportRelations
"/api/v4/projects/{id}/export_relations/download":
get:
summary: Download relations export
description: This feature was introduced in GitLab 14.4
produces:
- application/octet-stream
- application/gzip
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: relation
description: Project relation name
type: string
required: true
- in: query
name: batched
description: Whether to download in batches
type: boolean
required: false
- in: query
name: batch_number
description: Batch number to download
type: integer
format: int32
required: false
responses:
'200':
description: Download relations export
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'500':
description: Internal Server Error
'503':
description: Service unavailable
tags:
- project_export
operationId: getApiV4ProjectsIdExportRelationsDownload
"/api/v4/projects/{id}/export_relations/status":
get:
summary: Relations export status
description: This feature was introduced in GitLab 14.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: relation
description: Project relation name
type: string
required: false
responses:
'200':
description: Relations export status
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BulkImports_ExportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_export
operationId: getApiV4ProjectsIdExportRelationsStatus
"/api/v4/projects/{id}/hooks/{hook_id}/url_variables/{key}":
put:
description: Set a url variable
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the variable
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdHooksHookIdUrlVariablesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdHooksHookIdUrlVariablesKey"
responses:
'200':
description: Set a url variable
tags:
- projects
operationId: putApiV4ProjectsIdHooksHookIdUrlVariablesKey
delete:
description: Un-Set a url variable
produces:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the variable
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Un-Set a url variable
tags:
- projects
operationId: deleteApiV4ProjectsIdHooksHookIdUrlVariablesKey
"/api/v4/projects/{id}/hooks/{hook_id}/custom_headers/{key}":
put:
description: Set a custom header
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the custom header
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdHooksHookIdCustomHeadersKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdHooksHookIdCustomHeadersKey"
responses:
'200':
description: Set a custom header
tags:
- projects
operationId: putApiV4ProjectsIdHooksHookIdCustomHeadersKey
delete:
description: Un-Set a custom header
produces:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the custom header
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Un-Set a custom header
tags:
- projects
operationId: deleteApiV4ProjectsIdHooksHookIdCustomHeadersKey
"/api/v4/projects/{id}/hooks":
get:
summary: List project hooks
description: Get a list of project hooks
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List project hooks
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ProjectHook"
tags:
- project_hooks
operationId: getApiV4ProjectsIdHooks
post:
summary: Add project hook
description: Adds a hook to a specified project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdHooks
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdHooks"
responses:
'201':
description: Add project hook
schema:
"$ref": "#/definitions/API_Entities_ProjectHook"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- project_hooks
operationId: postApiV4ProjectsIdHooks
"/api/v4/projects/{id}/hooks/{hook_id}":
get:
summary: Get project hook
description: Get a specific hook for a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: hook_id
description: The ID of a project hook
type: integer
format: int32
required: true
responses:
'200':
description: Get project hook
schema:
"$ref": "#/definitions/API_Entities_ProjectHook"
'404':
description: Not found
tags:
- project_hooks
operationId: getApiV4ProjectsIdHooksHookId
put:
summary: Edit project hook
description: Edits a hook for a specified project.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: hook_id
description: The ID of the project hook
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdHooksHookId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdHooksHookId"
responses:
'200':
description: Edit project hook
schema:
"$ref": "#/definitions/API_Entities_ProjectHook"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- project_hooks
operationId: putApiV4ProjectsIdHooksHookId
delete:
summary: Delete a project hook
description: Removes a hook from a project. This is an idempotent method and
can be called multiple times. Either the hook is available or not.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: hook_id
description: The ID of the project hook
type: integer
format: int32
required: true
responses:
'204':
description: Not found
tags:
- project_hooks
operationId: deleteApiV4ProjectsIdHooksHookId
"/api/v4/projects/{id}/hooks/{hook_id}/events":
get:
summary: Get events for a given hook id
description: List web hook logs by hook id
produces:
- application/json
parameters:
- in: query
name: status
type: array
items:
type: string
enum:
- '100'
- '101'
- '102'
- '103'
- '200'
- '201'
- '202'
- '203'
- '204'
- '205'
- '206'
- '207'
- '208'
- '226'
- '300'
- '301'
- '302'
- '303'
- '304'
- '305'
- '306'
- '307'
- '308'
- '400'
- '401'
- '402'
- '403'
- '404'
- '405'
- '406'
- '407'
- '408'
- '409'
- '410'
- '411'
- '412'
- '413'
- '414'
- '415'
- '416'
- '417'
- '421'
- '422'
- '423'
- '424'
- '425'
- '426'
- '428'
- '429'
- '431'
- '451'
- '500'
- '501'
- '502'
- '503'
- '504'
- '505'
- '506'
- '507'
- '508'
- '509'
- '510'
- '511'
- successful
- client_failure
- server_failure
required: false
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
minimum: 1
maximum: 20
required: false
example: 20
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: hook_id
type: integer
format: int32
required: true
responses:
'200':
description: Get events for a given hook id
'400':
description: Bad request
'404':
description: Not found
'403':
description: Forbidden
tags:
- projects
operationId: getApiV4ProjectsIdHooksHookIdEvents
"/api/v4/projects/{id}/hooks/{hook_id}/test/{trigger}":
post:
summary: Triggers a hook test
description: Triggers a hook test
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: trigger
description: The type of trigger hook
type: string
enum:
- confidential_issues_events
- confidential_note_events
- deployment_events
- emoji_events
- feature_flag_events
- issues_events
- job_events
- merge_requests_events
- milestone_events
- note_events
- pipeline_events
- push_events
- releases_events
- resource_access_token_events
- tag_push_events
- wiki_page_events
- vulnerability_events
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Triggers a hook test
'400':
description: Bad request
'404':
description: Not found
'422':
description: Unprocessable entity
'429':
description: Too many requests
tags:
- projects
operationId: postApiV4ProjectsIdHooksHookIdTestTrigger
"/api/v4/projects/{id}/hooks/{hook_id}/events/{hook_log_id}/resend":
post:
summary: Resend a webhook event
description: Resend a webhook event
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: hook_id
type: integer
format: int32
required: true
- in: path
name: hook_log_id
type: integer
format: int32
required: true
responses:
'201':
description: Resend a webhook event
'422':
description: Unprocessable entity
'404':
description: Not found
'429':
description: Too many requests
tags:
- projects
operationId: postApiV4ProjectsIdHooksHookIdEventsHookLogIdResend
"/api/v4/projects/import/authorize":
post:
summary: Workhorse authorize the project import upload
description: This feature was introduced in GitLab 12.9
produces:
- application/json
consumes:
- application/json
responses:
'201':
description: Workhorse authorize the project import upload
tags:
- project_import
operationId: postApiV4ProjectsImportAuthorize
"/api/v4/projects/import":
post:
summary: Create a new project import
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: formData
name: path
description: The new project path and name
type: string
required: true
- in: formData
name: file
description: The project export file to be imported
type: file
required: true
- in: formData
name: name
description: The name of the project to be imported. Defaults to the path
of the project if not provided.
type: string
required: false
- in: formData
name: namespace
description: The ID or name of the namespace that the project will be imported
into. Defaults to the current user's namespace.
type: string
required: false
- in: formData
name: overwrite
description: If there is a project in the same namespace and with the same
name overwrite it
type: boolean
default: false
required: false
- in: formData
name: override_params[description]
description: The description of the project
type: string
required: false
- in: formData
name: override_params[build_git_strategy]
description: The Git strategy. Defaults to `fetch`
type: string
enum:
- fetch
- clone
required: false
- in: formData
name: override_params[build_timeout]
description: Build timeout
type: integer
format: int32
required: false
- in: formData
name: override_params[auto_cancel_pending_pipelines]
description: Auto-cancel pending pipelines
type: string
enum:
- disabled
- enabled
required: false
- in: formData
name: override_params[ci_config_path]
description: The path to CI config file. Defaults to `.gitlab-ci.yml`
type: string
required: false
- in: formData
name: override_params[service_desk_enabled]
description: Disable or enable the service desk
type: boolean
required: false
- in: formData
name: override_params[issues_enabled]
description: Flag indication if the issue tracker is enabled
type: boolean
required: false
- in: formData
name: override_params[merge_requests_enabled]
description: Flag indication if merge requests are enabled
type: boolean
required: false
- in: formData
name: override_params[wiki_enabled]
description: Flag indication if the wiki is enabled
type: boolean
required: false
- in: formData
name: override_params[jobs_enabled]
description: Flag indication if jobs are enabled
type: boolean
required: false
- in: formData
name: override_params[snippets_enabled]
description: Flag indication if snippets are enabled
type: boolean
required: false
- in: formData
name: override_params[issues_access_level]
description: Issues access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[repository_access_level]
description: Repository access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[merge_requests_access_level]
description: Merge requests access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[forking_access_level]
description: Forks access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[wiki_access_level]
description: Wiki access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[builds_access_level]
description: Builds access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[snippets_access_level]
description: Snippets access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[pages_access_level]
description: Pages access level. One of `disabled`, `private`, `enabled` or
`public`
type: string
enum:
- disabled
- private
- enabled
- public
required: false
- in: formData
name: override_params[analytics_access_level]
description: Analytics access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[container_registry_access_level]
description: Controls visibility of the container registry. One of `disabled`,
`private` or `enabled`. `private` will make the container registry accessible
only to project members (reporter role and above). `enabled` will make the
container registry accessible to everyone who has access to the project.
`disabled` will disable the container registry
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[security_and_compliance_access_level]
description: Security and compliance access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[releases_access_level]
description: Releases access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[environments_access_level]
description: Environments access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[feature_flags_access_level]
description: Feature flags access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[infrastructure_access_level]
description: Infrastructure access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[monitor_access_level]
description: Monitor access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[model_experiments_access_level]
description: Model experiments access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[model_registry_access_level]
description: Model registry access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[emails_disabled]
description: 'Deprecated: Use emails_enabled instead.'
type: boolean
required: false
- in: formData
name: override_params[emails_enabled]
description: Enable email notifications
type: boolean
required: false
- in: formData
name: override_params[show_default_award_emojis]
description: Show default award emojis
type: boolean
required: false
- in: formData
name: override_params[show_diff_preview_in_email]
description: Include the code diff preview in merge request notification emails
type: boolean
required: false
- in: formData
name: override_params[warn_about_potentially_unwanted_characters]
description: Warn about potentially unwanted characters
type: boolean
required: false
- in: formData
name: override_params[enforce_auth_checks_on_uploads]
description: Enforce auth check on uploads
type: boolean
required: false
- in: formData
name: override_params[shared_runners_enabled]
description: Flag indication if shared runners are enabled for that project
type: boolean
required: false
- in: formData
name: override_params[group_runners_enabled]
description: Flag indication if group runners are enabled for that project
type: boolean
required: false
- in: formData
name: override_params[resolve_outdated_diff_discussions]
description: Automatically resolve merge request diff threads on lines changed
with a push
type: boolean
required: false
- in: formData
name: override_params[remove_source_branch_after_merge]
description: Remove the source branch by default after merge
type: boolean
required: false
- in: formData
name: override_params[container_registry_enabled]
description: 'Deprecated: Use :container_registry_access_level instead. Flag
indication if the container registry is enabled for that project'
type: boolean
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][cadence]
description: Container expiration policy cadence for recurring job
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][keep_n]
description: Container expiration policy number of images to keep
type: integer
format: int32
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][older_than]
description: Container expiration policy remove images older than value
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][name_regex]
description: Container expiration policy regex for image removal
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][name_regex_keep]
description: Container expiration policy regex for image retention
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][enabled]
description: Flag indication if container expiration policy is enabled
type: boolean
required: false
- in: formData
name: override_params[lfs_enabled]
description: Flag indication if Git LFS is enabled for that project
type: boolean
required: false
- in: formData
name: override_params[visibility]
description: The visibility of the project.
type: string
enum:
- private
- internal
- public
required: false
- in: formData
name: override_params[public_builds]
description: 'Deprecated: Use public_jobs instead.'
type: boolean
required: false
- in: formData
name: override_params[public_jobs]
description: Perform public builds
type: boolean
required: false
- in: formData
name: override_params[request_access_enabled]
description: Allow users to request member access
type: boolean
required: false
- in: formData
name: override_params[only_allow_merge_if_pipeline_succeeds]
description: Only allow to merge if builds succeed
type: boolean
required: false
- in: formData
name: override_params[allow_merge_on_skipped_pipeline]
description: Allow to merge if pipeline is skipped
type: boolean
required: false
- in: formData
name: override_params[only_allow_merge_if_all_discussions_are_resolved]
description: Only allow to merge if all threads are resolved
type: boolean
required: false
- in: formData
name: override_params[tag_list]
description: 'Deprecated: Use :topics instead'
type: array
items:
type: string
required: false
- in: formData
name: override_params[topics]
description: The list of topics for a project
type: array
items:
type: string
required: false
- in: formData
name: override_params[avatar]
description: Avatar image for project
type: file
required: false
- in: formData
name: override_params[printing_merge_request_link_enabled]
description: Show link to create/view merge request when pushing from the
command line
type: boolean
required: false
- in: formData
name: override_params[merge_method]
description: The merge method used when merging merge requests
type: string
enum:
- ff
- rebase_merge
- merge
required: false
- in: formData
name: override_params[suggestion_commit_message]
description: The commit message used to apply merge request suggestions
type: string
required: false
- in: formData
name: override_params[merge_commit_template]
description: Template used to create merge commit message
type: string
required: false
- in: formData
name: override_params[squash_commit_template]
description: Template used to create squash commit message
type: string
required: false
- in: formData
name: override_params[issue_branch_template]
description: Template used to create a branch from an issue
type: string
required: false
- in: formData
name: override_params[auto_devops_enabled]
description: Flag indication if Auto DevOps is enabled
type: boolean
required: false
- in: formData
name: override_params[auto_devops_deploy_strategy]
description: Auto Deploy strategy
type: string
enum:
- continuous
- manual
- timed_incremental
required: false
- in: formData
name: override_params[autoclose_referenced_issues]
description: Flag indication if referenced issues auto-closing is enabled
type: boolean
required: false
- in: formData
name: override_params[repository_storage]
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: formData
name: override_params[packages_enabled]
description: Enable project packages feature
type: boolean
required: false
- in: formData
name: override_params[squash_option]
description: Squash default for project. One of `never`, `always`, `default_on`,
or `default_off`.
type: string
enum:
- never
- always
- default_on
- default_off
required: false
- in: formData
name: override_params[mr_default_target_self]
description: Merge requests of this forked project targets itself by default
type: boolean
required: false
- in: formData
name: override_params[merge_request_title_regex]
description: The regex the Merge Request must adhere to
type: string
required: false
- in: formData
name: override_params[merge_request_title_regex_description]
description: The description for the regex the Merge Request must adhere to
type: string
required: false
- in: formData
name: override_params[only_allow_merge_if_all_status_checks_passed]
description: Blocks merge requests from merging unless all status checks have
passed
type: boolean
required: false
- in: formData
name: override_params[approvals_before_merge]
description: How many approvers should approve merge request by default
type: integer
format: int32
required: false
- in: formData
name: override_params[mirror]
description: "[Deprecated] Enables pull mirroring in a project"
type: boolean
required: false
- in: formData
name: override_params[mirror_trigger_builds]
description: "[Deprecated] Pull mirroring triggers builds"
type: boolean
required: false
- in: formData
name: override_params[external_authorization_classification_label]
description: The classification label for the project
type: string
required: false
- in: formData
name: override_params[requirements_access_level]
description: Requirements feature access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[prevent_merge_without_jira_issue]
description: Require an associated issue from Jira
type: boolean
required: false
- in: formData
name: override_params[auto_duo_code_review_enabled]
description: Enable automatic reviews by GitLab Duo on merge requests
type: boolean
required: false
- in: formData
name: file.path
description: Path to locally stored body (generated by Workhorse)
type: string
required: false
- in: formData
name: file.name
description: Real filename as send in Content-Disposition (generated by Workhorse)
type: string
required: false
- in: formData
name: file.type
description: Real content type as send in Content-Type (generated by Workhorse)
type: string
required: false
- in: formData
name: file.size
description: Real size of file (generated by Workhorse)
type: integer
format: int32
required: false
- in: formData
name: file.md5
description: MD5 checksum of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.sha1
description: SHA1 checksum of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.sha256
description: SHA256 checksum of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.etag
description: Etag of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.remote_id
description: Remote_id of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.remote_url
description: Remote_url of the file (generated by Workhorse)
type: string
required: false
responses:
'201':
description: Create a new project import
schema:
"$ref": "#/definitions/API_Entities_ProjectImportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_import
operationId: postApiV4ProjectsImport
"/api/v4/projects/{id}/import":
get:
summary: Get a project import status
description: This feature was introduced in GitLab 10.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get a project import status
schema:
"$ref": "#/definitions/API_Entities_ProjectImportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_import
operationId: getApiV4ProjectsIdImport
"/api/v4/projects/remote-import":
post:
summary: Create a new project import using a remote object storage path
description: This feature was introduced in GitLab 13.2.
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: formData
name: url
description: The URL for the file.
type: string
required: true
- in: formData
name: path
description: The new project path and name
type: string
required: true
- in: formData
name: name
description: The name of the project to be imported. Defaults to the path
of the project if not provided.
type: string
required: false
- in: formData
name: namespace
description: The ID or name of the namespace that the project will be imported
into. Defaults to the current user's namespace.
type: string
required: false
- in: formData
name: overwrite
description: If there is a project in the same namespace and with the same
name overwrite it
type: boolean
default: false
required: false
- in: formData
name: override_params[description]
description: The description of the project
type: string
required: false
- in: formData
name: override_params[build_git_strategy]
description: The Git strategy. Defaults to `fetch`
type: string
enum:
- fetch
- clone
required: false
- in: formData
name: override_params[build_timeout]
description: Build timeout
type: integer
format: int32
required: false
- in: formData
name: override_params[auto_cancel_pending_pipelines]
description: Auto-cancel pending pipelines
type: string
enum:
- disabled
- enabled
required: false
- in: formData
name: override_params[ci_config_path]
description: The path to CI config file. Defaults to `.gitlab-ci.yml`
type: string
required: false
- in: formData
name: override_params[service_desk_enabled]
description: Disable or enable the service desk
type: boolean
required: false
- in: formData
name: override_params[issues_enabled]
description: Flag indication if the issue tracker is enabled
type: boolean
required: false
- in: formData
name: override_params[merge_requests_enabled]
description: Flag indication if merge requests are enabled
type: boolean
required: false
- in: formData
name: override_params[wiki_enabled]
description: Flag indication if the wiki is enabled
type: boolean
required: false
- in: formData
name: override_params[jobs_enabled]
description: Flag indication if jobs are enabled
type: boolean
required: false
- in: formData
name: override_params[snippets_enabled]
description: Flag indication if snippets are enabled
type: boolean
required: false
- in: formData
name: override_params[issues_access_level]
description: Issues access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[repository_access_level]
description: Repository access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[merge_requests_access_level]
description: Merge requests access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[forking_access_level]
description: Forks access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[wiki_access_level]
description: Wiki access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[builds_access_level]
description: Builds access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[snippets_access_level]
description: Snippets access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[pages_access_level]
description: Pages access level. One of `disabled`, `private`, `enabled` or
`public`
type: string
enum:
- disabled
- private
- enabled
- public
required: false
- in: formData
name: override_params[analytics_access_level]
description: Analytics access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[container_registry_access_level]
description: Controls visibility of the container registry. One of `disabled`,
`private` or `enabled`. `private` will make the container registry accessible
only to project members (reporter role and above). `enabled` will make the
container registry accessible to everyone who has access to the project.
`disabled` will disable the container registry
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[security_and_compliance_access_level]
description: Security and compliance access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[releases_access_level]
description: Releases access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[environments_access_level]
description: Environments access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[feature_flags_access_level]
description: Feature flags access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[infrastructure_access_level]
description: Infrastructure access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[monitor_access_level]
description: Monitor access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[model_experiments_access_level]
description: Model experiments access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[model_registry_access_level]
description: Model registry access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[emails_disabled]
description: 'Deprecated: Use emails_enabled instead.'
type: boolean
required: false
- in: formData
name: override_params[emails_enabled]
description: Enable email notifications
type: boolean
required: false
- in: formData
name: override_params[show_default_award_emojis]
description: Show default award emojis
type: boolean
required: false
- in: formData
name: override_params[show_diff_preview_in_email]
description: Include the code diff preview in merge request notification emails
type: boolean
required: false
- in: formData
name: override_params[warn_about_potentially_unwanted_characters]
description: Warn about potentially unwanted characters
type: boolean
required: false
- in: formData
name: override_params[enforce_auth_checks_on_uploads]
description: Enforce auth check on uploads
type: boolean
required: false
- in: formData
name: override_params[shared_runners_enabled]
description: Flag indication if shared runners are enabled for that project
type: boolean
required: false
- in: formData
name: override_params[group_runners_enabled]
description: Flag indication if group runners are enabled for that project
type: boolean
required: false
- in: formData
name: override_params[resolve_outdated_diff_discussions]
description: Automatically resolve merge request diff threads on lines changed
with a push
type: boolean
required: false
- in: formData
name: override_params[remove_source_branch_after_merge]
description: Remove the source branch by default after merge
type: boolean
required: false
- in: formData
name: override_params[container_registry_enabled]
description: 'Deprecated: Use :container_registry_access_level instead. Flag
indication if the container registry is enabled for that project'
type: boolean
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][cadence]
description: Container expiration policy cadence for recurring job
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][keep_n]
description: Container expiration policy number of images to keep
type: integer
format: int32
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][older_than]
description: Container expiration policy remove images older than value
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][name_regex]
description: Container expiration policy regex for image removal
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][name_regex_keep]
description: Container expiration policy regex for image retention
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][enabled]
description: Flag indication if container expiration policy is enabled
type: boolean
required: false
- in: formData
name: override_params[lfs_enabled]
description: Flag indication if Git LFS is enabled for that project
type: boolean
required: false
- in: formData
name: override_params[visibility]
description: The visibility of the project.
type: string
enum:
- private
- internal
- public
required: false
- in: formData
name: override_params[public_builds]
description: 'Deprecated: Use public_jobs instead.'
type: boolean
required: false
- in: formData
name: override_params[public_jobs]
description: Perform public builds
type: boolean
required: false
- in: formData
name: override_params[request_access_enabled]
description: Allow users to request member access
type: boolean
required: false
- in: formData
name: override_params[only_allow_merge_if_pipeline_succeeds]
description: Only allow to merge if builds succeed
type: boolean
required: false
- in: formData
name: override_params[allow_merge_on_skipped_pipeline]
description: Allow to merge if pipeline is skipped
type: boolean
required: false
- in: formData
name: override_params[only_allow_merge_if_all_discussions_are_resolved]
description: Only allow to merge if all threads are resolved
type: boolean
required: false
- in: formData
name: override_params[tag_list]
description: 'Deprecated: Use :topics instead'
type: array
items:
type: string
required: false
- in: formData
name: override_params[topics]
description: The list of topics for a project
type: array
items:
type: string
required: false
- in: formData
name: override_params[avatar]
description: Avatar image for project
type: file
required: false
- in: formData
name: override_params[printing_merge_request_link_enabled]
description: Show link to create/view merge request when pushing from the
command line
type: boolean
required: false
- in: formData
name: override_params[merge_method]
description: The merge method used when merging merge requests
type: string
enum:
- ff
- rebase_merge
- merge
required: false
- in: formData
name: override_params[suggestion_commit_message]
description: The commit message used to apply merge request suggestions
type: string
required: false
- in: formData
name: override_params[merge_commit_template]
description: Template used to create merge commit message
type: string
required: false
- in: formData
name: override_params[squash_commit_template]
description: Template used to create squash commit message
type: string
required: false
- in: formData
name: override_params[issue_branch_template]
description: Template used to create a branch from an issue
type: string
required: false
- in: formData
name: override_params[auto_devops_enabled]
description: Flag indication if Auto DevOps is enabled
type: boolean
required: false
- in: formData
name: override_params[auto_devops_deploy_strategy]
description: Auto Deploy strategy
type: string
enum:
- continuous
- manual
- timed_incremental
required: false
- in: formData
name: override_params[autoclose_referenced_issues]
description: Flag indication if referenced issues auto-closing is enabled
type: boolean
required: false
- in: formData
name: override_params[repository_storage]
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: formData
name: override_params[packages_enabled]
description: Enable project packages feature
type: boolean
required: false
- in: formData
name: override_params[squash_option]
description: Squash default for project. One of `never`, `always`, `default_on`,
or `default_off`.
type: string
enum:
- never
- always
- default_on
- default_off
required: false
- in: formData
name: override_params[mr_default_target_self]
description: Merge requests of this forked project targets itself by default
type: boolean
required: false
- in: formData
name: override_params[merge_request_title_regex]
description: The regex the Merge Request must adhere to
type: string
required: false
- in: formData
name: override_params[merge_request_title_regex_description]
description: The description for the regex the Merge Request must adhere to
type: string
required: false
- in: formData
name: override_params[only_allow_merge_if_all_status_checks_passed]
description: Blocks merge requests from merging unless all status checks have
passed
type: boolean
required: false
- in: formData
name: override_params[approvals_before_merge]
description: How many approvers should approve merge request by default
type: integer
format: int32
required: false
- in: formData
name: override_params[mirror]
description: "[Deprecated] Enables pull mirroring in a project"
type: boolean
required: false
- in: formData
name: override_params[mirror_trigger_builds]
description: "[Deprecated] Pull mirroring triggers builds"
type: boolean
required: false
- in: formData
name: override_params[external_authorization_classification_label]
description: The classification label for the project
type: string
required: false
- in: formData
name: override_params[requirements_access_level]
description: Requirements feature access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[prevent_merge_without_jira_issue]
description: Require an associated issue from Jira
type: boolean
required: false
- in: formData
name: override_params[auto_duo_code_review_enabled]
description: Enable automatic reviews by GitLab Duo on merge requests
type: boolean
required: false
responses:
'201':
description: Create a new project import using a remote object storage path
schema:
"$ref": "#/definitions/API_Entities_ProjectImportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'404':
description: Not found
'429':
description: Too many requests
'503':
description: Service unavailable
tags:
- project_import
operationId: postApiV4ProjectsRemoteImport
"/api/v4/projects/import-relation/authorize":
post:
summary: Workhorse authorize the project relation import upload
description: This feature was introduced in GitLab 16.11
produces:
- application/json
consumes:
- application/json
responses:
'201':
description: Workhorse authorize the project relation import upload
tags:
- project_import
operationId: postApiV4ProjectsImportRelationAuthorize
"/api/v4/projects/import-relation":
post:
summary: Re-import a relation into a project
description: This feature was introduced in GitLab 16.11.
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: formData
name: path
description: The project path and name
type: string
required: true
- in: formData
name: file
description: The project export file from which to extract the relation.
type: file
required: true
- in: formData
name: relation
description: The relation to import. Must be one of issues, merge_requests,
ci_pipelines, or milestones.
type: string
required: true
- in: formData
name: file.path
description: Path to locally stored body (generated by Workhorse)
type: string
required: false
- in: formData
name: file.name
description: Real filename as sent in Content-Disposition (generated by Workhorse)
type: string
required: false
- in: formData
name: file.type
description: Real content type as send in Content-Type (generated by Workhorse)
type: string
required: false
- in: formData
name: file.size
description: Real size of file (generated by Workhorse)
type: integer
format: int32
required: false
- in: formData
name: file.md5
description: MD5 checksum of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.sha1
description: SHA1 checksum of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.sha256
description: SHA256 checksum of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.etag
description: Etag of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.remote_id
description: Remote_id of the file (generated by Workhorse)
type: string
required: false
- in: formData
name: file.remote_url
description: Remote_url of the file (generated by Workhorse)
type: string
required: false
responses:
'201':
description: Re-import a relation into a project
schema:
"$ref": "#/definitions/API_Entities_RelationImportTracker"
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_import
operationId: postApiV4ProjectsImportRelation
"/api/v4/projects/{id}/relation-imports":
get:
summary: Get the statuses of relation imports for specified project
description: This feature was introduced in GitLab 16.11.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get the statuses of relation imports for specified project
schema:
"$ref": "#/definitions/API_Entities_ProjectImportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_import
operationId: getApiV4ProjectsIdRelationImports
"/api/v4/projects/remote-import-s3":
post:
summary: Create a new project import using a file from AWS S3
description: This feature was introduced in GitLab 14.9.
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: formData
name: region
description: AWS region
type: string
required: true
- in: formData
name: bucket_name
description: Bucket name
type: string
required: true
- in: formData
name: file_key
description: File key
type: string
required: true
- in: formData
name: access_key_id
description: Access key id
type: string
required: true
- in: formData
name: secret_access_key
description: Secret access key
type: string
required: true
- in: formData
name: path
description: The new project path and name
type: string
required: true
- in: formData
name: name
description: The name of the project to be imported. Defaults to the path
of the project if not provided.
type: string
required: false
- in: formData
name: namespace
description: The ID or name of the namespace that the project will be imported
into. Defaults to the current user's namespace.
type: string
required: false
- in: formData
name: overwrite
description: If there is a project in the same namespace and with the same
name overwrite it
type: boolean
default: false
required: false
- in: formData
name: override_params[description]
description: The description of the project
type: string
required: false
- in: formData
name: override_params[build_git_strategy]
description: The Git strategy. Defaults to `fetch`
type: string
enum:
- fetch
- clone
required: false
- in: formData
name: override_params[build_timeout]
description: Build timeout
type: integer
format: int32
required: false
- in: formData
name: override_params[auto_cancel_pending_pipelines]
description: Auto-cancel pending pipelines
type: string
enum:
- disabled
- enabled
required: false
- in: formData
name: override_params[ci_config_path]
description: The path to CI config file. Defaults to `.gitlab-ci.yml`
type: string
required: false
- in: formData
name: override_params[service_desk_enabled]
description: Disable or enable the service desk
type: boolean
required: false
- in: formData
name: override_params[issues_enabled]
description: Flag indication if the issue tracker is enabled
type: boolean
required: false
- in: formData
name: override_params[merge_requests_enabled]
description: Flag indication if merge requests are enabled
type: boolean
required: false
- in: formData
name: override_params[wiki_enabled]
description: Flag indication if the wiki is enabled
type: boolean
required: false
- in: formData
name: override_params[jobs_enabled]
description: Flag indication if jobs are enabled
type: boolean
required: false
- in: formData
name: override_params[snippets_enabled]
description: Flag indication if snippets are enabled
type: boolean
required: false
- in: formData
name: override_params[issues_access_level]
description: Issues access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[repository_access_level]
description: Repository access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[merge_requests_access_level]
description: Merge requests access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[forking_access_level]
description: Forks access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[wiki_access_level]
description: Wiki access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[builds_access_level]
description: Builds access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[snippets_access_level]
description: Snippets access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[pages_access_level]
description: Pages access level. One of `disabled`, `private`, `enabled` or
`public`
type: string
enum:
- disabled
- private
- enabled
- public
required: false
- in: formData
name: override_params[analytics_access_level]
description: Analytics access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[container_registry_access_level]
description: Controls visibility of the container registry. One of `disabled`,
`private` or `enabled`. `private` will make the container registry accessible
only to project members (reporter role and above). `enabled` will make the
container registry accessible to everyone who has access to the project.
`disabled` will disable the container registry
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[security_and_compliance_access_level]
description: Security and compliance access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[releases_access_level]
description: Releases access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[environments_access_level]
description: Environments access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[feature_flags_access_level]
description: Feature flags access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[infrastructure_access_level]
description: Infrastructure access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[monitor_access_level]
description: Monitor access level. One of `disabled`, `private` or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[model_experiments_access_level]
description: Model experiments access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[model_registry_access_level]
description: Model registry access level. One of `disabled`, `private` or
`enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[emails_disabled]
description: 'Deprecated: Use emails_enabled instead.'
type: boolean
required: false
- in: formData
name: override_params[emails_enabled]
description: Enable email notifications
type: boolean
required: false
- in: formData
name: override_params[show_default_award_emojis]
description: Show default award emojis
type: boolean
required: false
- in: formData
name: override_params[show_diff_preview_in_email]
description: Include the code diff preview in merge request notification emails
type: boolean
required: false
- in: formData
name: override_params[warn_about_potentially_unwanted_characters]
description: Warn about potentially unwanted characters
type: boolean
required: false
- in: formData
name: override_params[enforce_auth_checks_on_uploads]
description: Enforce auth check on uploads
type: boolean
required: false
- in: formData
name: override_params[shared_runners_enabled]
description: Flag indication if shared runners are enabled for that project
type: boolean
required: false
- in: formData
name: override_params[group_runners_enabled]
description: Flag indication if group runners are enabled for that project
type: boolean
required: false
- in: formData
name: override_params[resolve_outdated_diff_discussions]
description: Automatically resolve merge request diff threads on lines changed
with a push
type: boolean
required: false
- in: formData
name: override_params[remove_source_branch_after_merge]
description: Remove the source branch by default after merge
type: boolean
required: false
- in: formData
name: override_params[container_registry_enabled]
description: 'Deprecated: Use :container_registry_access_level instead. Flag
indication if the container registry is enabled for that project'
type: boolean
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][cadence]
description: Container expiration policy cadence for recurring job
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][keep_n]
description: Container expiration policy number of images to keep
type: integer
format: int32
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][older_than]
description: Container expiration policy remove images older than value
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][name_regex]
description: Container expiration policy regex for image removal
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][name_regex_keep]
description: Container expiration policy regex for image retention
type: string
required: false
- in: formData
name: override_params[container_expiration_policy_attributes][enabled]
description: Flag indication if container expiration policy is enabled
type: boolean
required: false
- in: formData
name: override_params[lfs_enabled]
description: Flag indication if Git LFS is enabled for that project
type: boolean
required: false
- in: formData
name: override_params[visibility]
description: The visibility of the project.
type: string
enum:
- private
- internal
- public
required: false
- in: formData
name: override_params[public_builds]
description: 'Deprecated: Use public_jobs instead.'
type: boolean
required: false
- in: formData
name: override_params[public_jobs]
description: Perform public builds
type: boolean
required: false
- in: formData
name: override_params[request_access_enabled]
description: Allow users to request member access
type: boolean
required: false
- in: formData
name: override_params[only_allow_merge_if_pipeline_succeeds]
description: Only allow to merge if builds succeed
type: boolean
required: false
- in: formData
name: override_params[allow_merge_on_skipped_pipeline]
description: Allow to merge if pipeline is skipped
type: boolean
required: false
- in: formData
name: override_params[only_allow_merge_if_all_discussions_are_resolved]
description: Only allow to merge if all threads are resolved
type: boolean
required: false
- in: formData
name: override_params[tag_list]
description: 'Deprecated: Use :topics instead'
type: array
items:
type: string
required: false
- in: formData
name: override_params[topics]
description: The list of topics for a project
type: array
items:
type: string
required: false
- in: formData
name: override_params[avatar]
description: Avatar image for project
type: file
required: false
- in: formData
name: override_params[printing_merge_request_link_enabled]
description: Show link to create/view merge request when pushing from the
command line
type: boolean
required: false
- in: formData
name: override_params[merge_method]
description: The merge method used when merging merge requests
type: string
enum:
- ff
- rebase_merge
- merge
required: false
- in: formData
name: override_params[suggestion_commit_message]
description: The commit message used to apply merge request suggestions
type: string
required: false
- in: formData
name: override_params[merge_commit_template]
description: Template used to create merge commit message
type: string
required: false
- in: formData
name: override_params[squash_commit_template]
description: Template used to create squash commit message
type: string
required: false
- in: formData
name: override_params[issue_branch_template]
description: Template used to create a branch from an issue
type: string
required: false
- in: formData
name: override_params[auto_devops_enabled]
description: Flag indication if Auto DevOps is enabled
type: boolean
required: false
- in: formData
name: override_params[auto_devops_deploy_strategy]
description: Auto Deploy strategy
type: string
enum:
- continuous
- manual
- timed_incremental
required: false
- in: formData
name: override_params[autoclose_referenced_issues]
description: Flag indication if referenced issues auto-closing is enabled
type: boolean
required: false
- in: formData
name: override_params[repository_storage]
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: formData
name: override_params[packages_enabled]
description: Enable project packages feature
type: boolean
required: false
- in: formData
name: override_params[squash_option]
description: Squash default for project. One of `never`, `always`, `default_on`,
or `default_off`.
type: string
enum:
- never
- always
- default_on
- default_off
required: false
- in: formData
name: override_params[mr_default_target_self]
description: Merge requests of this forked project targets itself by default
type: boolean
required: false
- in: formData
name: override_params[merge_request_title_regex]
description: The regex the Merge Request must adhere to
type: string
required: false
- in: formData
name: override_params[merge_request_title_regex_description]
description: The description for the regex the Merge Request must adhere to
type: string
required: false
- in: formData
name: override_params[only_allow_merge_if_all_status_checks_passed]
description: Blocks merge requests from merging unless all status checks have
passed
type: boolean
required: false
- in: formData
name: override_params[approvals_before_merge]
description: How many approvers should approve merge request by default
type: integer
format: int32
required: false
- in: formData
name: override_params[mirror]
description: "[Deprecated] Enables pull mirroring in a project"
type: boolean
required: false
- in: formData
name: override_params[mirror_trigger_builds]
description: "[Deprecated] Pull mirroring triggers builds"
type: boolean
required: false
- in: formData
name: override_params[external_authorization_classification_label]
description: The classification label for the project
type: string
required: false
- in: formData
name: override_params[requirements_access_level]
description: Requirements feature access level. One of `disabled`, `private`
or `enabled`
type: string
enum:
- disabled
- private
- enabled
required: false
- in: formData
name: override_params[prevent_merge_without_jira_issue]
description: Require an associated issue from Jira
type: boolean
required: false
- in: formData
name: override_params[auto_duo_code_review_enabled]
description: Enable automatic reviews by GitLab Duo on merge requests
type: boolean
required: false
responses:
'201':
description: Create a new project import using a file from AWS S3
schema:
"$ref": "#/definitions/API_Entities_ProjectImportStatus"
'401':
description: Unauthorized
'403':
description: Forbidden
'400':
description: Bad request
'404':
description: Not found
'429':
description: Too many requests
'503':
description: Service unavailable
tags:
- project_import
operationId: postApiV4ProjectsRemoteImportS3
"/api/v4/projects/{id}/job_token_scope":
get:
description: Fetch CI_JOB_TOKEN access settings.
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Fetch CI_JOB_TOKEN access settings.
schema:
"$ref": "#/definitions/API_Entities_ProjectJobTokenScope"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects_job_token_scope
operationId: getApiV4ProjectsIdJobTokenScope
patch:
description: Patch CI_JOB_TOKEN access settings.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: patchApiV4ProjectsIdJobTokenScope
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4ProjectsIdJobTokenScope"
responses:
'204':
description: Patch CI_JOB_TOKEN access settings.
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects_job_token_scope
operationId: patchApiV4ProjectsIdJobTokenScope
"/api/v4/projects/{id}/job_token_scope/allowlist":
get:
description: Fetch project inbound allowlist for CI_JOB_TOKEN access settings.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Fetch project inbound allowlist for CI_JOB_TOKEN access settings.
schema:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects_job_token_scope
operationId: getApiV4ProjectsIdJobTokenScopeAllowlist
post:
description: Add target project to allowlist.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: ID of user project
type: integer
format: int32
required: true
example: 1
- name: postApiV4ProjectsIdJobTokenScopeAllowlist
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdJobTokenScopeAllowlist"
responses:
'201':
description: Add target project to allowlist.
schema:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- projects_job_token_scope
operationId: postApiV4ProjectsIdJobTokenScopeAllowlist
"/api/v4/projects/{id}/job_token_scope/groups_allowlist":
get:
description: Fetch project groups allowlist for CI_JOB_TOKEN access settings.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Fetch project groups allowlist for CI_JOB_TOKEN access settings.
schema:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects_job_token_scope
operationId: getApiV4ProjectsIdJobTokenScopeGroupsAllowlist
post:
description: Add target group to allowlist.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: ID of user project
type: integer
format: int32
required: true
example: 1
- name: postApiV4ProjectsIdJobTokenScopeGroupsAllowlist
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdJobTokenScopeGroupsAllowlist"
responses:
'201':
description: Add target group to allowlist.
schema:
"$ref": "#/definitions/API_Entities_BasicGroupDetails"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- projects_job_token_scope
operationId: postApiV4ProjectsIdJobTokenScopeGroupsAllowlist
"/api/v4/projects/{id}/job_token_scope/groups_allowlist/{target_group_id}":
delete:
description: Delete target group from allowlist.
produces:
- application/json
parameters:
- in: path
name: id
description: ID of user project
type: integer
format: int32
required: true
example: 1
- in: path
name: target_group_id
description: ID of the group to be removed from the allowlist
type: integer
format: int32
required: true
example: 2
responses:
'204':
description: Delete target group from allowlist.
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects_job_token_scope
operationId: deleteApiV4ProjectsIdJobTokenScopeGroupsAllowlistTargetGroupId
"/api/v4/projects/{id}/job_token_scope/allowlist/{target_project_id}":
delete:
description: Delete project from allowlist.
produces:
- application/json
parameters:
- in: path
name: id
description: ID of user project
type: integer
format: int32
required: true
example: 1
- in: path
name: target_project_id
description: ID of the project to be removed from the allowlist
type: integer
format: int32
required: true
example: 2
responses:
'204':
description: Delete project from allowlist.
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- projects_job_token_scope
operationId: deleteApiV4ProjectsIdJobTokenScopeAllowlistTargetProjectId
"/api/v4/projects/{id}/packages":
get:
summary: Get a list of project packages
description: This feature was introduced in GitLab 11.8
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: order_by
description: Return packages ordered by `created_at`, `name`, `version` or
`type` fields.
type: string
default: created_at
enum:
- created_at
- name
- version
- type
required: false
- in: query
name: sort
description: Return packages sorted in `asc` or `desc` order.
type: string
default: asc
enum:
- asc
- desc
required: false
- in: query
name: package_type
description: Return packages of a certain type
type: string
enum:
- maven
- npm
- conan
- nuget
- pypi
- composer
- generic
- golang
- debian
- rubygems
- helm
- terraform_module
- rpm
- ml_model
required: false
- in: query
name: package_name
description: Return packages with this name
type: string
required: false
- in: query
name: package_version
description: Return packages with this version
type: string
required: false
- in: query
name: include_versionless
description: Returns packages without a version
type: boolean
required: false
- in: query
name: status
description: Return packages with specified status
type: string
enum:
- default
- hidden
- processing
- error
- pending_destruction
- deprecated
required: false
responses:
'200':
description: Get a list of project packages
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Package"
'403':
description: Forbidden
'404':
description: Project Not Found
tags:
- project_packages
operationId: getApiV4ProjectsIdPackages
"/api/v4/projects/{id}/packages/{package_id}":
get:
summary: Get a single project package
description: This feature was introduced in GitLab 11.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_id
description: The ID of a package
type: integer
format: int32
required: true
responses:
'200':
description: Get a single project package
schema:
"$ref": "#/definitions/API_Entities_Package"
'403':
description: Forbidden
'404':
description: Not Found
tags:
- project_packages
operationId: getApiV4ProjectsIdPackagesPackageId
delete:
summary: Delete a project package
description: This feature was introduced in GitLab 11.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_id
description: The ID of a package
type: integer
format: int32
required: true
responses:
'204':
description: Delete a project package
'403':
description: Forbidden
'404':
description: Not Found
tags:
- project_packages
operationId: deleteApiV4ProjectsIdPackagesPackageId
"/api/v4/projects/{id}/packages/{package_id}/pipelines":
get:
summary: Get the pipelines for a single project package
description: This feature was introduced in GitLab 16.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
minimum: 1
maximum: 20
required: false
example: 20
- in: path
name: package_id
description: The ID of a package
type: integer
format: int32
required: true
- in: query
name: cursor
description: Cursor for obtaining the next set of records
type: string
required: false
responses:
'200':
description: Get the pipelines for a single project package
schema:
"$ref": "#/definitions/API_Entities_Package_Pipeline"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- project_packages
operationId: getApiV4ProjectsIdPackagesPackageIdPipelines
"/api/v4/projects/{id}/packages/protection/rules":
get:
description: Get list of package protection rules for a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get list of package protection rules for a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Projects_Packages_Protection_Rule"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- projects
operationId: getApiV4ProjectsIdPackagesProtectionRules
post:
description: Create a package protection rule for a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdPackagesProtectionRules
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPackagesProtectionRules"
responses:
'201':
description: Create a package protection rule for a project
schema:
"$ref": "#/definitions/API_Entities_Projects_Packages_Protection_Rule"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
tags:
- projects
operationId: postApiV4ProjectsIdPackagesProtectionRules
"/api/v4/projects/{id}/packages/protection/rules/{package_protection_rule_id}":
patch:
description: Update a package protection rule for a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_protection_rule_id
description: The ID of the package protection rule
type: integer
format: int32
required: true
- name: patchApiV4ProjectsIdPackagesProtectionRulesPackageProtectionRuleId
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4ProjectsIdPackagesProtectionRulesPackageProtectionRuleId"
responses:
'200':
description: Update a package protection rule for a project
schema:
"$ref": "#/definitions/API_Entities_Projects_Packages_Protection_Rule"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
tags:
- projects
operationId: patchApiV4ProjectsIdPackagesProtectionRulesPackageProtectionRuleId
delete:
description: Delete package protection rule
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: package_protection_rule_id
description: The ID of the package protection rule
type: integer
format: int32
required: true
responses:
'204':
description: 204 No Content
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- projects
operationId: deleteApiV4ProjectsIdPackagesProtectionRulesPackageProtectionRuleId
"/api/v4/projects/{id}/snapshot":
get:
summary: Download a (possibly inconsistent) snapshot of a repository
description: This feature was introduced in GitLab 10.7
produces:
- application/x-tar
parameters:
- in: query
name: wiki
description: Set to true to receive the wiki repository
type: boolean
required: false
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Download a (possibly inconsistent) snapshot of a repository
schema:
type: file
'401':
description: Unauthorized
tags:
- projects
operationId: getApiV4ProjectsIdSnapshot
"/api/v4/projects/{id}/snippets":
get:
description: Get all project snippets
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all project snippets
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ProjectSnippet"
'404':
description: Not found
tags:
- project_snippets
operationId: getApiV4ProjectsIdSnippets
post:
description: Create a new project snippet
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdSnippets
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdSnippets"
responses:
'201':
description: Create a new project snippet
schema:
"$ref": "#/definitions/API_Entities_ProjectSnippet"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- project_snippets
operationId: postApiV4ProjectsIdSnippets
"/api/v4/projects/{id}/snippets/{snippet_id}":
get:
description: Get a single project snippet
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: snippet_id
description: The ID of a project snippet
type: integer
format: int32
required: true
responses:
'200':
description: Get a single project snippet
schema:
"$ref": "#/definitions/API_Entities_ProjectSnippet"
'404':
description: Not found
tags:
- project_snippets
operationId: getApiV4ProjectsIdSnippetsSnippetId
put:
description: Update an existing project snippet
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: snippet_id
description: The ID of a project snippet
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdSnippetsSnippetId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdSnippetsSnippetId"
responses:
'200':
description: Update an existing project snippet
schema:
"$ref": "#/definitions/API_Entities_ProjectSnippet"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- project_snippets
operationId: putApiV4ProjectsIdSnippetsSnippetId
delete:
description: Delete a project snippet
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: snippet_id
description: The ID of a project snippet
type: integer
format: int32
required: true
responses:
'204':
description: Delete a project snippet
'400':
description: Validation error
'404':
description: Not found
tags:
- project_snippets
operationId: deleteApiV4ProjectsIdSnippetsSnippetId
"/api/v4/projects/{id}/snippets/{snippet_id}/raw":
get:
description: Get a raw project snippet
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: snippet_id
description: The ID of a project snippet
type: integer
format: int32
required: true
responses:
'200':
description: Get a raw project snippet
schema:
"$ref": "#/definitions/API_Entities_ProjectSnippet"
'404':
description: Not found
tags:
- project_snippets
operationId: getApiV4ProjectsIdSnippetsSnippetIdRaw
"/api/v4/projects/{id}/snippets/{snippet_id}/files/{ref}/{file_path}/raw":
get:
description: Get raw project snippet file contents from the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: file_path
description: The url encoded path to the file, e.g. lib%2Fclass%2Erb
type: string
required: true
- in: path
name: ref
description: The name of branch, tag or commit
type: string
required: true
- in: path
name: snippet_id
type: integer
format: int32
required: true
responses:
'200':
description: Get raw project snippet file contents from the repository
schema:
"$ref": "#/definitions/API_Entities_ProjectSnippet"
'404':
description: Not found
tags:
- project_snippets
operationId: getApiV4ProjectsIdSnippetsSnippetIdFilesRefFilePathRaw
"/api/v4/projects/{id}/snippets/{snippet_id}/user_agent_detail":
get:
description: Get the user agent details for a project snippet
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: snippet_id
description: The ID of a project snippet
type: integer
format: int32
required: true
responses:
'200':
description: Get the user agent details for a project snippet
schema:
"$ref": "#/definitions/API_Entities_UserAgentDetail"
'404':
description: Not found
tags:
- project_snippets
operationId: getApiV4ProjectsIdSnippetsSnippetIdUserAgentDetail
"/api/v4/projects/{id}/statistics":
get:
description: Get the list of project fetch statistics for the last 30 days
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get the list of project fetch statistics for the last 30 days
schema:
"$ref": "#/definitions/API_Entities_ProjectDailyStatistics"
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
tags:
- projects
operationId: getApiV4ProjectsIdStatistics
"/api/v4/projects/{id}/templates/{type}":
get:
summary: Get a list of templates available to this project
description: This endpoint was introduced in GitLab 11.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: type
description: The type (dockerfiles|gitignores|gitlab_ci_ymls|licenses|issues|merge_requests)
of the template
type: string
enum:
- dockerfiles
- gitignores
- gitlab_ci_ymls
- licenses
- issues
- merge_requests
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a list of templates available to this project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_TemplatesList"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdTemplatesType
"/api/v4/projects/{id}/templates/{type}/{name}":
get:
summary: Download a template available to this project
description: This endpoint was introduced in GitLab 11.4
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: type
description: The type (dockerfiles|gitignores|gitlab_ci_ymls|licenses|issues|merge_requests)
of the template
type: string
enum:
- dockerfiles
- gitignores
- gitlab_ci_ymls
- licenses
- issues
- merge_requests
required: true
- in: path
name: name
description: The key of the template, as obtained from the collection endpoint.
type: string
required: true
example: MIT
- in: query
name: source_template_project_id
description: The project id where a given template is being stored. This is
useful when multiple templates from different projects have the same name
type: integer
format: int32
required: false
example: 1
- in: query
name: project
description: The project name to use when expanding placeholders in the template.
Only affects licenses
type: string
required: false
example: GitLab
- in: query
name: fullname
description: The full name of the copyright holder to use when expanding placeholders
in the template. Only affects licenses
type: string
required: false
example: GitLab B.V.
responses:
'200':
description: Download a template available to this project
schema:
"$ref": "#/definitions/API_Entities_License"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdTemplatesTypeName
"/api/v4/projects/{id}/custom_attributes":
get:
description: Get all custom attributes on a project
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get all custom attributes on a project
schema:
"$ref": "#/definitions/API_Entities_CustomAttribute"
tags:
- projects
operationId: getApiV4ProjectsIdCustomAttributes
"/api/v4/projects/{id}/custom_attributes/{key}":
get:
description: Get a custom attribute on a project
produces:
- application/json
parameters:
- in: path
name: key
description: The key of the custom attribute
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a custom attribute on a project
schema:
"$ref": "#/definitions/API_Entities_CustomAttribute"
tags:
- projects
operationId: getApiV4ProjectsIdCustomAttributesKey
put:
description: Set a custom attribute on a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: key
description: The key of the custom attribute
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdCustomAttributesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdCustomAttributesKey"
responses:
'200':
description: Set a custom attribute on a project
tags:
- projects
operationId: putApiV4ProjectsIdCustomAttributesKey
delete:
description: Delete a custom attribute on a project
produces:
- application/json
parameters:
- in: path
name: key
description: The key of the custom attribute
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a custom attribute on a project
tags:
- projects
operationId: deleteApiV4ProjectsIdCustomAttributesKey
"/api/v4/projects/{id}/restore":
post:
description: Restore a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Restore a project
schema:
"$ref": "#/definitions/API_Entities_Project"
tags:
- projects
operationId: postApiV4ProjectsIdRestore
"/api/v4/projects":
get:
description: Get a list of visible projects for authenticated user
produces:
- application/json
parameters:
- in: query
name: order_by
description: Return projects ordered by field. storage_size, repository_size,
wiki_size, packages_size are only available to admins. Similarity is available
when searching and is limited to projects the user has access to.
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- similarity
- star_count
- storage_size
- repository_size
- wiki_size
- packages_size
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Return list of projects matching the search criteria
type: string
required: false
- in: query
name: search_namespaces
description: Include ancestor namespaces when matching search criteria
type: boolean
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: starred
description: Limit by starred status
type: boolean
default: false
required: false
- in: query
name: imported
description: Limit by imported by authenticated user
type: boolean
default: false
required: false
- in: query
name: membership
description: Limit by projects that the current user is a member of
type: boolean
default: false
required: false
- in: query
name: with_issues_enabled
description: Limit by enabled issues feature
type: boolean
default: false
required: false
- in: query
name: with_merge_requests_enabled
description: Limit by enabled merge requests feature
type: boolean
default: false
required: false
- in: query
name: with_programming_language
description: Limit to repositories which use the given programming language
type: string
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: id_after
description: Limit results to projects with IDs greater than the specified
ID
type: integer
format: int32
required: false
- in: query
name: id_before
description: Limit results to projects with IDs less than the specified ID
type: integer
format: int32
required: false
- in: query
name: last_activity_after
description: 'Limit results to projects with last_activity after specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: last_activity_before
description: 'Limit results to projects with last_activity before specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: repository_storage
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: query
name: topic
description: Comma-separated list of topics. Limit results to projects having
all topics
type: array
items:
type: string
required: false
- in: query
name: topic_id
description: Limit results to projects with the assigned topic given by the
topic ID
type: integer
format: int32
required: false
- in: query
name: updated_before
description: 'Return projects updated before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: updated_after
description: 'Return projects updated after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: include_pending_delete
description: Include projects in pending delete state. Can only be set by
admins
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Date when the project was marked for deletion
type: string
format: date
required: false
- in: query
name: active
description: Limit by projects that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: wiki_checksum_failed
description: Limit by projects where wiki checksum is failed
type: boolean
default: false
required: false
- in: query
name: repository_checksum_failed
description: Limit by projects where repository checksum is failed
type: boolean
default: false
required: false
- in: query
name: include_hidden
description: Include hidden projects. Can only be set by admins
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of visible projects for authenticated user
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'400':
description: Bad request
tags:
- projects
operationId: getApiV4Projects
post:
description: Create new project
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Projects
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Projects"
responses:
'201':
description: Create new project
schema:
"$ref": "#/definitions/API_Entities_Project"
'403':
description: Unauthenticated
'404':
description: Not found
'400':
description: Bad request
tags:
- projects
operationId: postApiV4Projects
"/api/v4/projects/user/{user_id}":
post:
description: Create new project for a specified user. Only available to admin
users.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: user_id
description: The ID of a user
type: integer
format: int32
required: true
example: 1
- name: postApiV4ProjectsUserUserId
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsUserUserId"
responses:
'201':
description: Create new project for a specified user. Only available to
admin users.
schema:
"$ref": "#/definitions/API_Entities_Project"
'403':
description: Unauthenticated
'404':
description: Not found
'400':
description: Bad request
tags:
- projects
operationId: postApiV4ProjectsUserUserId
"/api/v4/projects/{id}/share_locations":
get:
description: Returns group that can be shared with the given project
produces:
- application/json
parameters:
- in: path
name: id
description: The id of the project
type: integer
format: int32
required: true
- in: query
name: search
description: Return list of groups matching the search criteria
type: string
required: false
responses:
'200':
description: Returns group that can be shared with the given project
schema:
"$ref": "#/definitions/API_Entities_Group"
tags:
- projects
operationId: getApiV4ProjectsIdShareLocations
"/api/v4/projects/{id}":
get:
description: Get a single project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
- in: query
name: license
description: Include project license data
type: boolean
default: false
required: false
responses:
'200':
description: Get a single project
schema:
"$ref": "#/definitions/API_Entities_ProjectWithAccess"
tags:
- projects
operationId: getApiV4ProjectsId
put:
description: Update an existing project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: putApiV4ProjectsId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsId"
responses:
'200':
description: Update an existing project
schema:
"$ref": "#/definitions/API_Entities_Project"
'400':
description: Bad request
'403':
description: Unauthenticated
tags:
- projects
operationId: putApiV4ProjectsId
delete:
description: Delete a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'202':
description: Delete a project
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsId
"/api/v4/projects/{id}/fork":
post:
description: Fork new project for the current user or provided namespace.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdFork
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdFork"
responses:
'201':
description: Fork new project for the current user or provided namespace.
schema:
"$ref": "#/definitions/API_Entities_Project"
'403':
description: Unauthenticated
'404':
description: Not found
'409':
description: Conflict
tags:
- projects
operationId: postApiV4ProjectsIdFork
delete:
description: Remove a forked_from relationship
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'204':
description: Remove a forked_from relationship
'304':
description: Not modified
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsIdFork
"/api/v4/projects/{id}/forks":
get:
description: List forks of this project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: order_by
description: Return projects ordered by field. storage_size, repository_size,
wiki_size, packages_size are only available to admins. Similarity is available
when searching and is limited to projects the user has access to.
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- similarity
- star_count
- storage_size
- repository_size
- wiki_size
- packages_size
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Return list of projects matching the search criteria
type: string
required: false
- in: query
name: search_namespaces
description: Include ancestor namespaces when matching search criteria
type: boolean
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: starred
description: Limit by starred status
type: boolean
default: false
required: false
- in: query
name: imported
description: Limit by imported by authenticated user
type: boolean
default: false
required: false
- in: query
name: membership
description: Limit by projects that the current user is a member of
type: boolean
default: false
required: false
- in: query
name: with_issues_enabled
description: Limit by enabled issues feature
type: boolean
default: false
required: false
- in: query
name: with_merge_requests_enabled
description: Limit by enabled merge requests feature
type: boolean
default: false
required: false
- in: query
name: with_programming_language
description: Limit to repositories which use the given programming language
type: string
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: id_after
description: Limit results to projects with IDs greater than the specified
ID
type: integer
format: int32
required: false
- in: query
name: id_before
description: Limit results to projects with IDs less than the specified ID
type: integer
format: int32
required: false
- in: query
name: last_activity_after
description: 'Limit results to projects with last_activity after specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: last_activity_before
description: 'Limit results to projects with last_activity before specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: repository_storage
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: query
name: topic
description: Comma-separated list of topics. Limit results to projects having
all topics
type: array
items:
type: string
required: false
- in: query
name: topic_id
description: Limit results to projects with the assigned topic given by the
topic ID
type: integer
format: int32
required: false
- in: query
name: updated_before
description: 'Return projects updated before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: updated_after
description: 'Return projects updated after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: include_pending_delete
description: Include projects in pending delete state. Can only be set by
admins
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Date when the project was marked for deletion
type: string
format: date
required: false
- in: query
name: active
description: Limit by projects that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: wiki_checksum_failed
description: Limit by projects where wiki checksum is failed
type: boolean
default: false
required: false
- in: query
name: repository_checksum_failed
description: Limit by projects where repository checksum is failed
type: boolean
default: false
required: false
- in: query
name: include_hidden
description: Include hidden projects. Can only be set by admins
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: List forks of this project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Project"
tags:
- projects
operationId: getApiV4ProjectsIdForks
"/api/v4/projects/{id}/pages_access":
get:
description: Check pages access of this project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Check pages access of this project
'403':
description: Unauthenticated
tags:
- projects
operationId: getApiV4ProjectsIdPagesAccess
"/api/v4/projects/{id}/archive":
post:
description: Archive a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Archive a project
schema:
"$ref": "#/definitions/API_Entities_Project"
'403':
description: Unauthenticated
tags:
- projects
operationId: postApiV4ProjectsIdArchive
"/api/v4/projects/{id}/unarchive":
post:
description: Unarchive a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Unarchive a project
schema:
"$ref": "#/definitions/API_Entities_Project"
'403':
description: Unauthenticated
tags:
- projects
operationId: postApiV4ProjectsIdUnarchive
"/api/v4/projects/{id}/star":
post:
description: Star a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Star a project
schema:
"$ref": "#/definitions/API_Entities_Project"
'304':
description: Not modified
'403':
description: Unauthenticated
tags:
- projects
operationId: postApiV4ProjectsIdStar
"/api/v4/projects/{id}/unstar":
post:
description: Unstar a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Unstar a project
schema:
"$ref": "#/definitions/API_Entities_Project"
'304':
description: Not modified
'403':
description: Unauthenticated
tags:
- projects
operationId: postApiV4ProjectsIdUnstar
"/api/v4/projects/{id}/starrers":
get:
description: Get the users who starred a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: search
description: Return list of users matching the search criteria
type: string
required: false
example: user
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get the users who starred a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_UserBasic"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdStarrers
"/api/v4/projects/{id}/languages":
get:
description: Get languages in project repository
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Get languages in project repository
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdLanguages
"/api/v4/projects/{id}/fork/{forked_from_id}":
post:
description: Mark this project as forked from another
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: forked_from_id
description: The ID of the project it was forked from
type: string
required: true
example: gitlab
responses:
'201':
description: Mark this project as forked from another
schema:
"$ref": "#/definitions/API_Entities_Project"
'401':
description: Unauthorized
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdForkForkedFromId
"/api/v4/projects/{id}/share":
post:
description: Share the project with a group
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdShare
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdShare"
responses:
'201':
description: Share the project with a group
schema:
"$ref": "#/definitions/API_Entities_ProjectGroupLink"
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: postApiV4ProjectsIdShare
"/api/v4/projects/{id}/share/{group_id}":
delete:
description: Remove a group share
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: group_id
description: The ID of the group
type: integer
format: int32
required: true
responses:
'204':
description: Remove a group share
'400':
description: Bad request
'404':
description: Not found
tags:
- projects
operationId: deleteApiV4ProjectsIdShareGroupId
"/api/v4/projects/{id}/import_project_members/{project_id}":
post:
summary: Import members from another project
description: This feature was introduced in GitLab 14.2
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: project_id
description: The ID of the source project to import the members from.
type: integer
format: int32
required: true
responses:
'200':
description: Import members from another project
'403':
description: Unauthenticated
'404':
description: Project Not Found
'422':
description: Import failed
tags:
- projects
operationId: postApiV4ProjectsIdImportProjectMembersProjectId
"/api/v4/projects/{id}/users":
get:
description: Get the users list of a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: search
description: Return list of users matching the search criteria
type: string
required: false
example: user
- in: query
name: skip_users
description: Filter out users with the specified IDs
type: array
items:
type: integer
format: int32
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get the users list of a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_UserBasic"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdUsers
"/api/v4/projects/{id}/groups":
get:
description: Get ancestor and shared groups for a project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: search
description: Return list of groups matching the search criteria
type: string
required: false
example: group
- in: query
name: skip_groups
description: Array of group ids to exclude from list
type: array
items:
type: integer
format: int32
required: false
- in: query
name: with_shared
description: Include shared groups
type: boolean
default: false
required: false
- in: query
name: shared_visible_only
description: Limit to shared groups user has access to
type: boolean
default: false
required: false
- in: query
name: shared_min_access_level
description: Limit returned shared groups by minimum access level to the project
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get ancestor and shared groups for a project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_PublicGroupDetails"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: getApiV4ProjectsIdGroups
"/api/v4/projects/{id}/invited_groups":
get:
description: Get a list of invited groups in this project
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: relation
description: Filter by group relation
type: array
items:
type: string
enum:
- direct
- inherited
required: false
- in: query
name: search
description: Search for a specific group
type: string
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a list of invited groups in this project
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
tags:
- projects
operationId: getApiV4ProjectsIdInvitedGroups
"/api/v4/projects/{id}/housekeeping":
post:
summary: Start the housekeeping task for a project
description: This feature was introduced in GitLab 9.0.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdHousekeeping
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdHousekeeping"
responses:
'201':
description: Start the housekeeping task for a project
'401':
description: Unauthorized
'403':
description: Unauthenticated
'409':
description: Conflict
tags:
- projects
operationId: postApiV4ProjectsIdHousekeeping
"/api/v4/projects/{id}/repository_size":
post:
summary: Start a task to recalculate repository size for a project
description: This feature was introduced in GitLab 15.0.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Start a task to recalculate repository size for a project
'401':
description: Unauthorized
'403':
description: Unauthenticated
tags:
- projects
operationId: postApiV4ProjectsIdRepositorySize
"/api/v4/projects/{id}/transfer":
put:
description: Transfer a project to a new namespace
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: putApiV4ProjectsIdTransfer
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdTransfer"
responses:
'200':
description: Transfer a project to a new namespace
schema:
"$ref": "#/definitions/API_Entities_Project"
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- projects
operationId: putApiV4ProjectsIdTransfer
"/api/v4/projects/{id}/transfer_locations":
get:
description: Get the namespaces to where the project can be transferred
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: search
description: Return list of namespaces matching the search criteria
type: string
required: false
example: search
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get the namespaces to where the project can be transferred
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_PublicGroupDetails"
'403':
description: Unauthenticated
tags:
- projects
operationId: getApiV4ProjectsIdTransferLocations
"/api/v4/projects/{id}/storage":
get:
description: Show the storage information
produces:
- application/json
parameters:
- in: path
name: id
description: ID of a project
type: string
required: true
responses:
'200':
description: Show the storage information
schema:
"$ref": "#/definitions/API_Entities_ProjectRepositoryStorage"
'403':
description: Unauthenticated
tags:
- projects
operationId: getApiV4ProjectsIdStorage
"/api/v4/projects/{id}/audit_events":
get:
description: Get a list of audit events in this project.
produces:
- application/json
parameters:
- in: query
name: created_after
description: Return audit events created after the specified time
type: string
format: date-time
required: false
example: '2016-01-19T09:05:50.355Z'
- in: query
name: created_before
description: Return audit events created before the specified time
type: string
format: date-time
required: false
example: '2016-01-19T09:05:50.355Z'
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of audit events in this project.
schema:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_AuditEvent"
tags:
- projects
operationId: getApiV4ProjectsIdAuditEvents
"/api/v4/projects/{id}/audit_events/{audit_event_id}":
get:
description: Get a specific audit event in this project.
produces:
- application/json
parameters:
- in: path
name: audit_event_id
description: The ID of the audit event
type: integer
format: int32
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a specific audit event in this project.
schema:
"$ref": "#/definitions/EE_API_Entities_AuditEvent"
tags:
- projects
operationId: getApiV4ProjectsIdAuditEventsAuditEventId
"/api/v4/projects/{id}/protected_branches":
get:
description: Get a project's protected branches
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: gitlab-org/gitlab
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: search
description: Search for a protected branch by name
type: string
required: false
example: mai
responses:
'200':
description: Get a project's protected branches
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ProtectedBranch"
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
tags:
- projects
operationId: getApiV4ProjectsIdProtectedBranches
post:
description: Protect a single branch
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: gitlab-org/gitlab
- name: postApiV4ProjectsIdProtectedBranches
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdProtectedBranches"
responses:
'201':
description: Protect a single branch
schema:
"$ref": "#/definitions/API_Entities_ProtectedBranch"
'422':
description: name is missing
'409':
description: Protected branch 'main' already exists
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
tags:
- projects
operationId: postApiV4ProjectsIdProtectedBranches
"/api/v4/projects/{id}/protected_branches/{name}":
get:
description: Get a single protected branch
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: name
description: The name of the branch or wildcard
type: string
required: true
example: main
responses:
'200':
description: Get a single protected branch
schema:
"$ref": "#/definitions/API_Entities_ProtectedBranch"
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
tags:
- projects
operationId: getApiV4ProjectsIdProtectedBranchesName
patch:
description: Update a protected branch
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: name
description: The name of the branch
type: string
required: true
example: main
- name: patchApiV4ProjectsIdProtectedBranchesName
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4ProjectsIdProtectedBranchesName"
responses:
'200':
description: Update a protected branch
schema:
"$ref": "#/definitions/API_Entities_ProtectedBranch"
'422':
description: Push access levels access level has already been taken
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
'400':
description: 400 Bad request
tags:
- projects
operationId: patchApiV4ProjectsIdProtectedBranchesName
delete:
description: Unprotect a single branch
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: name
description: The name of the protected branch
type: string
required: true
example: main
responses:
'204':
description: Unprotect a single branch
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
tags:
- projects
operationId: deleteApiV4ProjectsIdProtectedBranchesName
"/api/v4/projects/{id}/protected_tags":
get:
summary: Get a project's protected tags
description: This feature was introduced in GitLab 11.3.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a project's protected tags
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ProtectedTag"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- protected_tags
operationId: getApiV4ProjectsIdProtectedTags
post:
summary: Protect a single tag or wildcard
description: This feature was introduced in GitLab 11.3.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdProtectedTags
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdProtectedTags"
responses:
'201':
description: Protect a single tag or wildcard
schema:
"$ref": "#/definitions/API_Entities_ProtectedTag"
'403':
description: Unauthenticated
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- protected_tags
operationId: postApiV4ProjectsIdProtectedTags
"/api/v4/projects/{id}/protected_tags/{name}":
get:
summary: Get a single protected tag
description: This feature was introduced in GitLab 11.3.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
description: The name of the tag or wildcard
type: string
required: true
example: release*
responses:
'200':
description: Get a single protected tag
schema:
"$ref": "#/definitions/API_Entities_ProtectedTag"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- protected_tags
operationId: getApiV4ProjectsIdProtectedTagsName
delete:
summary: Unprotect a single tag
description: This feature was introduced in GitLab 11.3.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
description: The name of the protected tag
type: string
required: true
example: release-1-0
responses:
'204':
description: Unprotect a single tag
'403':
description: Unauthenticated
'404':
description: Not found
'412':
description: Precondition Failed
tags:
- protected_tags
operationId: deleteApiV4ProjectsIdProtectedTagsName
"/api/v4/projects/{id}/packages/pypi/files/{sha256}/*file_identifier":
get:
summary: The PyPi package download endpoint
description: This feature was introduced in GitLab 12.10
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: file_identifier
description: The PyPi package file identifier
type: string
required: true
example: my.pypi.package-0.0.1.tar.gz
- in: path
name: sha256
description: The PyPi package sha256 check sum
type: string
required: true
example: 5y57017232013c8ac80647f4ca153k3726f6cba62d055cd747844ed95b3c65ff
responses:
'200':
description: The PyPi package download endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: getApiV4ProjectsIdPackagesPypiFilesSha256*fileIdentifier
"/api/v4/projects/{id}/packages/pypi/simple":
get:
summary: The PyPi Simple Project Index Endpoint
description: This feature was introduced in GitLab 15.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: The PyPi Simple Project Index Endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: getApiV4ProjectsIdPackagesPypiSimple
"/api/v4/projects/{id}/packages/pypi/simple/*package_name":
get:
summary: The PyPi Simple Project Package Endpoint
description: This feature was introduced in GitLab 12.10
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_name
description: The PyPi package name
type: string
required: true
example: my.pypi.package
responses:
'200':
description: The PyPi Simple Project Package Endpoint
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: getApiV4ProjectsIdPackagesPypiSimple*packageName
"/api/v4/projects/{id}/packages/pypi":
post:
summary: The PyPi Package upload endpoint
description: This feature was introduced in GitLab 12.10
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdPackagesPypi
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPackagesPypi"
responses:
'201':
description: The PyPi Package upload endpoint
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Unprocessable Entity
tags:
- pypi_packages
operationId: postApiV4ProjectsIdPackagesPypi
"/api/v4/projects/{id}/packages/pypi/authorize":
post:
summary: Authorize the PyPi package upload from workhorse
description: This feature was introduced in GitLab 12.10
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'200':
description: Authorize the PyPi package upload from workhorse
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- pypi_packages
operationId: postApiV4ProjectsIdPackagesPypiAuthorize
"/api/v4/projects/{id}/releases":
get:
summary: List Releases
description: Returns a paginated list of releases. This feature was introduced
in GitLab 11.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: order_by
description: The field to use as order. Either `released_at` (default) or
`created_at`
type: string
default: released_at
enum:
- released_at
- created_at
required: false
- in: query
name: sort
description: The direction of the order. Either `desc` (default) for descending
order or `asc` for ascending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: include_html_description
description: If `true`, a response includes HTML rendered markdown of the
release description
type: boolean
required: false
- in: query
name: updated_before
description: 'Return releases updated before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: updated_after
description: 'Return releases updated after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
responses:
'200':
description: List Releases
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Release"
tags:
- releases
operationId: getApiV4ProjectsIdReleases
post:
summary: Create a release
description: Creates a release. Developer level access to the project is required
to create a release. This feature was introduced in GitLab 11.7.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdReleases
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdReleases"
responses:
'201':
description: Create a release
schema:
"$ref": "#/definitions/API_Entities_Release"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
'422':
description: Unprocessable entity
tags:
- releases
operationId: postApiV4ProjectsIdReleases
"/api/v4/projects/{id}/releases/{tag_name}":
get:
summary: Get a release by a tag name
description: Gets a release for the given tag. This feature was introduced in
GitLab 11.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The Git tag the release is associated with
type: string
required: true
- in: query
name: include_html_description
description: If `true`, a response includes HTML rendered markdown of the
release description
type: boolean
required: false
responses:
'200':
description: Get a release by a tag name
schema:
"$ref": "#/definitions/API_Entities_Release"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- releases
operationId: getApiV4ProjectsIdReleasesTagName
put:
summary: Update a release
description: Updates a release. Developer level access to the project is required
to update a release. This feature was introduced in GitLab 11.7.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The Git tag the release is associated with
type: string
required: true
- name: putApiV4ProjectsIdReleasesTagName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdReleasesTagName"
responses:
'200':
description: Update a release
schema:
"$ref": "#/definitions/API_Entities_Release"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- releases
operationId: putApiV4ProjectsIdReleasesTagName
delete:
summary: Delete a release
description: Delete a release. Deleting a release doesn't delete the associated
tag. Maintainer level access to the project is required to delete a release.
This feature was introduced in GitLab 11.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The Git tag the release is associated with
type: string
required: true
responses:
'400':
description: Bad request
'204':
description: Delete a release
schema:
"$ref": "#/definitions/API_Entities_Release"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- releases
operationId: deleteApiV4ProjectsIdReleasesTagName
"/api/v4/projects/{id}/releases/{tag_name}/downloads/*direct_asset_path":
get:
summary: Download a project release asset file
description: This feature was introduced in GitLab 15.4.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The Git tag the release is associated with
type: string
required: true
- in: query
name: direct_asset_path
description: The path to the file to download, as specified when creating
the release asset
type: string
required: true
responses:
'200':
description: Download a project release asset file
'401':
description: Unauthorized
'404':
description: Not found
tags:
- releases
operationId: getApiV4ProjectsIdReleasesTagNameDownloads*directAssetPath
"/api/v4/projects/{id}/releases/permalink/latest(/)(*suffix_path)":
get:
summary: Get the latest project release
description: This feature was introduced in GitLab 15.4.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: suffix_path
description: The path to be suffixed to the latest release
type: string
required: true
responses:
'200':
description: Get the latest project release
'401':
description: Unauthorized
'404':
description: Not found
tags:
- releases
operationId: getApiV4ProjectsIdReleasesPermalinkLatest()(*suffixPath)
"/api/v4/projects/{id}/releases/{tag_name}/evidence":
post:
summary: Collect release evidence
description: Creates an evidence for an existing Release. This feature was introduced
in GitLab 12.10.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: tag_name
description: The Git tag the release is associated with
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'201':
description: Collect release evidence
schema:
"$ref": "#/definitions/API_Entities_Release"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- releases
operationId: postApiV4ProjectsIdReleasesTagNameEvidence
"/api/v4/projects/{id}/releases/{tag_name}/assets/links":
get:
summary: List links of a release
description: Get assets as links from a release. This feature was introduced
in GitLab 11.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The tag associated with the release
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List links of a release
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Releases_Link"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- release_links
operationId: getApiV4ProjectsIdReleasesTagNameAssetsLinks
post:
summary: Create a release link
description: Create an asset as a link from a release. This feature was introduced
in GitLab 11.7.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The tag associated with the release
type: string
required: true
- name: postApiV4ProjectsIdReleasesTagNameAssetsLinks
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdReleasesTagNameAssetsLinks"
responses:
'201':
description: Create a release link
schema:
"$ref": "#/definitions/API_Entities_Releases_Link"
'400':
description: Bad request
'401':
description: Unauthorized
tags:
- release_links
operationId: postApiV4ProjectsIdReleasesTagNameAssetsLinks
"/api/v4/projects/{id}/releases/{tag_name}/assets/links/{link_id}":
get:
summary: Get a release link
description: Get an asset as a link from a release. This feature was introduced
in GitLab 11.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The tag associated with the release
type: string
required: true
- in: path
name: link_id
description: The ID of the link
type: integer
format: int32
required: true
responses:
'200':
description: Get a release link
schema:
"$ref": "#/definitions/API_Entities_Releases_Link"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- release_links
operationId: getApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId
put:
summary: Update a release link
description: Update an asset as a link from a release. This feature was introduced
in GitLab 11.7.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The tag associated with the release
type: string
required: true
- in: path
name: link_id
description: The ID of the link
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId"
responses:
'200':
description: Update a release link
schema:
"$ref": "#/definitions/API_Entities_Releases_Link"
'400':
description: Bad request
'401':
description: Unauthorized
tags:
- release_links
operationId: putApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId
delete:
summary: Delete a release link
description: Deletes an asset as a link from a release. This feature was introduced
in GitLab 11.7.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The tag associated with the release
type: string
required: true
- in: path
name: link_id
description: The ID of the link
type: integer
format: int32
required: true
responses:
'204':
description: Bad request
'401':
description: Unauthorized
tags:
- release_links
operationId: deleteApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId
"/api/v4/projects/{id}/remote_mirrors":
get:
description: List the project's remote mirrors
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List the project's remote mirrors
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_RemoteMirror"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: getApiV4ProjectsIdRemoteMirrors
post:
description: Create remote mirror for a project
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdRemoteMirrors
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRemoteMirrors"
responses:
'201':
description: Create remote mirror for a project
schema:
"$ref": "#/definitions/API_Entities_RemoteMirror"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: postApiV4ProjectsIdRemoteMirrors
"/api/v4/projects/{id}/remote_mirrors/{mirror_id}":
get:
description: Get a single remote mirror
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: mirror_id
description: The ID of a remote mirror
type: string
required: true
responses:
'200':
description: Get a single remote mirror
schema:
"$ref": "#/definitions/API_Entities_RemoteMirror"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: getApiV4ProjectsIdRemoteMirrorsMirrorId
put:
description: Update the attributes of a single remote mirror
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: mirror_id
description: The ID of a remote mirror
type: string
required: true
- name: putApiV4ProjectsIdRemoteMirrorsMirrorId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdRemoteMirrorsMirrorId"
responses:
'200':
description: Update the attributes of a single remote mirror
schema:
"$ref": "#/definitions/API_Entities_RemoteMirror"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: putApiV4ProjectsIdRemoteMirrorsMirrorId
delete:
summary: Delete a single remote mirror
description: This feature was introduced in GitLab 14.10
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: mirror_id
description: The ID of a remote mirror
type: string
required: true
responses:
'204':
description: Delete a single remote mirror
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: deleteApiV4ProjectsIdRemoteMirrorsMirrorId
"/api/v4/projects/{id}/remote_mirrors/{mirror_id}/sync":
post:
description: Triggers a push mirror operation
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: mirror_id
description: The ID of a remote mirror
type: string
required: true
responses:
'204':
description: Triggers a push mirror operation
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: postApiV4ProjectsIdRemoteMirrorsMirrorIdSync
"/api/v4/projects/{id}/remote_mirrors/{mirror_id}/public_key":
get:
description: Get the public key of a single remote mirror
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: mirror_id
description: The ID of a remote mirror
type: string
required: true
responses:
'200':
description: Get the public key of a single remote mirror
'401':
description: Unauthorized
'404':
description: Not found
tags:
- remote_mirrors
operationId: getApiV4ProjectsIdRemoteMirrorsMirrorIdPublicKey
"/api/v4/projects/{id}/repository/tree":
get:
description: Get a project repository tree
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: ref
description: The name of a repository branch or tag, if not given the default
branch is used
type: string
required: false
example: main
- in: query
name: path
description: The path of the tree
type: string
required: false
example: files/html
- in: query
name: recursive
description: Used to get a recursive tree
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: pagination
description: Specify the pagination method ("none" is only valid if "recursive"
is true)
type: string
default: legacy
enum:
- legacy
- keyset
- none
required: false
- in: query
name: page_token
description: Record from which to start the keyset pagination
type: string
required: false
example: a1e8f8d745cc87e3a9248358d9352bb7f9a0aeba
responses:
'200':
description: Get a project repository tree
schema:
"$ref": "#/definitions/API_Entities_TreeObject"
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryTree
"/api/v4/projects/{id}/repository/blobs/{sha}/raw":
get:
description: Get raw blob contents from the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: path
name: sha
description: The commit hash
type: string
required: true
example: 7d70e02340bac451f281cecf0a980907974bd8be
responses:
'200':
description: Get raw blob contents from the repository
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryBlobsShaRaw
"/api/v4/projects/{id}/repository/blobs/{sha}":
get:
description: Get a blob from the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: path
name: sha
description: The commit hash
type: string
required: true
example: 7d70e02340bac451f281cecf0a980907974bd8be
responses:
'200':
description: Get a blob from the repository
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryBlobsSha
"/api/v4/projects/{id}/repository/archive":
get:
description: Get an archive of the repository
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: sha
description: The commit sha of the archive to be downloaded
type: string
required: false
example: 7d70e02340bac451f281cecf0a980907974bd8be
- in: query
name: format
description: The archive format
type: string
required: false
example: tar.gz
- in: query
name: path
description: Subfolder of the repository to be downloaded
type: string
required: false
example: files/archives
- in: query
name: include_lfs_blobs
description: Used to exclude LFS objects from archive
type: boolean
default: true
required: false
- in: query
name: exclude_paths
description: Comma-separated list of paths to exclude from the archive
type: array
items:
type: string
required: false
responses:
'200':
description: Get an archive of the repository
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryArchive
"/api/v4/projects/{id}/repository/compare":
get:
description: Compare two branches, tags, or commits
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: from
description: The commit, branch name, or tag name to start comparison
type: string
required: true
example: main
- in: query
name: to
description: The commit, branch name, or tag name to stop comparison
type: string
required: true
example: feature
- in: query
name: from_project_id
description: The project to compare from
type: integer
format: int32
required: false
example: 1
- in: query
name: straight
description: Comparison method, `true` for direct comparison between `from`
and `to` (`from`..`to`), `false` to compare using merge base (`from`...`to`)
type: boolean
default: false
required: false
- in: query
name: unidiff
description: A diff in a Unified diff format
type: boolean
default: false
required: false
responses:
'200':
description: Compare two branches, tags, or commits
schema:
"$ref": "#/definitions/API_Entities_Compare"
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryCompare
"/api/v4/projects/{id}/repository/health":
get:
description: Get repository health
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: generate
description: Triggers a new health report to be generated
type: boolean
default: false
required: false
responses:
'200':
description: Get repository health
schema:
"$ref": "#/definitions/API_Entities_RepositoryHealth"
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryHealth
"/api/v4/projects/{id}/repository/contributors":
get:
description: Get repository contributors
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: ref
description: The name of a repository branch or tag, if not given the default
branch is used
type: string
required: false
example: main
- in: query
name: order_by
description: Return contributors ordered by `name` or `email` or `commits`
type: string
default: commits
enum:
- email
- name
- commits
required: false
- in: query
name: sort
description: Sort by asc (ascending) or desc (descending)
type: string
default: asc
enum:
- asc
- desc
required: false
responses:
'200':
description: Get repository contributors
schema:
"$ref": "#/definitions/API_Entities_Contributor"
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryContributors
"/api/v4/projects/{id}/repository/merge_base":
get:
description: Get the common ancestor between commits
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: refs
description: The refs to find the common ancestor of, multiple refs can be
passed
type: array
items:
type: string
required: true
example: main
responses:
'200':
description: Get the common ancestor between commits
schema:
"$ref": "#/definitions/API_Entities_Commit"
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryMergeBase
"/api/v4/projects/{id}/repository/changelog":
get:
summary: Generates a changelog section for a release and returns it
description: This feature was introduced in GitLab 14.6
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- in: query
name: version
description: The version of the release, using the semantic versioning format
type: string
required: true
example: 1.0.0
- in: query
name: from
description: The first commit in the range of commits to use for the changelog
type: string
required: false
example: ed899a2f4b50b4370feeea94676502b42383c746
- in: query
name: to
description: The last commit in the range of commits to use for the changelog
type: string
required: false
example: 6104942438c14ec7bd21c6cd5bd995272b3faff6
- in: query
name: date
description: The date and time of the release
type: string
format: date-time
required: false
example: '2021-09-20T11:50:22.001+00:00'
- in: query
name: trailer
description: The Git trailer to use for determining if commits are to be included
in the changelog
type: string
default: Changelog
required: false
example: Changelog
- in: query
name: config_file
description: The file path to the configuration file as stored in the project's
Git repository. Defaults to '.gitlab/changelog_config.yml'
type: string
required: false
example: ".gitlab/changelog_config.yml"
- in: query
name: config_file_ref
description: The git reference (for example, branch) where the changelog configuration
file is defined. Defaults to the default repository branch.
type: string
required: false
example: main
responses:
'200':
description: Generates a changelog section for a release and returns it
schema:
"$ref": "#/definitions/API_Entities_Changelog"
tags:
- projects
operationId: getApiV4ProjectsIdRepositoryChangelog
post:
summary: Generates a changelog section for a release and commits it in a changelog
file
description: This feature was introduced in GitLab 13.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
example: 1
- name: postApiV4ProjectsIdRepositoryChangelog
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryChangelog"
responses:
'200':
description: Generates a changelog section for a release and commits it
in a changelog file
tags:
- projects
operationId: postApiV4ProjectsIdRepositoryChangelog
"/api/v4/projects/{id}/access_tokens/self/rotate":
post:
summary: Rotate a resource access token
description: Rotates a resource access token by passing it to the API in a header
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The project ID
type: string
required: true
- name: postApiV4ProjectsIdAccessTokensSelfRotate
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdAccessTokensSelfRotate"
responses:
'200':
description: Rotate a resource access token
schema:
"$ref": "#/definitions/API_Entities_ResourceAccessTokenWithToken"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'405':
description: Method not allowed
tags:
- personal_access_tokens
operationId: postApiV4ProjectsIdAccessTokensSelfRotate
"/api/v4/projects/{id}/issues/{eventable_id}/resource_milestone_events":
get:
summary: List project Issue milestone events
description: Gets a list of all milestone events for a single Issue
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: eventable_id
description: The ID of the eventable
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List project Issue milestone events
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ResourceMilestoneEvent"
tags:
- resource_milestone_events
operationId: getApiV4ProjectsIdIssuesEventableIdResourceMilestoneEvents
"/api/v4/projects/{id}/issues/{eventable_id}/resource_milestone_events/{event_id}":
get:
summary: Get single Issue milestone event
description: Returns a single milestone event for a specific project Issue
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: event_id
description: The ID of a resource milestone event
type: string
required: true
- in: path
name: eventable_id
description: The ID of the eventable
type: integer
format: int32
required: true
responses:
'200':
description: Get single Issue milestone event
schema:
"$ref": "#/definitions/API_Entities_ResourceMilestoneEvent"
'404':
description: Not found
tags:
- resource_milestone_events
operationId: getApiV4ProjectsIdIssuesEventableIdResourceMilestoneEventsEventId
"/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_milestone_events":
get:
summary: List project Merge request milestone events
description: Gets a list of all milestone events for a single Merge request
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: eventable_id
description: The ID of the eventable
type: integer
format: int32
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List project Merge request milestone events
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_ResourceMilestoneEvent"
tags:
- resource_milestone_events
operationId: getApiV4ProjectsIdMergeRequestsEventableIdResourceMilestoneEvents
"/api/v4/projects/{id}/merge_requests/{eventable_id}/resource_milestone_events/{event_id}":
get:
summary: Get single Merge request milestone event
description: Returns a single milestone event for a specific project Merge request
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: event_id
description: The ID of a resource milestone event
type: string
required: true
- in: path
name: eventable_id
description: The ID of the eventable
type: integer
format: int32
required: true
responses:
'200':
description: Get single Merge request milestone event
schema:
"$ref": "#/definitions/API_Entities_ResourceMilestoneEvent"
'404':
description: Not found
tags:
- resource_milestone_events
operationId: getApiV4ProjectsIdMergeRequestsEventableIdResourceMilestoneEventsEventId
"/api/v4/projects/{id}/packages/rpm/repodata/*file_name":
get:
summary: Download repository metadata files
description: This feature was introduced in GitLab 15.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: file_name
description: Repository metadata file name
type: string
required: true
responses:
'200':
description: Download repository metadata files
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rpm_packages
operationId: getApiV4ProjectsIdPackagesRpmRepodata*fileName
"/api/v4/projects/{id}/packages/rpm/*package_file_id/*file_name":
get:
summary: Download RPM package files
description: This feature was introduced in GitLab 15.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: package_file_id
description: RPM package file id
type: integer
format: int32
required: true
- in: query
name: file_name
description: RPM package file name
type: string
required: true
responses:
'200':
description: Download RPM package files
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rpm_packages
operationId: getApiV4ProjectsIdPackagesRpm*packageFileId*fileName
"/api/v4/projects/{id}/packages/rpm":
post:
summary: Upload a RPM package
description: This feature was introduced in GitLab 15.7
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Upload a RPM package
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rpm_packages
operationId: postApiV4ProjectsIdPackagesRpm
"/api/v4/projects/{id}/packages/rpm/authorize":
post:
summary: Authorize package upload from workhorse
description: This feature was introduced in GitLab 15.7
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
responses:
'201':
description: Authorize package upload from workhorse
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rpm_packages
operationId: postApiV4ProjectsIdPackagesRpmAuthorize
"/api/v4/projects/{id}/packages/rubygems/{file_name}":
get:
summary: Download the spec index file
description: This feature was introduced in GitLab 13.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: integer
format: int32
required: true
- in: path
name: file_name
description: Spec file name
type: file
required: true
responses:
'200':
description: Download the spec index file
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- rubygem_packages
operationId: getApiV4ProjectsIdPackagesRubygemsFileName
"/api/v4/projects/{id}/packages/rubygems/quick/Marshal.4.8/{file_name}":
get:
summary: Download the gemspec file
description: This feature was introduced in GitLab 13.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: integer
format: int32
required: true
- in: path
name: file_name
description: Gemspec file name
type: file
required: true
responses:
'200':
description: Download the gemspec file
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- rubygem_packages
operationId: getApiV4ProjectsIdPackagesRubygemsQuickMarshal48FileName
"/api/v4/projects/{id}/packages/rubygems/gems/{file_name}":
get:
summary: Download the .gem package
description: This feature was introduced in GitLab 13.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: integer
format: int32
required: true
- in: path
name: file_name
description: Package file name
type: file
required: true
responses:
'200':
description: Download the .gem package
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rubygem_packages
operationId: getApiV4ProjectsIdPackagesRubygemsGemsFileName
"/api/v4/projects/{id}/packages/rubygems/api/v1/gems/authorize":
post:
summary: Authorize a gem upload from workhorse
description: This feature was introduced in GitLab 13.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: integer
format: int32
required: true
responses:
'200':
description: Authorize a gem upload from workhorse
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- rubygem_packages
operationId: postApiV4ProjectsIdPackagesRubygemsApiV1GemsAuthorize
"/api/v4/projects/{id}/packages/rubygems/api/v1/gems":
post:
summary: Upload a gem
description: This feature was introduced in GitLab 13.9
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdPackagesRubygemsApiV1Gems
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdPackagesRubygemsApiV1Gems"
responses:
'201':
description: Upload a gem
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rubygem_packages
operationId: postApiV4ProjectsIdPackagesRubygemsApiV1Gems
"/api/v4/projects/{id}/packages/rubygems/api/v1/dependencies":
get:
summary: Fetch a list of dependencies
description: This feature was introduced in GitLab 13.9
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: integer
format: int32
required: true
- in: query
name: gems
description: Comma delimited gem names
type: array
items:
type: string
required: false
responses:
'200':
description: Fetch a list of dependencies
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- rubygem_packages
operationId: getApiV4ProjectsIdPackagesRubygemsApiV1Dependencies
"/api/v4/projects/{id}/repository/submodules/{submodule}":
put:
description: Update existing submodule reference in repository
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a project
type: string
required: true
example: gitlab-org/gitlab
- in: path
name: submodule
description: Url encoded full path to submodule.
type: string
required: true
example: gitlab-org/gitlab-shell
- name: putApiV4ProjectsIdRepositorySubmodulesSubmodule
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdRepositorySubmodulesSubmodule"
responses:
'200':
description: Update existing submodule reference in repository
schema:
"$ref": "#/definitions/API_Entities_CommitDetail"
'404':
description: 404 Project Not Found
'401':
description: 401 Unauthorized
'400':
description: The repository is empty
tags:
- projects
operationId: putApiV4ProjectsIdRepositorySubmodulesSubmodule
"/api/v4/projects/{id}/repository/tags":
get:
description: Get a project repository tags
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: sort
description: Return tags sorted in updated by `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: order_by
description: Return tags ordered by `name`, `updated`, `version` fields.
type: string
default: updated
enum:
- name
- updated
- version
required: false
- in: query
name: search
description: Return list of tags matching the search criteria
type: string
required: false
- in: query
name: page_token
description: Name of tag to start the paginaition from
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a project repository tags
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Tag"
'403':
description: Unauthenticated
'404':
description: Not found
'422':
description: Unprocessable entity
'503':
description: Service unavailable
tags:
- tags
operationId: getApiV4ProjectsIdRepositoryTags
post:
description: Create a new repository tag
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- name: postApiV4ProjectsIdRepositoryTags
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdRepositoryTags"
responses:
'201':
description: Create a new repository tag
schema:
"$ref": "#/definitions/API_Entities_Tag"
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- tags
operationId: postApiV4ProjectsIdRepositoryTags
"/api/v4/projects/{id}/repository/tags/{tag_name}":
get:
description: Get a single repository tag
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The name of the tag
type: string
required: true
responses:
'200':
description: Get a single repository tag
schema:
"$ref": "#/definitions/API_Entities_Tag"
'403':
description: Unauthenticated
'404':
description: Not found
tags:
- tags
operationId: getApiV4ProjectsIdRepositoryTagsTagName
delete:
description: Delete a repository tag
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The name of the tag
type: string
required: true
responses:
'204':
description: Delete a repository tag
'400':
description: Bad request
'403':
description: Unauthenticated
'404':
description: Not found
'412':
description: Precondition failed
tags:
- tags
operationId: deleteApiV4ProjectsIdRepositoryTagsTagName
"/api/v4/projects/{id}/repository/tags/{tag_name}/signature":
get:
description: Get a tag's signature
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: tag_name
description: The name of the tag
type: string
required: true
responses:
'200':
description: Get a tag's signature
schema:
"$ref": "#/definitions/API_Entities_TagSignature"
'404':
description: Not found
tags:
- tags
operationId: getApiV4ProjectsIdRepositoryTagsTagNameSignature
"/api/v4/projects/{id}/packages/terraform/modules/{module_name}/{module_system}":
get:
summary: Download the latest version of a module
description: This feature was introduced in GitLab 16.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: string
required: true
- in: path
name: module_name
description: Module name
type: string
required: true
example: infra-registry
- in: path
name: module_system
description: Module system
type: string
required: true
example: aws
- in: query
name: terraform-get
description: Terraform get redirection flag
type: string
enum:
- '1'
required: false
responses:
'204':
description: Download the latest version of a module
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem
"/api/v4/projects/{id}/packages/terraform/modules/{module_name}/{module_system}/*module_version":
get:
summary: Download a specific version of a module
description: This feature was introduced in GitLab 16.7
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: string
required: true
- in: path
name: module_name
description: Module name
type: string
required: true
example: infra-registry
- in: path
name: module_system
description: Module system
type: string
required: true
example: aws
- in: query
name: module_version
description: Module version
type: string
required: true
- in: query
name: terraform-get
description: Terraform get redirection flag
type: string
enum:
- '1'
required: false
responses:
'204':
description: Download a specific version of a module
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersion
"/api/v4/projects/{id}/packages/terraform/modules/{module_name}/{module_system}/*module_version/file/authorize":
put:
summary: Workhorse authorize Terraform Module package file
description: This feature was introduced in GitLab 13.11
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or full path of a project
type: string
required: true
- in: path
name: module_name
description: Module name
type: string
required: true
example: infra-registry
- in: path
name: module_system
description: Module system
type: string
required: true
example: aws
- name: putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFileAuthorize
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFileAuthorize"
responses:
'200':
description: Workhorse authorize Terraform Module package file
'403':
description: Forbidden
tags:
- terraform_registry
operationId: putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFileAuthorize
"/api/v4/projects/{id}/packages/terraform/modules/{module_name}/{module_system}/*module_version/file":
put:
summary: Upload Terraform Module package file
description: This feature was introduced in GitLab 13.11
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: path
name: id
description: The ID or full path of a project
type: string
required: true
- in: path
name: module_name
description: Module name
type: string
required: true
example: infra-registry
- in: path
name: module_system
description: Module system
type: string
required: true
example: aws
- in: formData
name: module_version
description: Module version
type: string
required: true
- in: formData
name: file
description: The package file to be published (generated by Multipart middleware)
type: file
required: true
responses:
'201':
description: Upload Terraform Module package file
'400':
description: Invalid file
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFile
"/api/v4/projects/{id}/terraform/state/{name}":
get:
summary: Get a Terraform state by its name
description: Get a Terraform state by its name
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
description: The name of a Terraform state
type: string
required: true
- in: query
name: ID
description: Terraform state lock ID
type: string
required: false
responses:
'200':
description: Get a Terraform state by its name
'204':
description: Empty state
'403':
description: Forbidden
'404':
description: Not found
'422':
description: Validation failure
tags:
- terraform_state
operationId: getApiV4ProjectsIdTerraformStateName
post:
summary: Add a new Terraform state or update an existing one
description: Add a new Terraform state or update an existing one
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
type: integer
format: int32
required: true
responses:
'200':
description: Add a new Terraform state or update an existing one
'204':
description: No data provided
'403':
description: Forbidden
'422':
description: Validation failure
'413':
description: Request Entity Too Large
tags:
- terraform_state
operationId: postApiV4ProjectsIdTerraformStateName
delete:
summary: Delete a Terraform state of a certain name
description: Delete a Terraform state of a certain name
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
type: integer
format: int32
required: true
responses:
'204':
description: Delete a Terraform state of a certain name
'403':
description: Forbidden
'404':
description: Not found
'422':
description: Validation failure
tags:
- terraform_state
operationId: deleteApiV4ProjectsIdTerraformStateName
"/api/v4/projects/{id}/terraform/state/{name}/lock":
post:
summary: Lock a Terraform state of a certain name
description: Lock a Terraform state of a certain name
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdTerraformStateNameLock
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdTerraformStateNameLock"
responses:
'200':
description: Lock a Terraform state of a certain name
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
'422':
description: Validation failure
tags:
- terraform_state
operationId: postApiV4ProjectsIdTerraformStateNameLock
delete:
summary: Unlock a Terraform state of a certain name
description: Unlock a Terraform state of a certain name
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: query
name: ID
description: Terraform state lock ID
type: string
required: false
- in: path
name: name
type: integer
format: int32
required: true
responses:
'204':
description: Unlock a Terraform state of a certain name
'403':
description: Forbidden
'404':
description: Not found
'409':
description: Conflict
'422':
description: Validation failure
tags:
- terraform_state
operationId: deleteApiV4ProjectsIdTerraformStateNameLock
"/api/v4/projects/{id}/terraform/state/{name}/versions/{serial}":
get:
summary: Get a Terraform state version
description: Get a Terraform state version
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
description: The name of a Terraform state
type: string
required: true
- in: path
name: serial
description: The version number of the state
type: integer
format: int32
required: true
responses:
'200':
description: Get a Terraform state version
schema:
type: file
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_state
operationId: getApiV4ProjectsIdTerraformStateNameVersionsSerial
delete:
summary: Delete a Terraform state version
description: Delete a Terraform state version
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of the project
type: string
required: true
- in: path
name: name
type: integer
format: int32
required: true
- in: path
name: serial
type: integer
format: int32
required: true
responses:
'204':
description: Delete a Terraform state version
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_state
operationId: deleteApiV4ProjectsIdTerraformStateNameVersionsSerial
"/api/v4/projects/{id}/wikis":
get:
description: Get a list of wiki pages
produces:
- application/json
parameters:
- in: query
name: with_content
description: Include pages' content
type: boolean
default: false
required: false
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of wiki pages
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_WikiPageBasic"
'404':
description: Not found
tags:
- wikis
operationId: getApiV4ProjectsIdWikis
post:
description: Create a wiki page
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdWikis
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdWikis"
responses:
'201':
description: Create a wiki page
schema:
"$ref": "#/definitions/API_Entities_WikiPage"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- wikis
operationId: postApiV4ProjectsIdWikis
"/api/v4/projects/{id}/wikis/{slug}":
get:
description: Get a wiki page
produces:
- application/json
parameters:
- in: path
name: slug
description: The slug of a wiki page
type: string
required: true
- in: query
name: version
description: The version hash of a wiki page
type: string
required: false
- in: query
name: render_html
description: Render content to HTML
type: boolean
default: false
required: false
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get a wiki page
schema:
"$ref": "#/definitions/API_Entities_WikiPage"
'404':
description: Not found
tags:
- wikis
operationId: getApiV4ProjectsIdWikisSlug
put:
description: Update a wiki page
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- in: path
name: slug
type: integer
format: int32
required: true
- name: putApiV4ProjectsIdWikisSlug
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ProjectsIdWikisSlug"
responses:
'200':
description: Update a wiki page
schema:
"$ref": "#/definitions/API_Entities_WikiPage"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- wikis
operationId: putApiV4ProjectsIdWikisSlug
delete:
description: Delete a wiki page
produces:
- application/json
parameters:
- in: path
name: slug
description: The slug of a wiki page
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Delete a wiki page
'400':
description: Validation error
'404':
description: Not found
tags:
- wikis
operationId: deleteApiV4ProjectsIdWikisSlug
"/api/v4/projects/{id}/wikis/attachments":
post:
summary: Upload an attachment to the wiki repository
description: This feature was introduced in GitLab 11.3.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4ProjectsIdWikisAttachments
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ProjectsIdWikisAttachments"
responses:
'201':
description: Upload an attachment to the wiki repository
schema:
"$ref": "#/definitions/API_Entities_WikiAttachment"
'404':
description: Not found
tags:
- wikis
operationId: postApiV4ProjectsIdWikisAttachments
"/api/v4/admin/batched_background_migrations/{id}":
get:
description: Retrieve a batched background migration
produces:
- application/json
parameters:
- in: query
name: database
description: The name of the database
type: string
default: main
enum:
- main
- ci
- sec
- embedding
- geo
required: false
- in: path
name: id
description: The batched background migration id
type: integer
format: int32
required: true
responses:
'200':
description: Retrieve a batched background migration
schema:
"$ref": "#/definitions/API_Entities_BatchedBackgroundMigration"
'401':
description: 401 Unauthorized
'403':
description: 403 Forbidden
'404':
description: 404 Not found
tags:
- batched_background_migrations
operationId: getApiV4AdminBatchedBackgroundMigrationsId
"/api/v4/admin/batched_background_migrations/{id}/resume":
put:
description: Resume a batched background migration
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The batched background migration id
type: integer
format: int32
required: true
- name: putApiV4AdminBatchedBackgroundMigrationsIdResume
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4AdminBatchedBackgroundMigrationsIdResume"
responses:
'200':
description: Resume a batched background migration
schema:
"$ref": "#/definitions/API_Entities_BatchedBackgroundMigration"
'401':
description: 401 Unauthorized
'403':
description: 403 Forbidden
'404':
description: 404 Not found
'422':
description: You can resume only `paused` batched background migrations.
tags:
- batched_background_migrations
operationId: putApiV4AdminBatchedBackgroundMigrationsIdResume
"/api/v4/admin/batched_background_migrations/{id}/pause":
put:
description: Pause a batched background migration
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The batched background migration id
type: integer
format: int32
required: true
- name: putApiV4AdminBatchedBackgroundMigrationsIdPause
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4AdminBatchedBackgroundMigrationsIdPause"
responses:
'200':
description: Pause a batched background migration
schema:
"$ref": "#/definitions/API_Entities_BatchedBackgroundMigration"
'401':
description: 401 Unauthorized
'403':
description: 403 Forbidden
'404':
description: 404 Not found
'422':
description: You can pause only `active` batched background migrations.
tags:
- batched_background_migrations
operationId: putApiV4AdminBatchedBackgroundMigrationsIdPause
"/api/v4/admin/batched_background_migrations":
get:
description: Get the list of batched background migrations
produces:
- application/json
parameters:
- in: query
name: database
description: The name of the database, the default `main`
type: string
default: main
enum:
- main
- ci
- sec
- embedding
- geo
required: false
- in: query
name: job_class_name
description: Filter migrations by job class name.
type: string
required: false
responses:
'200':
description: Get the list of batched background migrations
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BatchedBackgroundMigration"
'401':
description: 401 Unauthorized
'403':
description: 403 Forbidden
tags:
- batched_background_migrations
operationId: getApiV4AdminBatchedBackgroundMigrations
"/api/v4/admin/ci/variables":
get:
description: List all instance-level variables
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List all instance-level variables
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
tags:
- ci_variables
operationId: getApiV4AdminCiVariables
post:
description: Create a new instance-level variable
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4AdminCiVariables
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4AdminCiVariables"
responses:
'201':
description: Create a new instance-level variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'400':
description: 400 Bad Request
tags:
- ci_variables
operationId: postApiV4AdminCiVariables
"/api/v4/admin/ci/variables/{key}":
get:
description: Get the details of a specific instance-level variable
produces:
- application/json
parameters:
- in: path
name: key
description: The key of a variable
type: string
required: true
responses:
'200':
description: Get the details of a specific instance-level variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'404':
description: Instance Variable Not Found
tags:
- ci_variables
operationId: getApiV4AdminCiVariablesKey
put:
description: Update an instance-level variable
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: key
description: The key of a variable
type: string
required: true
- name: putApiV4AdminCiVariablesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4AdminCiVariablesKey"
responses:
'200':
description: Update an instance-level variable
schema:
"$ref": "#/definitions/API_Entities_Ci_Variable"
'404':
description: Instance Variable Not Found
tags:
- ci_variables
operationId: putApiV4AdminCiVariablesKey
delete:
description: Delete an existing instance-level variable
produces:
- application/json
parameters:
- in: path
name: key
description: The key of a variable
type: string
required: true
responses:
'204':
description: Instance Variable Not Found
tags:
- ci_variables
operationId: deleteApiV4AdminCiVariablesKey
"/api/v4/admin/databases/{database_name}/dictionary/tables/{table_name}":
get:
description: Retrieve dictionary details
produces:
- application/json
parameters:
- in: path
name: database_name
description: The database name
type: string
enum:
- main
- ci
required: true
- in: path
name: table_name
description: The table name
type: string
required: true
responses:
'200':
description: Retrieve dictionary details
schema:
"$ref": "#/definitions/API_Entities_Dictionary_Table"
'401':
description: 401 Unauthorized
'403':
description: 403 Forbidden
'404':
description: 404 Not found
tags:
- admin
operationId: getApiV4AdminDatabasesDatabaseNameDictionaryTablesTableName
"/api/v4/admin/clusters":
get:
summary: List instance clusters
description: This feature was introduced in GitLab 13.2. Returns a list of instance
clusters.
produces:
- application/json
responses:
'200':
description: List instance clusters
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Cluster"
'403':
description: Forbidden
tags:
- clusters
operationId: getApiV4AdminClusters
"/api/v4/admin/clusters/{cluster_id}":
get:
summary: Get a single instance cluster
description: This feature was introduced in GitLab 13.2. Returns a single instance
cluster.
produces:
- application/json
parameters:
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
responses:
'200':
description: Get a single instance cluster
schema:
"$ref": "#/definitions/API_Entities_Cluster"
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: getApiV4AdminClustersClusterId
put:
summary: Edit instance cluster
description: This feature was introduced in GitLab 13.2. Updates an existing
instance cluster.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
- name: putApiV4AdminClustersClusterId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4AdminClustersClusterId"
responses:
'200':
description: Edit instance cluster
schema:
"$ref": "#/definitions/API_Entities_Cluster"
'400':
description: Validation error
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: putApiV4AdminClustersClusterId
delete:
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.
produces:
- application/json
parameters:
- in: path
name: cluster_id
description: The cluster ID
type: integer
format: int32
required: true
responses:
'403':
description: Forbidden
'204':
description: Delete instance cluster
schema:
"$ref": "#/definitions/API_Entities_Cluster"
'404':
description: Not found
tags:
- clusters
operationId: deleteApiV4AdminClustersClusterId
"/api/v4/admin/clusters/add":
post:
summary: Add existing instance cluster
description: This feature was introduced in GitLab 13.2. Adds an existing Kubernetes
instance cluster.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4AdminClustersAdd
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4AdminClustersAdd"
responses:
'201':
description: Add existing instance cluster
schema:
"$ref": "#/definitions/API_Entities_Cluster"
'400':
description: Validation error
'403':
description: Forbidden
'404':
description: Not found
tags:
- clusters
operationId: postApiV4AdminClustersAdd
"/api/v4/admin/migrations/{timestamp}/mark":
post:
description: Mark the migration as successfully executed
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: timestamp
description: The migration version timestamp
type: integer
format: int32
required: true
- name: postApiV4AdminMigrationsTimestampMark
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4AdminMigrationsTimestampMark"
responses:
'201':
description: 201 Created
'401':
description: 401 Unauthorized
'403':
description: 403 Forbidden
'404':
description: 404 Not found
'422':
description: You can mark only pending migrations
tags:
- migrations
operationId: postApiV4AdminMigrationsTimestampMark
"/api/v4/broadcast_messages":
get:
summary: Get all broadcast messages
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all broadcast messages
schema:
"$ref": "#/definitions/API_Entities_System_BroadcastMessage"
tags:
- broadcast_messages
operationId: getApiV4BroadcastMessages
post:
summary: Create a broadcast message
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4BroadcastMessages
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4BroadcastMessages"
responses:
'201':
description: Create a broadcast message
schema:
"$ref": "#/definitions/API_Entities_System_BroadcastMessage"
tags:
- broadcast_messages
operationId: postApiV4BroadcastMessages
"/api/v4/broadcast_messages/{id}":
get:
summary: Get a specific broadcast message
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
parameters:
- in: path
name: id
description: Broadcast message ID
type: integer
format: int32
required: true
responses:
'200':
description: Get a specific broadcast message
schema:
"$ref": "#/definitions/API_Entities_System_BroadcastMessage"
tags:
- broadcast_messages
operationId: getApiV4BroadcastMessagesId
put:
summary: Update a broadcast message
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: Broadcast message ID
type: integer
format: int32
required: true
- name: putApiV4BroadcastMessagesId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4BroadcastMessagesId"
responses:
'200':
description: Update a broadcast message
schema:
"$ref": "#/definitions/API_Entities_System_BroadcastMessage"
tags:
- broadcast_messages
operationId: putApiV4BroadcastMessagesId
delete:
summary: Delete a broadcast message
description: This feature was introduced in GitLab 8.12.
produces:
- application/json
parameters:
- in: path
name: id
description: Broadcast message ID
type: integer
format: int32
required: true
responses:
'200':
description: Delete a broadcast message
schema:
"$ref": "#/definitions/API_Entities_System_BroadcastMessage"
tags:
- broadcast_messages
operationId: deleteApiV4BroadcastMessagesId
"/api/v4/applications":
post:
summary: Create a new application
description: This feature was introduced in GitLab 10.5
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Applications
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Applications"
responses:
'200':
description: Create a new application
schema:
"$ref": "#/definitions/API_Entities_ApplicationWithSecret"
tags:
- applications
operationId: postApiV4Applications
get:
summary: Get applications
description: List all registered applications
produces:
- application/json
responses:
'200':
description: Get applications
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Application"
tags:
- applications
operationId: getApiV4Applications
"/api/v4/applications/{id}":
delete:
summary: Delete an application
description: Delete a specific application
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of the application (not the application_id)
type: integer
format: int32
required: true
responses:
'204':
description: Delete an application
tags:
- applications
operationId: deleteApiV4ApplicationsId
"/api/v4/applications/{id}/renew-secret":
post:
summary: Renew an application secret
description: Renew the secret of a specific application
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of the application (not the application_id)
type: integer
format: int32
required: true
responses:
'200':
description: Renew an application secret
schema:
"$ref": "#/definitions/API_Entities_ApplicationWithSecret"
tags:
- applications
operationId: postApiV4ApplicationsIdRenewSecret
"/api/v4/avatar":
get:
description: Return avatar url for a user
produces:
- application/json
parameters:
- in: query
name: email
description: Public email address of the user
type: string
required: true
- in: query
name: size
description: Single pixel dimension for Gravatar images
type: integer
format: int32
required: false
responses:
'200':
description: Return avatar url for a user
schema:
"$ref": "#/definitions/API_Entities_Avatar"
tags:
- avatar
operationId: getApiV4Avatar
"/api/v4/bulk_imports":
post:
summary: Start a new GitLab Migration
description: This feature was introduced in GitLab 14.2.
produces:
- application/json
consumes:
- application/x-www-form-urlencoded
parameters:
- in: formData
name: configuration[url]
description: Source GitLab instance URL
type: string
required: true
- in: formData
name: configuration[access_token]
description: Access token to the source GitLab instance
type: string
required: true
- in: formData
name: entities[source_type]
description: Source entity type
type: array
required: true
items:
type: string
enum:
- group_entity
- project_entity
- in: formData
name: entities[source_full_path]
description: Relative path of the source entity to import
type: array
required: true
example: "'source/full/path' not 'https://example.com/source/full/path'"
items:
type: string
- in: formData
name: entities[destination_namespace]
description: Destination namespace for the entity
type: array
required: true
example: "'destination_namespace' or 'destination/namespace'"
items:
type: string
- in: formData
name: entities[destination_slug]
description: Destination slug for the entity
type: array
required: false
example: "'destination_slug' not 'destination/slug'"
items:
type: string
- in: formData
name: entities[destination_name]
description: 'Deprecated: Use :destination_slug instead. Destination slug
for the entity'
type: array
required: false
example: "'destination_slug' not 'destination/slug'"
items:
type: string
- in: formData
name: entities[migrate_projects]
description: Indicates group migration should include nested projects
type: array
default: true
required: false
items:
type: boolean
- in: formData
name: entities[migrate_memberships]
description: The option to migrate memberships or not
type: array
default: true
required: false
items:
type: boolean
responses:
'200':
description: Start a new GitLab Migration
schema:
"$ref": "#/definitions/API_Entities_BulkImport"
'401':
description: Unauthorized
'400':
description: Bad request
'404':
description: Not found
'422':
description: Unprocessable entity
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: postApiV4BulkImports
get:
summary: List all GitLab Migrations
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: sort
description: Return GitLab Migrations sorted in created by `asc` or `desc`
order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: status
description: Return GitLab Migrations with specified status
type: string
enum:
- created
- started
- finished
- timeout
- failed
- canceled
required: false
responses:
'200':
description: List all GitLab Migrations
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BulkImport"
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: getApiV4BulkImports
"/api/v4/bulk_imports/entities":
get:
summary: List all GitLab Migrations' entities
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: sort
description: Return GitLab Migrations sorted in created by `asc` or `desc`
order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: status
description: Return all GitLab Migrations' entities with specified status
type: string
enum:
- created
- started
- finished
- timeout
- failed
- canceled
required: false
responses:
'200':
description: List all GitLab Migrations' entities
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BulkImports"
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: getApiV4BulkImportsEntities
"/api/v4/bulk_imports/{import_id}":
get:
summary: Get GitLab Migration details
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
responses:
'200':
description: Get GitLab Migration details
schema:
"$ref": "#/definitions/API_Entities_BulkImport"
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: getApiV4BulkImportsImportId
"/api/v4/bulk_imports/{import_id}/entities":
get:
summary: List GitLab Migration entities
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
- in: query
name: status
description: Return import entities with specified status
type: string
enum:
- created
- started
- finished
- timeout
- failed
- canceled
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List GitLab Migration entities
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BulkImports"
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: getApiV4BulkImportsImportIdEntities
"/api/v4/bulk_imports/{import_id}/entities/{entity_id}":
get:
summary: Get GitLab Migration entity details
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
- in: path
name: entity_id
description: The ID of GitLab Migration entity
type: integer
format: int32
required: true
responses:
'200':
description: Get GitLab Migration entity details
schema:
"$ref": "#/definitions/API_Entities_BulkImports"
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: getApiV4BulkImportsImportIdEntitiesEntityId
"/api/v4/bulk_imports/{import_id}/entities/{entity_id}/failures":
get:
summary: Get GitLab Migration entity failures
description: This feature was introduced in GitLab 16.6
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
- in: path
name: entity_id
description: The ID of GitLab Migration entity
type: integer
format: int32
required: true
responses:
'200':
description: Get GitLab Migration entity failures
schema:
"$ref": "#/definitions/API_Entities_BulkImports_EntityFailure"
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: getApiV4BulkImportsImportIdEntitiesEntityIdFailures
"/api/v4/bulk_imports/{import_id}/cancel":
post:
summary: Cancel GitLab Migration
description: This feature was introduced in GitLab 17.1
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
responses:
'200':
description: Cancel GitLab Migration
schema:
"$ref": "#/definitions/API_Entities_BulkImport"
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- bulk_imports
operationId: postApiV4BulkImportsImportIdCancel
"/api/v4/job":
get:
description: Get current job using job token
produces:
- application/json
responses:
'200':
description: Get current job using job token
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- job
operationId: getApiV4Job
"/api/v4/job/allowed_agents":
get:
summary: Get current agents
description: Retrieves a list of agents for the given job token
produces:
- application/json
responses:
'200':
description: Get current agents
schema:
"$ref": "#/definitions/API_Entities_Ci_Job"
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
tags:
- job
operationId: getApiV4JobAllowedAgents
"/api/v4/runners":
post:
summary: Register a new runner
description: Register a new runner for the instance
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Runners
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Runners"
responses:
'201':
description: Register a new runner
schema:
"$ref": "#/definitions/API_Entities_Ci_RunnerRegistrationDetails"
'400':
description: Bad Request
'403':
description: Forbidden
'410':
description: Gone
tags:
- runners
operationId: postApiV4Runners
delete:
summary: Delete a runner by authentication token
description: Delete a registered runner
produces:
- application/json
parameters:
- in: query
name: token
description: The runner's authentication token
type: string
required: true
responses:
'204':
description: Delete a registered runner
'403':
description: Forbidden
tags:
- runners
operationId: deleteApiV4Runners
get:
summary: List owned runners
description: Get runners available for user
produces:
- application/json
parameters:
- in: query
name: scope
description: 'Deprecated: Use `type` or `status` instead. The scope of runners
to return'
type: string
enum:
- specific
- shared
- instance_type
- group_type
- project_type
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: type
description: The type of runners to return
type: string
enum:
- instance_type
- group_type
- project_type
required: false
- in: query
name: paused
description: Whether to include only runners that are accepting or ignoring
new jobs
type: boolean
required: false
- in: query
name: status
description: The status of runners to return
type: string
enum:
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: tag_list
description: A list of runner tags
type: array
items:
type: string
required: false
example: "['macos', 'shell']"
- in: query
name: version_prefix
description: The version prefix of runners to return
type: string
required: false
example: "'15.1.' or '16.'"
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get runners available for user
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'400':
description: Scope contains invalid value
'401':
description: Unauthorized
tags:
- runners
operationId: getApiV4Runners
"/api/v4/runners/managers":
delete:
summary: Internal endpoint that deletes a runner manager by authentication token
and system ID.
description: Delete a registered runner manager
produces:
- application/json
parameters:
- in: query
name: token
description: The runner's authentication token
type: string
required: true
- in: query
name: system_id
description: The runner's system identifier.
type: string
required: true
responses:
'204':
description: Runner manager was deleted
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- runners
operationId: deleteApiV4RunnersManagers
"/api/v4/runners/verify":
post:
summary: Verify authentication for a registered runner
description: Validate authentication credentials
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4RunnersVerify
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4RunnersVerify"
responses:
'200':
description: Credentials are valid
'403':
description: Forbidden
'422':
description: Runner is orphaned
tags:
- runners
operationId: postApiV4RunnersVerify
"/api/v4/runners/reset_authentication_token":
post:
description: Reset runner authentication token with current token
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4RunnersResetAuthenticationToken
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4RunnersResetAuthenticationToken"
responses:
'201':
description: Reset runner authentication token with current token
schema:
"$ref": "#/definitions/API_Entities_Ci_ResetTokenResult"
'403':
description: Forbidden
tags:
- runners
operationId: postApiV4RunnersResetAuthenticationToken
"/api/v4/runners/all":
get:
summary: List all runners
description: Get a list of all runners in the GitLab instance (shared and project).
Access is restricted to users with either administrator access or auditor
access.
produces:
- application/json
parameters:
- in: query
name: scope
description: 'Deprecated: Use `type` or `status` instead. The scope of runners
to return'
type: string
enum:
- specific
- shared
- instance_type
- group_type
- project_type
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: type
description: The type of runners to return
type: string
enum:
- instance_type
- group_type
- project_type
required: false
- in: query
name: paused
description: Whether to include only runners that are accepting or ignoring
new jobs
type: boolean
required: false
- in: query
name: status
description: The status of runners to return
type: string
enum:
- active
- paused
- online
- offline
- never_contacted
- stale
required: false
- in: query
name: tag_list
description: A list of runner tags
type: array
items:
type: string
required: false
example: "['macos', 'shell']"
- in: query
name: version_prefix
description: The version prefix of runners to return
type: string
required: false
example: "'15.1.' or '16.'"
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all runners - shared and project
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'400':
description: Scope contains invalid value
'401':
description: Unauthorized
tags:
- runners
operationId: getApiV4RunnersAll
"/api/v4/runners/{id}":
get:
summary: Get runner's details
description: At least the Maintainer role is required to get runner details
at the project and group level. Instance-level runner details via this endpoint
are available to all signed in users.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a runner
type: integer
format: int32
required: true
responses:
'200':
description: Get runner's details
schema:
"$ref": "#/definitions/API_Entities_Ci_RunnerDetails"
'401':
description: Unauthorized
'403':
description: No access granted
'404':
description: Runner not found
tags:
- runners
operationId: getApiV4RunnersId
put:
summary: Update details of a runner
description: Update runner's details
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a runner
type: integer
format: int32
required: true
- name: putApiV4RunnersId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4RunnersId"
responses:
'200':
description: Update runner's details
schema:
"$ref": "#/definitions/API_Entities_Ci_RunnerDetails"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: No access granted
'404':
description: Runner not found
tags:
- runners
operationId: putApiV4RunnersId
delete:
summary: Delete a runner
description: Remove a runner
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a runner
type: integer
format: int32
required: true
responses:
'401':
description: Unauthorized
'204':
description: Remove a runner
schema:
"$ref": "#/definitions/API_Entities_Ci_Runner"
'403':
description: No access granted
'404':
description: Runner not found
'412':
description: Precondition Failed
tags:
- runners
operationId: deleteApiV4RunnersId
"/api/v4/runners/{id}/managers":
get:
description: Get a list of all runner's managers
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a runner
type: integer
format: int32
required: true
responses:
'200':
description: Get a list of all runner's managers
schema:
"$ref": "#/definitions/API_Entities_Ci_RunnerManager"
'403':
description: Forbidden
tags:
- runners
operationId: getApiV4RunnersIdManagers
"/api/v4/runners/{id}/jobs":
get:
summary: List runner's jobs
description: List jobs that are being processed or were processed by the specified
runner. The list of jobs is limited to projects where the user has at least
the Reporter role.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a runner
type: integer
format: int32
required: true
- in: query
name: system_id
description: System ID associated with the runner manager
type: string
required: false
- in: query
name: status
description: Status of the job
type: string
enum:
- created
- waiting_for_resource
- preparing
- waiting_for_callback
- pending
- running
- success
- failed
- canceling
- canceled
- skipped
- manual
- scheduled
required: false
- in: query
name: order_by
description: Order by `id`
type: string
enum:
- id
required: false
- in: query
name: sort
description: Sort by `asc` or `desc` order. Specify `order_by` as well, including
for `id`
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: cursor
description: Cursor for obtaining the next set of records
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List jobs running on a runner
schema:
"$ref": "#/definitions/API_Entities_Ci_JobBasicWithProject"
'401':
description: Unauthorized
'403':
description: No access granted
'404':
description: Runner not found
tags:
- runners
- jobs
operationId: getApiV4RunnersIdJobs
"/api/v4/runners/{id}/reset_authentication_token":
post:
summary: Reset runner's authentication token
description: Reset runner authentication token
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of the runner
type: integer
format: int32
required: true
responses:
'201':
description: Reset runner authentication token
schema:
"$ref": "#/definitions/API_Entities_Ci_ResetTokenResult"
'403':
description: No access granted
'404':
description: Runner not found
tags:
- runners
operationId: postApiV4RunnersIdResetAuthenticationToken
"/api/v4/runners/reset_registration_token":
post:
summary: Reset instance's runner registration token
description: Reset runner registration token
produces:
- application/json
consumes:
- application/json
responses:
'201':
description: Reset runner registration token
schema:
"$ref": "#/definitions/API_Entities_Ci_ResetTokenResult"
'403':
description: Forbidden
tags:
- runners
- groups
operationId: postApiV4RunnersResetRegistrationToken
"/api/v4/jobs/request":
post:
description: Request a job
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4JobsRequest
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4JobsRequest"
responses:
'201':
description: Job was scheduled
'204':
description: No job for Runner
'403':
description: Forbidden
'409':
description: Conflict
'422':
description: Runner is orphaned
tags:
- jobs
operationId: postApiV4JobsRequest
"/api/v4/jobs/{id}":
put:
description: Update a job
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: Job's ID
type: integer
format: int32
required: true
- name: putApiV4JobsId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4JobsId"
responses:
'200':
description: Job was updated
'202':
description: Update accepted
'400':
description: Unknown parameters
'403':
description: Forbidden
tags:
- jobs
operationId: putApiV4JobsId
"/api/v4/jobs/{id}/trace":
patch:
description: Append a patch to the job trace
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: Job's ID
type: integer
format: int32
required: true
- name: patchApiV4JobsIdTrace
in: body
required: true
schema:
"$ref": "#/definitions/patchApiV4JobsIdTrace"
responses:
'202':
description: Trace was patched
'400':
description: Missing Content-Range header
'403':
description: Forbidden
'416':
description: Range not satisfiable
tags:
- jobs
operationId: patchApiV4JobsIdTrace
"/api/v4/jobs/{id}/artifacts/authorize":
post:
description: Authorize uploading job artifact
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: Job's ID
type: integer
format: int32
required: true
- name: postApiV4JobsIdArtifactsAuthorize
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4JobsIdArtifactsAuthorize"
responses:
'200':
description: Upload allowed
'403':
description: Forbidden
'405':
description: Artifacts support not enabled
'413':
description: File too large
tags:
- jobs
operationId: postApiV4JobsIdArtifactsAuthorize
"/api/v4/jobs/{id}/artifacts":
post:
description: Upload a job artifact
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: Job's ID
type: integer
format: int32
required: true
- name: postApiV4JobsIdArtifacts
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4JobsIdArtifacts"
responses:
'201':
description: Artifact uploaded
'400':
description: Bad request
'403':
description: Forbidden
'405':
description: Artifacts support not enabled
'413':
description: File too large
tags:
- jobs
operationId: postApiV4JobsIdArtifacts
get:
description: Download the artifacts file for job
produces:
- application/json
parameters:
- in: path
name: id
description: Job's ID
type: integer
format: int32
required: true
- in: query
name: token
description: Job's authentication token
type: string
required: false
- in: query
name: direct_download
description: Perform direct download from remote storage instead of proxying
artifacts
type: boolean
default: false
required: false
responses:
'200':
description: Download allowed
'302':
description: Found
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Artifact not found
tags:
- jobs
operationId: getApiV4JobsIdArtifacts
"/api/v4/group/{id}/-/packages/composer/packages":
get:
summary: Composer packages endpoint at group level
description: This feature was introduced in GitLab 13.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a group
type: string
required: true
responses:
'200':
description: Composer packages endpoint at group level
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- composer_packages
operationId: getApiV4GroupIdPackagesComposerPackages
"/api/v4/group/{id}/-/packages/composer/p/{sha}":
get:
summary: Composer packages endpoint at group level for packages list
description: This feature was introduced in GitLab 13.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a group
type: string
required: true
- in: path
name: sha
description: Shasum of current json
type: string
required: true
example: 673594f85a55fe3c0eb45df7bd2fa9d95a1601ab
responses:
'200':
description: Composer packages endpoint at group level for packages list
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- composer_packages
operationId: getApiV4GroupIdPackagesComposerPSha
"/api/v4/group/{id}/-/packages/composer/p2/*package_name":
get:
summary: Composer v2 packages p2 endpoint at group level for package versions
metadata
description: This feature was introduced in GitLab 13.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a group
type: string
required: true
- in: query
name: package_name
description: The Composer package name
type: string
required: true
example: my-composer-package
responses:
'200':
description: Composer v2 packages p2 endpoint at group level for package
versions metadata
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- composer_packages
operationId: getApiV4GroupIdPackagesComposerP2*packageName
"/api/v4/group/{id}/-/packages/composer/*package_name":
get:
summary: Composer packages endpoint at group level for package versions metadata
description: This feature was introduced in GitLab 12.1
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or URL-encoded path of a group
type: string
required: true
- in: query
name: package_name
description: The Composer package name
type: string
required: true
example: my-composer-package
responses:
'200':
description: Composer packages endpoint at group level for package versions
metadata
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- composer_packages
operationId: getApiV4GroupIdPackagesComposer*packageName
"/api/v4/packages/conan/v1/users/authenticate":
get:
summary: Authenticate user against conan CLI
description: This feature was introduced in GitLab 12.2
produces:
- application/json
responses:
'200':
description: Authenticate user against conan CLI
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1UsersAuthenticate
"/api/v4/packages/conan/v1/users/check_credentials":
get:
summary: Check for valid user credentials per conan CLI
description: This feature was introduced in GitLab 12.4
produces:
- application/json
responses:
'200':
description: Check for valid user credentials per conan CLI
'401':
description: Unauthorized
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1UsersCheckCredentials
"/api/v4/packages/conan/v1/conans/search":
get:
summary: Search for packages
description: This feature was introduced in GitLab 12.4
produces:
- application/json
parameters:
- in: query
name: q
description: Search query
type: string
required: true
example: Hello*
responses:
'200':
description: Search for packages
'400':
description: Bad Request
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansSearch
"/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/search":
get:
summary: Get package references metadata
description: This feature was introduced in GitLab 18.0
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Get package references metadata
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelSearch
"/api/v4/packages/conan/v1/ping":
get:
summary: Ping the Conan API
description: This feature was introduced in GitLab 12.2
produces:
- application/json
responses:
'200':
description: Ping the Conan API
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1Ping
? "/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}"
: get:
summary: Package Snapshot
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Snapshot
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageSnapshot"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReference
"/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}":
get:
summary: Recipe Snapshot
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Snapshot
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeSnapshot"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannel
delete:
summary: Delete Package
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'204':
description: Delete Package
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: deleteApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannel
? "/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}/digest"
: get:
summary: Package Digest
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Digest
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReferenceDigest
"/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/digest":
get:
summary: Recipe Digest
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Digest
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelDigest
? "/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}/download_urls"
: get:
summary: Package Download Urls
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Download Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_PackageManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReferenceDownloadUrls
"/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/download_urls":
get:
summary: Recipe Download Urls
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Download Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_RecipeManifest"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelDownloadUrls
? "/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/packages/{conan_package_reference}/upload_urls"
: post:
summary: Package Upload Urls
description: This feature was introduced in GitLab 12.4
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: conan_package_reference
description: Conan package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
responses:
'200':
description: Package Upload Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_UploadUrls"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: postApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelPackagesConanPackageReferenceUploadUrls
"/api/v4/packages/conan/v1/conans/{package_name}/{package_version}/{package_username}/{package_channel}/upload_urls":
post:
summary: Recipe Upload Urls
description: This feature was introduced in GitLab 12.4
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
responses:
'200':
description: Recipe Upload Urls
schema:
"$ref": "#/definitions/API_Entities_Packages_Conan_UploadUrls"
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: postApiV4PackagesConanV1ConansPackageNamePackageVersionPackageUsernamePackageChannelUploadUrls
? "/api/v4/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/export/{file_name}"
: get:
summary: Download recipe files
description: This feature was introduced in GitLab 12.6
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
responses:
'200':
description: Download recipe files
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName
put:
summary: Upload recipe package files
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
- name: putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName"
responses:
'200':
description: Upload recipe package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName
? "/api/v4/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/export/{file_name}/authorize"
: put:
summary: Workhorse authorize the conan recipe file
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conanfile.py
responses:
'200':
description: Workhorse authorize the conan recipe file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileNameAuthorize
? "/api/v4/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/package/{conan_package_reference}/{package_revision}/{file_name}"
: get:
summary: Download package files
description: This feature was introduced in GitLab 12.5
produces:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: conan_package_reference
description: Conan Package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
- in: path
name: package_revision
description: Conan Package Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
responses:
'200':
description: Download package files
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: getApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
put:
summary: Upload package files
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: conan_package_reference
description: Conan Package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
- in: path
name: package_revision
description: Conan Package Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
- name: putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName"
responses:
'200':
description: Upload package files
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
? "/api/v4/packages/conan/v1/files/{package_name}/{package_version}/{package_username}/{package_channel}/{recipe_revision}/package/{conan_package_reference}/{package_revision}/{file_name}/authorize"
: put:
summary: Workhorse authorize the conan package file
description: This feature was introduced in GitLab 12.6
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: package_name
description: Package name
type: string
required: true
example: my-package
- in: path
name: package_version
description: Package version
type: string
required: true
example: '1.0'
- in: path
name: package_username
description: Package username
type: string
required: true
example: my-group+my-project
- in: path
name: package_channel
description: Package channel
type: string
required: true
example: stable
- in: path
name: recipe_revision
description: Conan Recipe Revision
type: string
required: true
example: '0'
- in: path
name: conan_package_reference
description: Conan Package ID
type: string
required: true
example: 103f6067a947f366ef91fc1b7da351c588d1827f
- in: path
name: package_revision
description: Conan Package Revision
type: string
required: true
example: '0'
- in: path
name: file_name
description: Package file name
type: string
enum:
- conanfile.py
- conanmanifest.txt
- conan_sources.tgz
- conan_export.tgz
- conaninfo.txt
- conan_package.tgz
required: true
example: conaninfo.txt
responses:
'200':
description: Workhorse authorize the conan package file
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- conan_packages
operationId: putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileNameAuthorize
"/api/v4/packages/maven/*path/{file_name}":
get:
summary: Download the maven package file at instance level
description: This feature was introduced in GitLab 11.6
produces:
- application/json
parameters:
- in: query
name: path
description: Package path
type: string
required: true
example: foo/bar/mypkg/1.0-SNAPSHOT
- in: path
name: file_name
description: Package file name
type: string
required: true
example: mypkg-1.0-SNAPSHOT.jar
responses:
'200':
description: Download the maven package file at instance level
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- maven_packages
operationId: getApiV4PackagesMaven*pathFileName
"/api/v4/packages/npm/-/package/*package_name/dist-tags":
get:
summary: Get all tags for a given an NPM package
description: This feature was introduced in GitLab 12.7
produces:
- application/json
parameters:
- in: query
name: package_name
description: Package name
type: string
required: true
responses:
'200':
description: Get all tags for a given an NPM package
schema:
"$ref": "#/definitions/API_Entities_NpmPackageTag"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4PackagesNpmPackage*packageNameDistTags
"/api/v4/packages/npm/-/package/*package_name/dist-tags/{tag}":
put:
summary: Create or Update the given tag for the given NPM package and version
description: This feature was introduced in GitLab 12.7
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: tag
description: Package dist-tag
type: string
required: true
- name: putApiV4PackagesNpmPackage*packageNameDistTagsTag
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4PackagesNpmPackage*packageNameDistTagsTag"
responses:
'204':
description: Create or Update the given tag for the given NPM package and
version
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: putApiV4PackagesNpmPackage*packageNameDistTagsTag
delete:
summary: Deletes the given tag
description: This feature was introduced in GitLab 12.7
produces:
- application/json
parameters:
- in: query
name: package_name
description: Package name
type: string
required: true
- in: path
name: tag
description: Package dist-tag
type: string
required: true
responses:
'204':
description: Deletes the given tag
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: deleteApiV4PackagesNpmPackage*packageNameDistTagsTag
"/api/v4/packages/npm/-/npm/v1/security/advisories/bulk":
post:
summary: NPM registry bulk advisory endpoint
description: This feature was introduced in GitLab 15.6
produces:
- application/json
consumes:
- application/json
responses:
'200':
description: Ok
'307':
description: Temporary Redirect
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: postApiV4PackagesNpmNpmV1SecurityAdvisoriesBulk
"/api/v4/packages/npm/-/npm/v1/security/audits/quick":
post:
summary: NPM registry quick audit endpoint
description: This feature was introduced in GitLab 15.6
produces:
- application/json
consumes:
- application/json
responses:
'200':
description: Ok
'307':
description: Temporary Redirect
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: postApiV4PackagesNpmNpmV1SecurityAuditsQuick
"/api/v4/packages/npm/*package_name":
get:
summary: NPM registry metadata endpoint
description: This feature was introduced in GitLab 11.8
produces:
- application/json
parameters:
- in: query
name: package_name
description: Package name
type: string
required: true
example: mypackage
responses:
'200':
description: Ok
schema:
"$ref": "#/definitions/API_Entities_NpmPackage"
'302':
description: Found (redirect)
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- npm_packages
operationId: getApiV4PackagesNpm*packageName
"/api/v4/packages/terraform/modules/v1/{module_namespace}/{module_name}/{module_system}/versions":
get:
summary: List versions for a module
description: List versions for a module
produces:
- application/json
parameters:
- in: path
name: module_namespace
description: Group's ID or slug
type: string
required: true
- in: path
name: module_name
description: ''
type: string
required: true
- in: path
name: module_system
type: string
required: true
responses:
'200':
description: List versions for a module
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Terraform_ModuleVersions"
'403':
description: Forbidden
tags:
- terraform_registry
operationId: getApiV4PackagesTerraformModulesV1ModuleNamespaceModuleNameModuleSystemVersions
"/api/v4/packages/terraform/modules/v1/{module_namespace}/{module_name}/{module_system}/download":
get:
summary: Get download location for the latest version of a module
description: Download the latest version of a module
produces:
- application/json
parameters:
- in: path
name: module_namespace
description: Group's ID or slug
type: string
required: true
- in: path
name: module_name
description: ''
type: string
required: true
- in: path
name: module_system
type: string
required: true
responses:
'302':
description: Get download location for the latest version of a module
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4PackagesTerraformModulesV1ModuleNamespaceModuleNameModuleSystemDownload
"/api/v4/packages/terraform/modules/v1/{module_namespace}/{module_name}/{module_system}":
get:
summary: Get details about the latest version of a module
description: Get details about the latest version of a module
produces:
- application/json
parameters:
- in: path
name: module_namespace
description: Group's ID or slug
type: string
required: true
- in: path
name: module_name
description: ''
type: string
required: true
- in: path
name: module_system
type: string
required: true
responses:
'200':
description: Get details about the latest version of a module
schema:
"$ref": "#/definitions/API_Entities_Terraform_ModuleVersion"
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4PackagesTerraformModulesV1ModuleNamespaceModuleNameModuleSystem
"/api/v4/packages/terraform/modules/v1/{module_namespace}/{module_name}/{module_system}/*module_version/download":
get:
summary: Get download location for specific version of a module
description: Download specific version of a module
produces:
- application/json
parameters:
- in: path
name: module_namespace
description: Group's ID or slug
type: string
required: true
- in: path
name: module_name
description: ''
type: string
required: true
- in: path
name: module_system
type: string
required: true
- in: query
name: module_version
description: Module version
type: string
required: true
responses:
'204':
description: Get download location for specific version of a module
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4PackagesTerraformModulesV1ModuleNamespaceModuleNameModuleSystem*moduleVersionDownload
"/api/v4/packages/terraform/modules/v1/{module_namespace}/{module_name}/{module_system}/*module_version/file":
get:
summary: Download specific version of a module
description: Download specific version of a module
produces:
- application/json
parameters:
- in: path
name: module_namespace
description: Group's ID or slug
type: string
required: true
- in: path
name: module_name
description: ''
type: string
required: true
- in: path
name: module_system
type: string
required: true
- in: query
name: module_version
description: Module version
type: string
required: true
responses:
'200':
description: Download specific version of a module
schema:
type: file
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4PackagesTerraformModulesV1ModuleNamespaceModuleNameModuleSystem*moduleVersionFile
"/api/v4/packages/terraform/modules/v1/{module_namespace}/{module_name}/{module_system}/*module_version":
get:
summary: Get details about specific version of a module
description: Get details about specific version of a module
produces:
- application/json
parameters:
- in: path
name: module_namespace
description: Group's ID or slug
type: string
required: true
- in: path
name: module_name
description: ''
type: string
required: true
- in: path
name: module_system
type: string
required: true
- in: query
name: module_version
description: Module version
type: string
required: true
responses:
'200':
description: Get details about specific version of a module
schema:
"$ref": "#/definitions/API_Entities_Terraform_ModuleVersion"
'403':
description: Forbidden
'404':
description: Not found
tags:
- terraform_registry
operationId: getApiV4PackagesTerraformModulesV1ModuleNamespaceModuleNameModuleSystem*moduleVersion
"/api/v4/container_registry_event/events":
post:
summary: Receives notifications from the container registry when an operation
occurs
description: This feature was introduced in GitLab 12.10
produces:
- application/json
consumes:
- application/json
- application/vnd.docker.distribution.events.v1+json
responses:
'200':
description: Success
'401':
description: Invalid Token
tags:
- container_registry_event
operationId: postApiV4ContainerRegistryEventEvents
"/api/v4/registry/repositories/{id}":
get:
summary: Get a container repository
description: This feature was introduced in GitLab 13.6.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of the repository
type: string
required: true
- in: query
name: tags
description: Determines if tags should be included
type: boolean
default: false
required: false
- in: query
name: tags_count
description: Determines if the tags count should be included
type: boolean
default: false
required: false
- in: query
name: size
description: Determines if the size should be included
type: boolean
default: false
required: false
responses:
'200':
description: Get a container repository
schema:
"$ref": "#/definitions/API_Entities_ContainerRegistry_Repository"
'401':
description: Unauthorized
'404':
description: Repository Not Found
tags:
- container_registry
operationId: getApiV4RegistryRepositoriesId
"/api/v4/events":
get:
summary: List currently authenticated user's events
description: This feature was introduced in GitLab 9.3.
produces:
- application/json
parameters:
- in: query
name: scope
description: Include all events across a users projects
type: string
required: false
example: all
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: action
description: Event action to filter on
type: string
required: false
- in: query
name: target_type
description: Event target type to filter on
type: string
enum:
- issue
- milestone
- merge_request
- note
- project
- snippet
- user
- wiki
- design
required: false
- in: query
name: before
description: Include only events created before this date
type: string
format: date
required: false
- in: query
name: after
description: Include only events created after this date
type: string
format: date
required: false
- in: query
name: sort
description: Return events sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
responses:
'200':
description: List currently authenticated user's events
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Event"
'401':
description: Unauthorized
tags:
- events
operationId: getApiV4Events
"/api/v4/users/{id}/events":
get:
summary: Get the contribution events of a specified user
description: This feature was introduced in GitLab 8.13.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID or username of the user
type: string
required: true
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: action
description: Event action to filter on
type: string
required: false
- in: query
name: target_type
description: Event target type to filter on
type: string
enum:
- issue
- milestone
- merge_request
- note
- project
- snippet
- user
- wiki
- design
required: false
- in: query
name: before
description: Include only events created before this date
type: string
format: date
required: false
- in: query
name: after
description: Include only events created after this date
type: string
format: date
required: false
- in: query
name: sort
description: Return events sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
responses:
'200':
description: Get the contribution events of a specified user
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Event"
'404':
description: Not found
tags:
- events
operationId: getApiV4UsersIdEvents
"/api/v4/users/{user_id}/projects":
get:
description: Get a user projects
produces:
- application/json
parameters:
- in: path
name: user_id
description: The ID or username of the user
type: string
required: true
- in: query
name: order_by
description: Return projects ordered by field. storage_size, repository_size,
wiki_size, packages_size are only available to admins. Similarity is available
when searching and is limited to projects the user has access to.
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- similarity
- star_count
- storage_size
- repository_size
- wiki_size
- packages_size
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Return list of projects matching the search criteria
type: string
required: false
- in: query
name: search_namespaces
description: Include ancestor namespaces when matching search criteria
type: boolean
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: starred
description: Limit by starred status
type: boolean
default: false
required: false
- in: query
name: imported
description: Limit by imported by authenticated user
type: boolean
default: false
required: false
- in: query
name: membership
description: Limit by projects that the current user is a member of
type: boolean
default: false
required: false
- in: query
name: with_issues_enabled
description: Limit by enabled issues feature
type: boolean
default: false
required: false
- in: query
name: with_merge_requests_enabled
description: Limit by enabled merge requests feature
type: boolean
default: false
required: false
- in: query
name: with_programming_language
description: Limit to repositories which use the given programming language
type: string
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: id_after
description: Limit results to projects with IDs greater than the specified
ID
type: integer
format: int32
required: false
- in: query
name: id_before
description: Limit results to projects with IDs less than the specified ID
type: integer
format: int32
required: false
- in: query
name: last_activity_after
description: 'Limit results to projects with last_activity after specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: last_activity_before
description: 'Limit results to projects with last_activity before specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: repository_storage
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: query
name: topic
description: Comma-separated list of topics. Limit results to projects having
all topics
type: array
items:
type: string
required: false
- in: query
name: topic_id
description: Limit results to projects with the assigned topic given by the
topic ID
type: integer
format: int32
required: false
- in: query
name: updated_before
description: 'Return projects updated before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: updated_after
description: 'Return projects updated after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: include_pending_delete
description: Include projects in pending delete state. Can only be set by
admins
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Date when the project was marked for deletion
type: string
format: date
required: false
- in: query
name: active
description: Limit by projects that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: wiki_checksum_failed
description: Limit by projects where wiki checksum is failed
type: boolean
default: false
required: false
- in: query
name: repository_checksum_failed
description: Limit by projects where repository checksum is failed
type: boolean
default: false
required: false
- in: query
name: include_hidden
description: Include hidden projects. Can only be set by admins
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
- in: query
name: with_custom_attributes
description: Include custom attributes in the response
type: boolean
default: false
required: false
responses:
'200':
description: Get a user projects
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'404':
description: 404 User Not Found
tags:
- projects
operationId: getApiV4UsersUserIdProjects
"/api/v4/users/{user_id}/contributed_projects":
get:
description: Get projects that a user has contributed to
produces:
- application/json
parameters:
- in: path
name: user_id
description: The ID or username of the user
type: string
required: true
- in: query
name: order_by
description: Return projects ordered by field. storage_size, repository_size,
wiki_size, packages_size are only available to admins. Similarity is available
when searching and is limited to projects the user has access to.
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- similarity
- star_count
- storage_size
- repository_size
- wiki_size
- packages_size
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
responses:
'200':
description: Get projects that a user has contributed to
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'404':
description: 404 User Not Found
tags:
- projects
operationId: getApiV4UsersUserIdContributedProjects
"/api/v4/users/{user_id}/starred_projects":
get:
description: Get projects starred by a user
produces:
- application/json
parameters:
- in: path
name: user_id
description: The ID or username of the user
type: string
required: true
- in: query
name: order_by
description: Return projects ordered by field. storage_size, repository_size,
wiki_size, packages_size are only available to admins. Similarity is available
when searching and is limited to projects the user has access to.
type: string
default: created_at
enum:
- id
- name
- path
- created_at
- updated_at
- last_activity_at
- similarity
- star_count
- storage_size
- repository_size
- wiki_size
- packages_size
required: false
- in: query
name: sort
description: Return projects sorted in ascending and descending order
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: archived
description: Limit by archived status
type: boolean
required: false
- in: query
name: visibility
description: Limit by visibility
type: string
enum:
- private
- internal
- public
required: false
- in: query
name: search
description: Return list of projects matching the search criteria
type: string
required: false
- in: query
name: search_namespaces
description: Include ancestor namespaces when matching search criteria
type: boolean
required: false
- in: query
name: owned
description: Limit by owned by authenticated user
type: boolean
default: false
required: false
- in: query
name: starred
description: Limit by starred status
type: boolean
default: false
required: false
- in: query
name: imported
description: Limit by imported by authenticated user
type: boolean
default: false
required: false
- in: query
name: membership
description: Limit by projects that the current user is a member of
type: boolean
default: false
required: false
- in: query
name: with_issues_enabled
description: Limit by enabled issues feature
type: boolean
default: false
required: false
- in: query
name: with_merge_requests_enabled
description: Limit by enabled merge requests feature
type: boolean
default: false
required: false
- in: query
name: with_programming_language
description: Limit to repositories which use the given programming language
type: string
required: false
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: id_after
description: Limit results to projects with IDs greater than the specified
ID
type: integer
format: int32
required: false
- in: query
name: id_before
description: Limit results to projects with IDs less than the specified ID
type: integer
format: int32
required: false
- in: query
name: last_activity_after
description: 'Limit results to projects with last_activity after specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: last_activity_before
description: 'Limit results to projects with last_activity before specified
time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: repository_storage
description: Which storage shard the repository is on. Available only to admins
type: string
required: false
- in: query
name: topic
description: Comma-separated list of topics. Limit results to projects having
all topics
type: array
items:
type: string
required: false
- in: query
name: topic_id
description: Limit results to projects with the assigned topic given by the
topic ID
type: integer
format: int32
required: false
- in: query
name: updated_before
description: 'Return projects updated before the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: updated_after
description: 'Return projects updated after the specified datetime. Format:
ISO 8601 YYYY-MM-DDTHH:MM:SSZ'
type: string
format: date-time
required: false
- in: query
name: include_pending_delete
description: Include projects in pending delete state. Can only be set by
admins
type: boolean
required: false
- in: query
name: marked_for_deletion_on
description: Date when the project was marked for deletion
type: string
format: date
required: false
- in: query
name: active
description: Limit by projects that are not archived and not marked for deletion
type: boolean
required: false
- in: query
name: wiki_checksum_failed
description: Limit by projects where wiki checksum is failed
type: boolean
default: false
required: false
- in: query
name: repository_checksum_failed
description: Limit by projects where repository checksum is failed
type: boolean
default: false
required: false
- in: query
name: include_hidden
description: Include hidden projects. Can only be set by admins
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: simple
description: Return only the ID, URL, name, and path of each project
type: boolean
default: false
required: false
- in: query
name: statistics
description: Include project statistics
type: boolean
default: false
required: false
responses:
'200':
description: Get projects starred by a user
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
'404':
description: 404 User Not Found
tags:
- projects
operationId: getApiV4UsersUserIdStarredProjects
"/api/v4/features":
get:
summary: List all features
description: Get a list of all persisted features, with its gate values.
produces:
- application/json
responses:
'200':
description: List all features
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Feature"
tags:
- features
operationId: getApiV4Features
"/api/v4/features/definitions":
get:
summary: List all feature definitions
description: Get a list of all feature definitions.
produces:
- application/json
responses:
'200':
description: List all feature definitions
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Feature_Definition"
tags:
- features
operationId: getApiV4FeaturesDefinitions
"/api/v4/features/{name}":
post:
summary: Set or create a feature
description: Set a feature's gate value. If a feature with the given name doesn't
exist yet, it's created. The value can be a boolean, or an integer to indicate
percentage of time.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: name
type: integer
format: int32
required: true
- name: postApiV4FeaturesName
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4FeaturesName"
responses:
'201':
description: Set or create a feature
schema:
"$ref": "#/definitions/API_Entities_Feature"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- features
operationId: postApiV4FeaturesName
delete:
summary: Delete a feature
description: Removes a feature gate. Response is equal when the gate exists,
or doesn't.
produces:
- application/json
parameters:
- in: path
name: name
type: integer
format: int32
required: true
responses:
'204':
description: Delete a feature
tags:
- features
operationId: deleteApiV4FeaturesName
"/api/v4/geo/proxy":
get:
summary: Determine if a Geo site should proxy requests
description: Returns a Geo proxy response
produces:
- application/json
responses:
'200':
description: Returns a Geo proxy response
'403':
description: Forbidden
tags:
- geo
operationId: getApiV4GeoProxy
"/api/v4/geo/retrieve/{replicable_name}/{replicable_id}":
get:
summary: Internal endpoint that returns a replicable file
description: Returns a replicable file from store (via CDN or sendfile)
produces:
- application/json
parameters:
- in: path
name: replicable_name
description: The replicable name of a replicator instance
type: string
required: true
example: package_file
- in: path
name: replicable_id
description: The replicable ID of a replicable instance
type: integer
format: int32
required: true
responses:
'200':
description: Returns a replicable file from store (via CDN or sendfile)
'401':
description: 401 Unauthorized
'404':
description: 404 Not found
tags:
- geo
operationId: getApiV4GeoRetrieveReplicableNameReplicableId
"/api/v4/geo/repositories/{gl_repository}/pipeline_refs":
get:
summary: Used by secondary runners to verify the secondary instance has the
very latest version
description: Returns the list of pipeline refs for the project
produces:
- application/json
parameters:
- in: path
name: gl_repository
description: The repository to check
type: string
required: true
responses:
'200':
description: Returns the list of pipeline refs for the project
schema:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_Geo_PipelineRefs"
'401':
description: 401 Unauthorized
'404':
description: 404 Not found
tags:
- geo
operationId: getApiV4GeoRepositoriesGlRepositoryPipelineRefs
"/api/v4/geo/status":
post:
summary: Internal endpoint that posts the current node status
description: Posts the current node status to the primary site
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4GeoStatus
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GeoStatus"
responses:
'200':
description: Posts the current node status to the primary site
schema:
"$ref": "#/definitions/EE_API_Entities_GeoNodeStatus"
'400':
description: 400 Bad Request
'401':
description: 401 Unauthorized
tags:
- geo
operationId: postApiV4GeoStatus
"/api/v4/geo/proxy_git_ssh/info_refs_upload_pack":
post:
summary: Internal endpoint that returns info refs upload pack for git clone/pull
description: |-
Responsible for making HTTP GET /repo.git/info/refs?service=git-upload-pack
request from secondary gitlab-shell to primary
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4GeoProxyGitSshInfoRefsUploadPack
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GeoProxyGitSshInfoRefsUploadPack"
responses:
'200':
description: |-
Responsible for making HTTP GET /repo.git/info/refs?service=git-upload-pack
request from secondary gitlab-shell to primary
'401':
description: 401 Unauthorized
tags:
- geo
operationId: postApiV4GeoProxyGitSshInfoRefsUploadPack
"/api/v4/geo/proxy_git_ssh/upload_pack":
post:
summary: Internal endpoint that posts git-upload-pack for git clone/pull
description: |-
Responsible for making HTTP POST /repo.git/git-upload-pack
request from secondary gitlab-shell to primary
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4GeoProxyGitSshUploadPack
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GeoProxyGitSshUploadPack"
responses:
'200':
description: |-
Responsible for making HTTP POST /repo.git/git-upload-pack
request from secondary gitlab-shell to primary
'401':
description: 401 Unauthorized
tags:
- geo
operationId: postApiV4GeoProxyGitSshUploadPack
"/api/v4/geo/proxy_git_ssh/info_refs_receive_pack":
post:
summary: Internal endpoint that returns git-received-pack output for git push
description: |-
Responsible for making HTTP GET /repo.git/info/refs?service=git-receive-pack
request from secondary gitlab-shell to primary
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4GeoProxyGitSshInfoRefsReceivePack
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GeoProxyGitSshInfoRefsReceivePack"
responses:
'200':
description: |-
Responsible for making HTTP GET /repo.git/info/refs?service=git-receive-pack
request from secondary gitlab-shell to primary
'401':
description: 401 Unauthorized
tags:
- geo
operationId: postApiV4GeoProxyGitSshInfoRefsReceivePack
"/api/v4/geo/proxy_git_ssh/receive_pack":
post:
summary: Internal endpoint that posts git-receive-pack for git push
description: |-
Responsible for making HTTP POST /repo.git/info/refs?service=git-receive-pack
request from secondary gitlab-shell to primary
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4GeoProxyGitSshReceivePack
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4GeoProxyGitSshReceivePack"
responses:
'200':
description: |-
Responsible for making HTTP POST /repo.git/info/refs?service=git-receive-pack
request from secondary gitlab-shell to primary
'401':
description: 401 Unauthorized
tags:
- geo
operationId: postApiV4GeoProxyGitSshReceivePack
"/api/v4/geo/node_proxy/{id}/graphql":
post:
summary: Query the GraphQL endpoint of an existing Geo node
description: Query the GraphQL endpoint of an existing Geo node
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of the Geo node
type: integer
format: int32
required: true
responses:
'200':
description: Query the GraphQL endpoint of an existing Geo node
'404':
description: 404 GeoNode Not Found
'500':
description: 500 Internal Server Error
tags:
- geo
operationId: postApiV4GeoNodeProxyIdGraphql
"/api/v4/integrations/slack/events":
post:
description: Receive Slack events
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4IntegrationsSlackEvents
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4IntegrationsSlackEvents"
responses:
'200':
description: Successfully processed event
'204':
description: Failed to process event
'401':
description: Unauthorized
tags:
- integrations
operationId: postApiV4IntegrationsSlackEvents
"/api/v4/integrations/slack/interactions":
post:
produces:
- application/json
consumes:
- application/json
responses:
'201':
description: created Interaction
tags:
- integrations
operationId: postApiV4IntegrationsSlackInteractions
"/api/v4/integrations/slack/options":
post:
produces:
- application/json
consumes:
- application/json
responses:
'201':
description: created Option
tags:
- integrations
operationId: postApiV4IntegrationsSlackOptions
"/api/v4/integrations/jira_connect/subscriptions":
post:
summary: Subscribe a namespace to a JiraConnectInstallation
description: Subscribes the namespace to the JiraConnectInstallation
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4IntegrationsJiraConnectSubscriptions
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4IntegrationsJiraConnectSubscriptions"
responses:
'201':
description: Subscribe a namespace to a JiraConnectInstallation
schema:
"$ref": "#/definitions/API_Entities_BasicSuccess"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- jira_connect_subscriptions
operationId: postApiV4IntegrationsJiraConnectSubscriptions
"/api/v4/keys/{id}":
get:
summary: Get single ssh key by id. Only available to admin users
description: |-
Get SSH key with user by ID of an SSH key. Note only administrators can lookup SSH key with user by ID\
of an SSH key
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of an SSH key
type: string
required: true
example: '2'
responses:
'200':
description: Get single ssh key by id. Only available to admin users
schema:
"$ref": "#/definitions/API_Entities_SSHKeyWithUser"
tags:
- keys
operationId: getApiV4KeysId
"/api/v4/keys":
get:
summary: Get user by fingerprint of SSH key
description: |-
You can search for a user that owns a specific SSH key. Note only administrators can lookup SSH key\
with the fingerprint of an SSH key
produces:
- application/json
parameters:
- in: query
name: fingerprint
description: The fingerprint of an SSH key
type: string
required: true
example: ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1
responses:
'200':
description: Get user by fingerprint of SSH key
schema:
"$ref": "#/definitions/API_Entities_UserWithAdmin"
tags:
- keys
operationId: getApiV4Keys
"/api/v4/markdown":
post:
summary: Render an arbitrary Markdown document
description: This feature was introduced in GitLab 11.0.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Markdown
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Markdown"
responses:
'201':
description: Render an arbitrary Markdown document
schema:
"$ref": "#/definitions/API_Entities_Markdown"
'400':
description: Bad request
'401':
description: Unauthorized
tags:
- markdown
operationId: postApiV4Markdown
"/api/v4/merge_requests":
get:
summary: List merge requests
description: Get all merge requests the authenticated user has access to. By
default it returns only merge requests created by the current user. To get
all merge requests, use parameter `scope=all`.
produces:
- application/json
parameters:
- in: query
name: author_id
description: Returns merge requests created by the given user `id`. Mutually
exclusive with `author_username`. Combine with `scope=all` or `scope=assigned_to_me`.
type: integer
format: int32
required: false
- in: query
name: author_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: string
required: false
- in: query
name: assignee_id
description: Returns merge requests assigned to the given user `id`. `None`
returns unassigned merge requests. `Any` returns merge requests with an
assignee.
type: integer
format: int32
required: false
- in: query
name: assignee_username
description: Returns merge requests created by the given `username`. Mutually
exclusive with `author_id`.
type: array
items:
type: string
required: false
- in: query
name: reviewer_username
description: Returns merge requests which have the user as a reviewer with
the given `username`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_id`.
Introduced in GitLab 13.8.
type: string
required: false
- in: query
name: labels
description: Returns merge requests matching a comma-separated list of labels.
`None` lists all merge requests with no labels. `Any` lists all merge requests
with at least one label. Predefined names are case-insensitive.
type: array
items:
type: string
required: false
- in: query
name: milestone
description: Returns merge requests for a specific milestone. `None` returns
merge requests with no milestone. `Any` returns merge requests that have
an assigned milestone.
type: string
required: false
- in: query
name: my_reaction_emoji
description: Returns merge requests reacted by the authenticated user by the
given `emoji`. `None` returns issues not given a reaction. `Any` returns
issues given at least one reaction.
type: string
required: false
- in: query
name: reviewer_id
description: Returns merge requests which have the user as a reviewer with
the given user `id`. `None` returns merge requests with no reviewers. `Any`
returns merge requests with any reviewer. Mutually exclusive with `reviewer_username`.
type: integer
format: int32
required: false
- in: query
name: state
description: Returns `all` merge requests or just those that are `opened`,
`closed`, `locked`, or `merged`.
type: string
default: all
enum:
- opened
- closed
- locked
- merged
- all
required: false
- in: query
name: order_by
description: Returns merge requests ordered by `created_at`, `label_priority`,
`milestone_due`, `popularity`, `priority`, `title`, `updated_at` or `merged_at`
fields. Introduced in GitLab 14.8.
type: string
default: created_at
enum:
- created_at
- label_priority
- milestone_due
- popularity
- priority
- title
- updated_at
- merged_at
required: false
- in: query
name: sort
description: Returns merge requests sorted in `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: with_labels_details
description: 'If `true`, response returns more details for each label in labels
field: `:name`,`:color`, `:description`, `:description_html`, `:text_color`'
type: boolean
default: false
required: false
- in: query
name: with_merge_status_recheck
description: If `true`, this projection requests (but does not guarantee)
that the `merge_status` field be recalculated asynchronously. Introduced
in GitLab 13.0.
type: boolean
default: false
required: false
- in: query
name: created_after
description: Returns merge requests created on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: created_before
description: Returns merge requests created on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_after
description: Returns merge requests updated on or after the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: updated_before
description: Returns merge requests updated on or before the given time. Expected
in ISO 8601 format.
type: string
format: date-time
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: view
description: If simple, returns the `iid`, URL, title, description, and basic
state of merge request
type: string
enum:
- simple
required: false
- in: query
name: scope
description: 'Returns merge requests for the given scope: `created_by_me`,
`assigned_to_me` or `all`'
type: string
default: created_by_me
enum:
- created-by-me
- assigned-to-me
- created_by_me
- assigned_to_me
- all
required: false
- in: query
name: source_branch
description: Returns merge requests with the given source branch
type: string
required: false
- in: query
name: source_project_id
description: Returns merge requests with the given source project id
type: integer
format: int32
required: false
- in: query
name: target_branch
description: Returns merge requests with the given target branch
type: string
required: false
- in: query
name: search
description: Search merge requests against their `title` and `description`.
type: string
required: false
- in: query
name: in
description: Modify the scope of the search attribute. `title`, `description`,
or a string joining them with comma.
type: string
required: false
example: title,description
- in: query
name: wip
description: Filter merge requests against their `wip` status. `yes` to return
only draft merge requests, `no` to return non-draft merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: not[author_id]
description: "`<Negated>` Returns merge requests created by the given user
`id`. Mutually exclusive with `author_username`. Combine with `scope=all`
or `scope=assigned_to_me`."
type: integer
format: int32
required: false
- in: query
name: not[author_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: string
required: false
- in: query
name: not[assignee_id]
description: "`<Negated>` Returns merge requests assigned to the given user
`id`. `None` returns unassigned merge requests. `Any` returns merge requests
with an assignee."
type: integer
format: int32
required: false
- in: query
name: not[assignee_username]
description: "`<Negated>` Returns merge requests created by the given `username`.
Mutually exclusive with `author_id`."
type: array
items:
type: string
required: false
- in: query
name: not[reviewer_username]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given `username`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_id`. Introduced in GitLab 13.8."
type: string
required: false
- in: query
name: not[labels]
description: "`<Negated>` Returns merge requests matching a comma-separated
list of labels. `None` lists all merge requests with no labels. `Any` lists
all merge requests with at least one label. Predefined names are case-insensitive."
type: array
items:
type: string
required: false
- in: query
name: not[milestone]
description: "`<Negated>` Returns merge requests for a specific milestone.
`None` returns merge requests with no milestone. `Any` returns merge requests
that have an assigned milestone."
type: string
required: false
- in: query
name: not[my_reaction_emoji]
description: "`<Negated>` Returns merge requests reacted by the authenticated
user by the given `emoji`. `None` returns issues not given a reaction. `Any`
returns issues given at least one reaction."
type: string
required: false
- in: query
name: not[reviewer_id]
description: "`<Negated>` Returns merge requests which have the user as a
reviewer with the given user `id`. `None` returns merge requests with no
reviewers. `Any` returns merge requests with any reviewer. Mutually exclusive
with `reviewer_username`."
type: integer
format: int32
required: false
- in: query
name: deployed_before
description: Returns merge requests deployed before the given date/time. Expected
in ISO 8601 format.
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: deployed_after
description: Returns merge requests deployed after the given date/time. Expected
in ISO 8601 format
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: environment
description: Returns merge requests deployed to the given environment
type: string
required: false
example: '2019-03-15T08:00:00Z'
- in: query
name: approved
description: Filters merge requests by their `approved` status. `yes` returns
only approved merge requests. `no` returns only non-approved merge requests.
type: string
enum:
- 'yes'
- 'no'
required: false
- in: query
name: merge_user_id
description: Returns merge requests which have been merged by the user with
the given user `id`. Mutually exclusive with `merge_user_username`.
type: integer
format: int32
required: false
- in: query
name: merge_user_username
description: Returns merge requests which have been merged by the user with
the given `username`. Mutually exclusive with `merge_user_id`.
type: string
required: false
- in: query
name: approver_ids
description: Return merge requests which have specified the users with the
given IDs as an individual approver
type: string
required: false
- in: query
name: approved_by_ids
description: Return merge requests which have been approved by the specified
users with the given IDs
type: string
required: false
- in: query
name: approved_by_usernames
description: |-
Return merge requests which have been approved by the specified users with the given
usernames
type: string
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List merge requests
schema:
"$ref": "#/definitions/API_Entities_MergeRequestBasic"
'401':
description: Unauthorized
'422':
description: Unprocessable entity
tags:
- merge_requests
operationId: getApiV4MergeRequests
"/api/v4/namespaces/{id}":
put:
description: "[DEPRECATED] Update a namespace"
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: putApiV4NamespacesId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4NamespacesId"
responses:
'200':
description: "[DEPRECATED] Update a namespace"
schema:
"$ref": "#/definitions/API_Entities_Namespace"
tags:
- namespaces
operationId: putApiV4NamespacesId
get:
summary: Get namespace by ID
description: Get a namespace by ID
produces:
- application/json
parameters:
- in: path
name: id
description: ID or URL-encoded path of the namespace
type: string
required: true
responses:
'200':
description: Get namespace by ID
schema:
"$ref": "#/definitions/API_Entities_Namespace"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- namespaces
operationId: getApiV4NamespacesId
"/api/v4/namespaces/{id}/gitlab_subscription":
get:
description: Returns the subscription for the namespace
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Returns the subscription for the namespace
schema:
"$ref": "#/definitions/API_Entities_GitlabSubscription"
tags:
- namespaces
operationId: getApiV4NamespacesIdGitlabSubscription
"/api/v4/namespaces/{id}/storage/limit_exclusion":
post:
summary: Creates a storage limit exclusion for a Namespace
description: Creates a Namespaces::Storage::LimitExclusion
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4NamespacesIdStorageLimitExclusion
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4NamespacesIdStorageLimitExclusion"
responses:
'201':
description: Creates a storage limit exclusion for a Namespace
schema:
"$ref": "#/definitions/API_Entities_Namespaces_Storage_LimitExclusion"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- namespaces
operationId: postApiV4NamespacesIdStorageLimitExclusion
delete:
summary: Removes a storage limit exclusion for a Namespace
description: Removes a Namespaces::Storage::LimitExclusion
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Removes a storage limit exclusion for a Namespace
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'422':
description: Unprocessable entity
tags:
- namespaces
operationId: deleteApiV4NamespacesIdStorageLimitExclusion
"/api/v4/namespaces/storage/limit_exclusions":
get:
summary: Retrieve all limit exclusions
description: Gets all records for namespaces that have been excluded
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Retrieve all limit exclusions
schema:
"$ref": "#/definitions/API_Entities_Namespaces_Storage_LimitExclusion"
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- namespaces
operationId: getApiV4NamespacesStorageLimitExclusions
"/api/v4/namespaces":
get:
summary: List namespaces
description: Get a list of the namespaces of the authenticated user. If the
user is an administrator, a list of all namespaces in the GitLab instance
is shown.
produces:
- application/json
parameters:
- in: query
name: search
description: Returns a list of namespaces the user is authorized to view based
on the search criteria
type: string
required: false
- in: query
name: owned_only
description: In GitLab 14.2 and later, returns a list of owned namespaces
only
type: boolean
required: false
- in: query
name: top_level_only
description: Only include top level namespaces
type: boolean
default: false
required: false
- in: query
name: full_path_search
description: If `true`, the `search` parameter is matched against the full
path of the namespaces
type: boolean
default: false
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: requested_hosted_plan
description: Name of the hosted plan requested by the customer
type: string
required: false
responses:
'200':
description: List namespaces
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Namespace"
'401':
description: Unauthorized
tags:
- namespaces
operationId: getApiV4Namespaces
"/api/v4/namespaces/{id}/exists":
get:
summary: Get existence of a namespace
description: Get existence of a namespace by path. Suggests a new namespace
path that does not already exist.
produces:
- application/json
parameters:
- in: path
name: id
description: Namespaces path
type: string
required: true
- in: query
name: parent_id
description: The ID of the parent namespace. If no ID is specified, only top-level
namespaces are considered.
type: integer
format: int32
required: false
responses:
'200':
description: Get existence of a namespace
schema:
"$ref": "#/definitions/API_Entities_NamespaceExistence"
'401':
description: Unauthorized
tags:
- namespaces
operationId: getApiV4NamespacesIdExists
"/api/v4/organizations":
post:
summary: Create an organization
description: |-
This feature was introduced in GitLab 17.5. \
This feature is currently in an experimental state. \
This feature is behind the `allow_organization_creation` feature flag.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Organizations
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Organizations"
responses:
'201':
description: Create an organization
schema:
"$ref": "#/definitions/API_Entities_Organizations_Organization"
tags:
- organizations
operationId: postApiV4Organizations
"/api/v4/pages/domains":
get:
description: Get all pages domains
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get all pages domains
schema:
"$ref": "#/definitions/API_Entities_PagesDomainBasic"
tags:
- pages
operationId: getApiV4PagesDomains
"/api/v4/personal_access_tokens/self":
get:
summary: Get single personal access token
description: Get the details of a personal access token by passing it to the
API in a header
produces:
- application/json
responses:
'200':
description: Get single personal access token
schema:
"$ref": "#/definitions/API_Entities_PersonalAccessTokenWithLastUsedIps"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- personal_access_tokens
operationId: getApiV4PersonalAccessTokensSelf
delete:
summary: Revoke a personal access token
description: Revoke a personal access token by passing it to the API in a header
produces:
- application/json
responses:
'204':
description: Revoke a personal access token
'400':
description: Bad Request
tags:
- personal_access_tokens
operationId: deleteApiV4PersonalAccessTokensSelf
"/api/v4/personal_access_tokens/self/associations":
get:
summary: Return personal access token associations
description: Get groups and projects this personal access token can access by
passing it to the API in a header
produces:
- application/json
parameters:
- in: query
name: min_access_level
description: Limit by minimum access level of authenticated user
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Return personal access token associations
schema:
"$ref": "#/definitions/API_Entities_PersonalAccessToken"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- personal_access_tokens
operationId: getApiV4PersonalAccessTokensSelfAssociations
"/api/v4/personal_access_tokens/self/rotate":
post:
summary: Rotate a personal access token
description: Rotates a personal access token by passing it to the API in a header
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4PersonalAccessTokensSelfRotate
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4PersonalAccessTokensSelfRotate"
responses:
'200':
description: Rotate a personal access token
schema:
"$ref": "#/definitions/API_Entities_PersonalAccessTokenWithToken"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'405':
description: Method not allowed
tags:
- personal_access_tokens
operationId: postApiV4PersonalAccessTokensSelfRotate
"/api/v4/personal_access_tokens":
get:
summary: List personal access tokens
description: Get all personal access tokens the authenticated user has access
to.
produces:
- application/json
parameters:
- in: query
name: user_id
description: Filter PATs by User ID
type: integer
format: int32
required: false
example: 2
- in: query
name: revoked
description: Filter tokens where revoked state matches parameter
type: boolean
required: false
- in: query
name: state
description: Filter tokens which are either active or not
type: string
enum:
- active
- inactive
required: false
example: active
- in: query
name: created_before
description: Filter tokens which were created before given datetime
type: string
format: date-time
required: false
example: '2022-01-01'
- in: query
name: created_after
description: Filter tokens which were created after given datetime
type: string
format: date-time
required: false
example: '2021-01-01'
- in: query
name: last_used_before
description: Filter tokens which were used before given datetime
type: string
format: date-time
required: false
example: '2021-01-01'
- in: query
name: last_used_after
description: Filter tokens which were used after given datetime
type: string
format: date-time
required: false
example: '2022-01-01'
- in: query
name: expires_before
description: Filter tokens which expire before given datetime
type: string
format: date
required: false
example: '2022-01-01'
- in: query
name: expires_after
description: Filter tokens which expire after given datetime
type: string
format: date
required: false
example: '2021-01-01'
- in: query
name: search
description: Filters tokens by name
type: string
required: false
example: token
- in: query
name: sort
description: Sort tokens
type: string
required: false
example: created_at_desc
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List personal access tokens
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_PersonalAccessTokenWithLastUsedIps"
'401':
description: Unauthorized
tags:
- personal_access_tokens
operationId: getApiV4PersonalAccessTokens
"/api/v4/personal_access_tokens/{id}":
get:
summary: Get single personal access token
description: Get a personal access token by using the ID of the personal access
token.
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get single personal access token
schema:
"$ref": "#/definitions/API_Entities_PersonalAccessTokenWithLastUsedIps"
'401':
description: Unauthorized
'404':
description: Not found
tags:
- personal_access_tokens
operationId: getApiV4PersonalAccessTokensId
delete:
summary: Revoke a personal access token
description: Revoke a personal access token by using the ID of the personal
access token.
produces:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
responses:
'204':
description: Revoke a personal access token
'400':
description: Bad Request
tags:
- personal_access_tokens
operationId: deleteApiV4PersonalAccessTokensId
"/api/v4/personal_access_tokens/{id}/rotate":
post:
summary: Rotate personal access token
description: Rotates a personal access token.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
type: integer
format: int32
required: true
- name: postApiV4PersonalAccessTokensIdRotate
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4PersonalAccessTokensIdRotate"
responses:
'201':
description: Rotate personal access token
schema:
"$ref": "#/definitions/API_Entities_PersonalAccessTokenWithToken"
tags:
- personal_access_tokens
operationId: postApiV4PersonalAccessTokensIdRotate
"/api/v4/snippets":
get:
summary: Get a snippets list for an authenticated user
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
parameters:
- in: query
name: created_after
description: Return snippets created after the specified time
type: string
format: date-time
required: false
- in: query
name: created_before
description: Return snippets created before the specified time
type: string
format: date-time
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get a snippets list for an authenticated user
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Snippet"
'404':
description: Not found
tags:
- snippets
operationId: getApiV4Snippets
post:
summary: Create new snippet
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Snippets
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Snippets"
responses:
'201':
description: Create new snippet
schema:
"$ref": "#/definitions/API_Entities_PersonalSnippet"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- snippets
operationId: postApiV4Snippets
"/api/v4/snippets/public":
get:
summary: List all public personal snippets current_user has access to
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
parameters:
- in: query
name: created_after
description: Return snippets created after the specified time
type: string
format: date-time
required: false
- in: query
name: created_before
description: Return snippets created before the specified time
type: string
format: date-time
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List all public personal snippets current_user has access to
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_PersonalSnippet"
'404':
description: Not found
tags:
- snippets
operationId: getApiV4SnippetsPublic
"/api/v4/snippets/all":
get:
summary: List all snippets current_user has access to
description: This feature was introduced in GitLab 16.3.
produces:
- application/json
parameters:
- in: query
name: created_after
description: Return snippets created after the specified time
type: string
format: date-time
required: false
- in: query
name: created_before
description: Return snippets created before the specified time
type: string
format: date-time
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: repository_storage
description: Filter by repository storage used by the snippet
type: string
required: false
responses:
'200':
description: List all snippets current_user has access to
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Snippet"
'404':
description: Not found
tags:
- snippets
operationId: getApiV4SnippetsAll
"/api/v4/snippets/{id}":
get:
summary: Get a single snippet
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a snippet
type: integer
format: int32
required: true
responses:
'200':
description: Get a single snippet
schema:
"$ref": "#/definitions/API_Entities_PersonalSnippet"
'404':
description: Not found
tags:
- snippets
operationId: getApiV4SnippetsId
put:
summary: Update an existing snippet
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of a snippet
type: integer
format: int32
required: true
- name: putApiV4SnippetsId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4SnippetsId"
responses:
'200':
description: Update an existing snippet
schema:
"$ref": "#/definitions/API_Entities_PersonalSnippet"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- snippets
operationId: putApiV4SnippetsId
delete:
summary: Remove snippet
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a snippet
type: integer
format: int32
required: true
responses:
'400':
description: Validation error
'204':
description: Remove snippet
schema:
"$ref": "#/definitions/API_Entities_PersonalSnippet"
'404':
description: Not found
tags:
- snippets
operationId: deleteApiV4SnippetsId
"/api/v4/snippets/{id}/raw":
get:
summary: Get a raw snippet
description: This feature was introduced in GitLab 8.15.
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a snippet
type: integer
format: int32
required: true
responses:
'200':
description: Get a raw snippet
'404':
description: Not found
tags:
- snippets
operationId: getApiV4SnippetsIdRaw
"/api/v4/snippets/{id}/files/{ref}/{file_path}/raw":
get:
description: Get raw snippet file contents from the repository
produces:
- application/json
parameters:
- in: path
name: file_path
description: The url encoded path to the file, e.g. lib%2Fclass%2Erb
type: string
required: true
- in: path
name: ref
description: The name of branch, tag or commit
type: string
required: true
- in: path
name: id
type: integer
format: int32
required: true
responses:
'200':
description: Get raw snippet file contents from the repository
'404':
description: Not found
tags:
- snippets
operationId: getApiV4SnippetsIdFilesRefFilePathRaw
"/api/v4/snippets/{id}/user_agent_detail":
get:
description: Get the user agent details for a snippet
produces:
- application/json
parameters:
- in: path
name: id
description: The ID of a snippet
type: integer
format: int32
required: true
responses:
'200':
description: Get the user agent details for a snippet
schema:
"$ref": "#/definitions/API_Entities_UserAgentDetail"
'404':
description: Not found
tags:
- snippets
operationId: getApiV4SnippetsIdUserAgentDetail
"/api/v4/suggestions/{id}/apply":
put:
description: Apply suggestion patch in the Merge Request it was created
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: The ID of the suggestion
type: integer
format: int32
required: true
- name: putApiV4SuggestionsIdApply
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4SuggestionsIdApply"
responses:
'200':
description: Apply suggestion patch in the Merge Request it was created
schema:
"$ref": "#/definitions/API_Entities_Suggestion"
tags:
- suggestions
operationId: putApiV4SuggestionsIdApply
"/api/v4/suggestions/batch_apply":
put:
description: Apply multiple suggestion patches in the Merge Request where they
were created
produces:
- application/json
consumes:
- application/json
parameters:
- name: putApiV4SuggestionsBatchApply
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4SuggestionsBatchApply"
responses:
'200':
description: Apply multiple suggestion patches in the Merge Request where
they were created
schema:
"$ref": "#/definitions/API_Entities_Suggestion"
tags:
- suggestions
operationId: putApiV4SuggestionsBatchApply
"/api/v4/hooks/{hook_id}/url_variables/{key}":
put:
description: Set a url variable
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the variable
type: string
required: true
- name: putApiV4HooksHookIdUrlVariablesKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4HooksHookIdUrlVariablesKey"
responses:
'200':
description: Set a url variable
tags:
- hooks
operationId: putApiV4HooksHookIdUrlVariablesKey
delete:
description: Un-Set a url variable
produces:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the variable
type: string
required: true
responses:
'204':
description: Un-Set a url variable
tags:
- hooks
operationId: deleteApiV4HooksHookIdUrlVariablesKey
"/api/v4/hooks/{hook_id}/custom_headers/{key}":
put:
description: Set a custom header
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the custom header
type: string
required: true
- name: putApiV4HooksHookIdCustomHeadersKey
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4HooksHookIdCustomHeadersKey"
responses:
'200':
description: Set a custom header
tags:
- hooks
operationId: putApiV4HooksHookIdCustomHeadersKey
delete:
description: Un-Set a custom header
produces:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
- in: path
name: key
description: The key of the custom header
type: string
required: true
responses:
'204':
description: Un-Set a custom header
tags:
- hooks
operationId: deleteApiV4HooksHookIdCustomHeadersKey
"/api/v4/hooks":
get:
summary: List system hooks
description: Get a list of all system hooks
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List system hooks
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_Hook"
tags:
- system_hooks
operationId: getApiV4Hooks
post:
summary: Add new system hook
description: Add a new system hook
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Hooks
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Hooks"
responses:
'201':
description: Add new system hook
schema:
"$ref": "#/definitions/API_Entities_Hook"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- system_hooks
operationId: postApiV4Hooks
"/api/v4/hooks/{hook_id}":
get:
summary: Get system hook
description: Get a system hook by its ID. Introduced in GitLab 14.9.
produces:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the system hook
type: integer
format: int32
required: true
responses:
'200':
description: Get system hook
schema:
"$ref": "#/definitions/API_Entities_Hook"
'404':
description: Not found
tags:
- system_hooks
operationId: getApiV4HooksHookId
put:
summary: Edit system hook
description: Edits a system hook
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the system hook
type: integer
format: int32
required: true
- name: putApiV4HooksHookId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4HooksHookId"
responses:
'200':
description: Edit system hook
schema:
"$ref": "#/definitions/API_Entities_Hook"
'400':
description: Validation error
'404':
description: Not found
'422':
description: Unprocessable entity
tags:
- system_hooks
operationId: putApiV4HooksHookId
post:
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the hook
type: integer
format: int32
required: true
responses:
'201':
description: created Hook
tags:
- hooks
operationId: postApiV4HooksHookId
delete:
summary: Delete system hook
description: Deletes a system hook
produces:
- application/json
parameters:
- in: path
name: hook_id
description: The ID of the system hook
type: integer
format: int32
required: true
responses:
'404':
description: Not found
'204':
description: Delete system hook
schema:
"$ref": "#/definitions/API_Entities_Hook"
tags:
- system_hooks
operationId: deleteApiV4HooksHookId
"/api/v4/feature_flags/unleash/{project_id}":
get:
produces:
- application/json
parameters:
- in: path
name: project_id
description: The ID of a project
type: string
required: true
- in: query
name: instance_id
description: The instance ID of Unleash Client
type: string
required: false
- in: query
name: app_name
description: The application name of Unleash Client
type: string
required: false
responses:
'200':
description: get Unleash(s)
tags:
- feature_flags
operationId: getApiV4FeatureFlagsUnleashProjectId
"/api/v4/feature_flags/unleash/{project_id}/features":
get:
description: Get a list of features (deprecated, v2 client support)
produces:
- application/json
parameters:
- in: path
name: project_id
description: The ID of a project
type: string
required: true
- in: query
name: instance_id
description: The instance ID of Unleash Client
type: string
required: false
- in: query
name: app_name
description: The application name of Unleash Client
type: string
required: false
responses:
'200':
description: Get a list of features (deprecated, v2 client support)
tags:
- unleash_api
operationId: getApiV4FeatureFlagsUnleashProjectIdFeatures
"/api/v4/feature_flags/unleash/{project_id}/client/features":
get:
description: Get a list of features
produces:
- application/json
parameters:
- in: path
name: project_id
description: The ID of a project
type: string
required: true
- in: query
name: instance_id
description: The instance ID of Unleash Client
type: string
required: false
- in: query
name: app_name
description: The application name of Unleash Client
type: string
required: false
responses:
'200':
description: Get a list of features
tags:
- unleash_api
operationId: getApiV4FeatureFlagsUnleashProjectIdClientFeatures
"/api/v4/feature_flags/unleash/{project_id}/client/register":
post:
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: project_id
description: The ID of a project
type: string
required: true
- name: postApiV4FeatureFlagsUnleashProjectIdClientRegister
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4FeatureFlagsUnleashProjectIdClientRegister"
responses:
'201':
description: created Register
tags:
- feature_flags
operationId: postApiV4FeatureFlagsUnleashProjectIdClientRegister
"/api/v4/feature_flags/unleash/{project_id}/client/metrics":
post:
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: project_id
description: The ID of a project
type: string
required: true
- name: postApiV4FeatureFlagsUnleashProjectIdClientMetrics
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4FeatureFlagsUnleashProjectIdClientMetrics"
responses:
'201':
description: created Metric
tags:
- feature_flags
operationId: postApiV4FeatureFlagsUnleashProjectIdClientMetrics
"/api/v4/usage_data/increment_counter":
post:
summary: Track usage data event
description: This feature was introduced in GitLab 13.4.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4UsageDataIncrementCounter
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4UsageDataIncrementCounter"
responses:
'200':
description: Track usage data event
'401':
description: Unauthorized
'404':
description: Not found
tags:
- usage_data
operationId: postApiV4UsageDataIncrementCounter
"/api/v4/usage_data/increment_unique_users":
post:
description: Track usage data event for the current user
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4UsageDataIncrementUniqueUsers
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4UsageDataIncrementUniqueUsers"
responses:
'200':
description: Track usage data event for the current user
'401':
description: Unauthorized
'404':
description: Not found
tags:
- usage_data
operationId: postApiV4UsageDataIncrementUniqueUsers
"/api/v4/usage_data/track_events":
post:
summary: Track multiple gitlab internal events
description: This feature was introduced in GitLab 17.3.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4UsageDataTrackEvents
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4UsageDataTrackEvents"
responses:
'200':
description: Track multiple gitlab internal events
'400':
description: Validation error
'401':
description: Unauthorized
tags:
- usage_data
operationId: postApiV4UsageDataTrackEvents
"/api/v4/usage_data/metric_definitions":
get:
summary: Get a list of all metric definitions
description: This feature was introduced in GitLab 13.11.
produces:
- application/yaml
parameters:
- in: query
name: include_paths
description: Include file paths in the metric definitions
type: boolean
default: false
required: false
example: true
responses:
'200':
description: Get a list of all metric definitions
'401':
description: Unauthorized
'404':
description: Not found
tags:
- usage_data
- metrics
operationId: getApiV4UsageDataMetricDefinitions
"/api/v4/usage_data/service_ping":
get:
summary: Get the latest ServicePing payload
description: Introduces in Gitlab 16.9. Requires personal access token with
read_service_ping scope.
produces:
- application/json
responses:
'200':
description: Get the latest ServicePing payload
'401':
description: 401 Unauthorized
'403':
description: Forbidden
'404':
description: Not found
tags:
- usage_data
operationId: getApiV4UsageDataServicePing
"/api/v4/usage_data/track_event":
post:
summary: Track gitlab internal events
description: This feature was introduced in GitLab 16.2.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4UsageDataTrackEvent
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4UsageDataTrackEvent"
responses:
'200':
description: Track gitlab internal events
'401':
description: Unauthorized
'404':
description: Not found
tags:
- usage_data
operationId: postApiV4UsageDataTrackEvent
"/api/v4/usage_data/non_sql_metrics":
get:
summary: Get Non SQL usage ping metrics
description: This feature was introduced in GitLab 13.11.
produces:
- application/json
responses:
'200':
description: Get Non SQL usage ping metrics
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- usage_data
operationId: getApiV4UsageDataNonSqlMetrics
"/api/v4/usage_data/queries":
get:
summary: Get raw SQL queries for usage data SQL metrics
description: This feature was introduced in GitLab 13.11.
produces:
- application/json
responses:
'200':
description: Get raw SQL queries for usage data SQL metrics
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
tags:
- usage_data
operationId: getApiV4UsageDataQueries
"/api/v4/user_counts":
get:
summary: Return the user specific counts
description: Assigned open issues, assigned MRs and pending todos count
produces:
- application/json
responses:
'200':
description: Return the user specific counts
schema:
"$ref": "#/definitions/API_Entities_UserCounts"
tags:
- user_counts
operationId: getApiV4UserCounts
"/api/v4/user/runners":
post:
summary: Create a runner owned by currently authenticated user
description: Create a new runner
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4UserRunners
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4UserRunners"
responses:
'201':
description: Create a runner owned by currently authenticated user
schema:
"$ref": "#/definitions/API_Entities_Ci_RunnerRegistrationDetails"
'400':
description: Bad Request
'403':
description: Forbidden
tags:
- user
- runners
operationId: postApiV4UserRunners
"/api/v4/application/plan_limits":
get:
summary: Get current plan limits
description: List the current limits of a plan on the GitLab instance.
produces:
- application/json
parameters:
- in: query
name: plan_name
description: 'Name of the plan to get the limits from. Default: default.'
type: string
default: default
enum:
- default
- free
- bronze
- silver
- premium
- gold
- ultimate
- ultimate_trial
- ultimate_trial_paid_customer
- premium_trial
- opensource
required: false
responses:
'200':
description: Get current plan limits
schema:
"$ref": "#/definitions/API_Entities_PlanLimit"
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- plan_limits
operationId: getApiV4ApplicationPlanLimits
put:
summary: Change plan limits
description: Modify the limits of a plan on the GitLab instance.
produces:
- application/json
consumes:
- application/json
parameters:
- name: putApiV4ApplicationPlanLimits
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4ApplicationPlanLimits"
responses:
'200':
description: Change plan limits
schema:
"$ref": "#/definitions/API_Entities_PlanLimit"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- plan_limits
operationId: putApiV4ApplicationPlanLimits
"/api/v4/application/appearance":
get:
description: Get the current appearance
produces:
- application/json
responses:
'200':
description: Get the current appearance
schema:
"$ref": "#/definitions/API_Entities_Appearance"
tags:
- application
operationId: getApiV4ApplicationAppearance
put:
description: Modify appearance
produces:
- application/json
consumes:
- multipart/form-data
parameters:
- in: formData
name: title
description: Instance title on the sign in / sign up page
type: string
required: false
- in: formData
name: description
description: Markdown text shown on the sign in / sign up page
type: string
required: false
- in: formData
name: pwa_name
description: Name of the Progressive Web App
type: string
required: false
- in: formData
name: pwa_short_name
description: Optional, short name for Progressive Web App
type: string
required: false
- in: formData
name: pwa_description
description: An explanation of what the Progressive Web App does
type: string
required: false
- in: formData
name: logo
description: Instance image used on the sign in / sign up page
type: file
required: false
- in: formData
name: pwa_icon
description: Icon used for Progressive Web App
type: file
required: false
- in: formData
name: header_logo
description: Instance image used for the main navigation bar
type: file
required: false
- in: formData
name: favicon
description: Instance favicon in .ico/.png format
type: file
required: false
- in: formData
name: member_guidelines
description: Markdown text shown on the members page of a group or project
type: string
required: false
- in: formData
name: new_project_guidelines
description: Markdown text shown on the new project page
type: string
required: false
- in: formData
name: profile_image_guidelines
description: Markdown text shown on the profile page below Public Avatar
type: string
required: false
- in: formData
name: header_message
description: Message within the system header bar
type: string
required: false
- in: formData
name: footer_message
description: Message within the system footer bar
type: string
required: false
- in: formData
name: message_background_color
description: Background color for the system header / footer bar
type: string
required: false
- in: formData
name: message_font_color
description: Font color for the system header / footer bar
type: string
required: false
- in: formData
name: email_header_and_footer_enabled
description: Add header and footer to all outgoing emails if enabled
type: boolean
required: false
responses:
'200':
description: Modify appearance
schema:
"$ref": "#/definitions/API_Entities_Appearance"
tags:
- application
operationId: putApiV4ApplicationAppearance
"/api/v4/application/statistics":
get:
description: Get the current application statistics
produces:
- application/json
responses:
'200':
description: Get the current application statistics
schema:
"$ref": "#/definitions/API_Entities_ApplicationStatistics"
tags:
- application
operationId: getApiV4ApplicationStatistics
"/api/v4/discover-cert-based-clusters":
get:
summary: Discover all descendant certificate-based clusters in a group
description: This feature was introduced in GitLab 17.9. It will be removed
in 18.0.
produces:
- application/json
parameters:
- in: query
name: group_id
description: The group ID to find all certificate-based clusters in the hierarchy
type: integer
format: int32
required: true
responses:
'200':
description: Discover all descendant certificate-based clusters in a group
schema:
"$ref": "#/definitions/API_Entities_DiscoveredClusters"
'403':
description: Forbidden
tags:
- clusters
operationId: getApiV4DiscoverCertBasedClusters
"/api/v4/deploy_keys":
get:
summary: List all deploy keys
description: Get a list of all deploy keys across all projects of the GitLab
instance. This endpoint requires administrator access and is not available
on GitLab.com.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: public
description: Only return deploy keys that are public
type: boolean
default: false
required: false
responses:
'200':
description: List all deploy keys
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_DeployKey"
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- deploy_keys
operationId: getApiV4DeployKeys
post:
summary: Create a deploy key
description: Create a deploy key for the GitLab instance. This endpoint requires
administrator access.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4DeployKeys
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4DeployKeys"
responses:
'201':
description: Create a deploy key
schema:
"$ref": "#/definitions/API_Entities_DeployKey"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- deploy_keys
operationId: postApiV4DeployKeys
"/api/v4/deploy_tokens":
get:
summary: List all deploy tokens
description: Get a list of all deploy tokens across the GitLab instance. This
endpoint requires administrator access. This feature was introduced in GitLab
12.9.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: active
description: Limit by active status
type: boolean
required: false
responses:
'200':
description: List all deploy tokens
schema:
type: array
items:
"$ref": "#/definitions/API_Entities_DeployToken"
'401':
description: Unauthorized
'403':
description: Forbidden
tags:
- deploy_tokens
operationId: getApiV4DeployTokens
"/api/v4/import/bitbucket":
post:
summary: Import a BitBucket Cloud repository
description: This feature was introduced in GitLab 17.0.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4ImportBitbucket
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ImportBitbucket"
responses:
'201':
description: Import a BitBucket Cloud repository
schema:
"$ref": "#/definitions/ProjectImportEntity"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'422':
description: Unprocessable entity
'503':
description: Service unavailable
tags:
- project_import_bitbucket
operationId: postApiV4ImportBitbucket
"/api/v4/import/bitbucket_server":
post:
summary: Import a BitBucket Server repository
description: This feature was introduced in GitLab 13.2.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4ImportBitbucketServer
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ImportBitbucketServer"
responses:
'201':
description: Import a BitBucket Server repository
schema:
"$ref": "#/definitions/ProjectEntity"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'422':
description: Unprocessable entity
'503':
description: Service unavailable
tags:
- project_import_bitbucket
operationId: postApiV4ImportBitbucketServer
"/api/v4/import/github":
post:
summary: Import a GitHub project
description: This feature was introduced in GitLab 11.3.4.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4ImportGithub
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ImportGithub"
responses:
'201':
description: Import a GitHub project
schema:
"$ref": "#/definitions/ProjectEntity"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'422':
description: Unprocessable entity
'503':
description: Service unavailable
tags:
- project_import_github
operationId: postApiV4ImportGithub
"/api/v4/import/github/cancel":
post:
summary: Cancel GitHub project import
description: This feature was introduced in GitLab 15.5
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4ImportGithubCancel
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ImportGithubCancel"
responses:
'200':
description: Cancel GitHub project import
schema:
"$ref": "#/definitions/ProjectImportEntity"
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- project_import_github
operationId: postApiV4ImportGithubCancel
"/api/v4/import/github/gists":
post:
summary: Import User Gists
description: This feature was introduced in GitLab 15.8
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4ImportGithubGists
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4ImportGithubGists"
responses:
'202':
description: Import User Gists
'401':
description: Unauthorized
'422':
description: Unprocessable Entity
'429':
description: Too Many Requests
tags:
- import
operationId: postApiV4ImportGithubGists
"/api/v4/slack/trigger":
post:
summary: Trigger a global slack command
description: Added in GitLab 9.4
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4SlackTrigger
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4SlackTrigger"
responses:
'201':
description: Trigger a global slack command
'401':
description: Unauthorized
tags:
- slack
operationId: postApiV4SlackTrigger
"/api/v4/metadata":
get:
summary: Retrieve metadata information for this GitLab instance
description: This feature was introduced in GitLab 15.2.
produces:
- application/json
responses:
'200':
description: Retrieve metadata information for this GitLab instance
schema:
"$ref": "#/definitions/API_Entities_Metadata"
'401':
description: Unauthorized
tags:
- metadata
operationId: getApiV4Metadata
"/api/v4/version":
get:
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.
produces:
- application/json
responses:
'200':
description: Retrieves version information for the GitLab instance
schema:
"$ref": "#/definitions/API_Entities_Metadata"
'401':
description: Unauthorized
tags:
- metadata
operationId: getApiV4Version
"/api/v4/topics":
get:
summary: Get topics
description: This feature was introduced in GitLab 14.5.
produces:
- application/json
parameters:
- in: query
name: search
description: Return list of topics matching the search criteria
type: string
required: false
example: search
- in: query
name: without_projects
description: Return list of topics without assigned projects
type: boolean
required: false
- in: query
name: organization_id
description: The organization id for the topics
type: integer
format: int32
default: {}
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: Get topics
schema:
"$ref": "#/definitions/API_Entities_Projects_Topic"
tags:
- topics
operationId: getApiV4Topics
post:
summary: Create a topic
description: This feature was introduced in GitLab 14.5.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4Topics
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4Topics"
responses:
'201':
description: Create a topic
schema:
"$ref": "#/definitions/API_Entities_Projects_Topic"
tags:
- topics
operationId: postApiV4Topics
"/api/v4/topics/{id}":
get:
summary: Get topic
description: This feature was introduced in GitLab 14.5.
produces:
- application/json
parameters:
- in: path
name: id
description: ID of project topic
type: integer
format: int32
required: true
responses:
'200':
description: Get topic
schema:
"$ref": "#/definitions/API_Entities_Projects_Topic"
tags:
- topics
operationId: getApiV4TopicsId
put:
summary: Update a topic
description: This feature was introduced in GitLab 14.5.
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: id
description: ID of project topic
type: integer
format: int32
required: true
- name: putApiV4TopicsId
in: body
required: true
schema:
"$ref": "#/definitions/putApiV4TopicsId"
responses:
'200':
description: Update a topic
schema:
"$ref": "#/definitions/API_Entities_Projects_Topic"
tags:
- topics
operationId: putApiV4TopicsId
delete:
summary: Delete a topic
description: This feature was introduced in GitLab 14.9.
produces:
- application/json
parameters:
- in: path
name: id
description: ID of project topic
type: integer
format: int32
required: true
responses:
'204':
description: Delete a topic
tags:
- topics
operationId: deleteApiV4TopicsId
"/api/v4/topics/merge":
post:
summary: Merge topics
description: This feature was introduced in GitLab 15.4.
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4TopicsMerge
in: body
required: true
schema:
"$ref": "#/definitions/postApiV4TopicsMerge"
responses:
'201':
description: Merge topics
schema:
"$ref": "#/definitions/API_Entities_Projects_Topic"
tags:
- topics
operationId: postApiV4TopicsMerge
"/api/v4/web_commits/public_key":
get:
summary: Get the public key for web commits
description: This feature was introduced in GitLab 17.4.
produces:
- application/json
responses:
'200':
description: Get the public key for web commits
'503':
description: The git server, Gitaly, is not available at this time. Please
contact your administrator.
'404':
description: Public key not found.
tags:
- web_commits
operationId: getApiV4WebCommitsPublicKey
definitions:
API_Entities_AccessRequester:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
state:
type: string
example: active
locked:
type: boolean
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": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
example: https://gitlab.example.com/root
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
description: API_Entities_CustomAttribute model
putApiV4GroupsIdAccessRequestsUserIdApprove:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, the Developer role)'
default: 30
description: Approves an access request for the given user.
API_Entities_AwardEmoji:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: lizard
user:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2019-01-10T13:39:08Z'
updated_at:
type: string
format: date-time
example: '2020-06-28T10:52:04Z'
awardable_id:
type: integer
format: int32
example: 42
awardable_type:
type: string
example: Issue
url:
type: string
example: https://example.com/emojis/example.gif
description: API_Entities_AwardEmoji model
API_Entities_UserBasic:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
state:
type: string
example: active
locked:
type: boolean
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": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
example: https://gitlab.example.com/root
description: API_Entities_UserBasic model
postApiV4GroupsIdEpicsEpicIidAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
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
postApiV4GroupsIdBadges:
type: object
properties:
link_url:
type: string
description: URL of the badge link
image_url:
type: string
description: URL of the badge image
name:
type: string
description: Name for the badge
required:
- link_url
- image_url
description: Adds a badge to a group.
putApiV4GroupsIdBadgesBadgeId:
type: object
properties:
link_url:
type: string
description: URL of the badge link
image_url:
type: string
description: URL of the badge image
name:
type: string
description: Name for the badge
description: Updates a badge of a group.
putApiV4GroupsIdCustomAttributesKey:
type: object
properties:
value:
type: string
description: The value of the custom attribute
required:
- value
description: Set a custom attribute on a group
API_Entities_Group:
type: object
properties:
id:
type: string
web_url:
type: string
name:
type: string
path:
type: string
description:
type: string
visibility:
type: string
share_with_group_lock:
type: string
require_two_factor_authentication:
type: string
two_factor_grace_period:
type: string
project_creation_level:
type: string
auto_devops_enabled:
type: string
subgroup_creation_level:
type: string
emails_disabled:
type: boolean
emails_enabled:
type: boolean
mentions_disabled:
type: string
lfs_enabled:
type: string
archived:
type: boolean
math_rendering_limits_enabled:
type: boolean
lock_math_rendering_limits_enabled:
type: boolean
default_branch:
type: string
default_branch_protection:
type: string
default_branch_protection_defaults:
type: string
avatar_url:
type: string
request_access_enabled:
type: string
full_name:
type: string
full_path:
type: string
created_at:
type: string
parent_id:
type: string
organization_id:
type: string
shared_runners_setting:
type: string
max_artifacts_size:
type: integer
format: int32
custom_attributes:
"$ref": "#/definitions/API_Entities_CustomAttribute"
statistics:
type: object
properties:
storage_size:
type: string
repository_size:
type: string
wiki_size:
type: string
lfs_objects_size:
type: string
job_artifacts_size:
type: string
pipeline_artifacts_size:
type: string
packages_size:
type: string
snippets_size:
type: string
uploads_size:
type: string
marked_for_deletion_on:
type: string
root_storage_statistics:
"$ref": "#/definitions/API_Entities_Namespace_RootStorageStatistics"
ldap_cn:
type: string
ldap_access:
type: string
ldap_group_links:
"$ref": "#/definitions/EE_API_Entities_LdapGroupLink"
saml_group_links:
"$ref": "#/definitions/EE_API_Entities_SamlGroupLink"
file_template_project_id:
type: string
wiki_access_level:
type: string
repository_storage:
type: string
duo_core_features_enabled:
type: boolean
description: "[Experimental] Indicates whether GitLab Duo Core features are
enabled for the group"
duo_features_enabled:
type: string
lock_duo_features_enabled:
type: string
web_based_commit_signing_enabled:
type: string
description: API_Entities_Group model
API_Entities_Namespace_RootStorageStatistics:
type: object
properties:
build_artifacts_size:
type: integer
format: int32
description: CI artifacts size in bytes.
container_registry_size:
type: integer
format: int32
description: container registry size in bytes.
container_registry_size_is_estimated:
type: boolean
description: Indicates whether the deduplicated container registry size for
the namespace is an estimated value or not.
dependency_proxy_size:
type: integer
format: int32
description: Dependency Proxy sizes in bytes.
lfs_objects_size:
type: integer
format: int32
description: LFS objects size in bytes.
packages_size:
type: integer
format: int32
description: Packages size in bytes.
pipeline_artifacts_size:
type: integer
format: int32
description: CI pipeline artifacts size in bytes.
repository_size:
type: integer
format: int32
description: Git repository size in bytes.
snippets_size:
type: integer
format: int32
description: Snippets size in bytes.
storage_size:
type: integer
format: int32
description: Total storage in bytes.
uploads_size:
type: integer
format: int32
description: Uploads size in bytes.
wiki_size:
type: integer
format: int32
description: Wiki size in bytes.
EE_API_Entities_LdapGroupLink:
type: object
properties:
cn:
type: string
example: ldap-group-1
group_access:
type: integer
format: int32
example: 10
provider:
type: string
example: ldapmain
filter:
type: string
example: id >= 500
member_role_id:
type: integer
format: int32
example: 12
EE_API_Entities_SamlGroupLink:
type: object
properties:
name:
type: string
example: saml-group-1
access_level:
type: integer
format: int32
example: 40
member_role_id:
type: integer
format: int32
example: 12
postApiV4Groups:
type: object
properties:
name:
type: string
description: The name of the group
path:
type: string
description: The path of the group
parent_id:
type: integer
format: int32
description: The parent group id for creating nested group
organization_id:
type: integer
format: int32
description: The organization id for the group
default: {}
description:
type: string
description: The description of the group
visibility:
type: string
description: The visibility of the group
enum:
- private
- internal
- public
avatar:
type: file
description: Avatar image for the group
share_with_group_lock:
type: boolean
description: Prevent sharing a project with another group within this group
require_two_factor_authentication:
type: boolean
description: Require all users in this group to setup Two-factor authentication
two_factor_grace_period:
type: integer
format: int32
description: Time before Two-factor authentication is enforced
project_creation_level:
type: string
description: Determine if developers can create projects in the group
enum:
- noone
- owner
- maintainer
- developer
- administrator
auto_devops_enabled:
type: boolean
description: Default to Auto DevOps pipeline for all projects within this
group
subgroup_creation_level:
type: string
description: Allowed to create subgroups
enum:
- owner
- maintainer
emails_disabled:
type: boolean
description: '_(Deprecated)_ Disable email notifications. Use: emails_enabled'
emails_enabled:
type: boolean
description: Enable email notifications
show_diff_preview_in_email:
type: boolean
description: Include the code diff preview in merge request notification emails
mentions_disabled:
type: boolean
description: Disable a group from getting mentioned
lfs_enabled:
type: boolean
description: Enable/disable LFS for the projects in this group
request_access_enabled:
type: boolean
description: Allow users to request member access
default_branch:
type: string
description: The default branch of group's projects
example: main
default_branch_protection:
type: integer
format: int32
description: Determine if developers can push to default branch
enum:
- 0
- 3
- 1
- 2
- 4
default_branch_protection_defaults:
type: object
description: Determine if developers can push to default branch
properties:
allowed_to_push:
type: array
description: An array of access levels allowed to push
items:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level
enum:
- 30
- 40
- 60
- 0
required:
- access_level
allow_force_push:
type: boolean
description: Allow force push for all users with push access.
allowed_to_merge:
type: array
description: An array of access levels allowed to merge
items:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level
enum:
- 30
- 40
- 60
- 0
required:
- access_level
code_owner_approval_required:
type: boolean
description: Require approval from code owners
developer_can_initial_push:
type: boolean
description: Allow developers to initial push
shared_runners_setting:
type: string
description: Enable/disable shared runners for the group and its subgroups
and projects
enum:
- disabled_and_unoverridable
- disabled_and_overridable
- enabled
enabled_git_access_protocol:
type: string
description: Allow only the selected protocols to be used for Git access.
enum:
- ssh
- http
- all
membership_lock:
type: boolean
description: Prevent adding new members to projects within this group
ldap_cn:
type: string
description: LDAP Common Name
ldap_access:
type: integer
format: int32
description: A valid access level
shared_runners_minutes_limit:
type: integer
format: int32
description: "(admin-only) compute minutes quota for this group"
extra_shared_runners_minutes_limit:
type: integer
format: int32
description: "(admin-only) Extra compute minutes quota for this group"
wiki_access_level:
type: string
description: Wiki access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
duo_availability:
type: string
description: Duo availability. One of `default_on`, `default_off` or `never_on`
enum:
- default_on
- default_off
- never_on
amazon_q_auto_review_enabled:
type: boolean
description: Enable Amazon Q auto review for merge request
experiment_features_enabled:
type: boolean
description: Enable experiment features for this group
model_prompt_cache_enabled:
type: boolean
description: Enable model prompt cache for this group
ai_settings_attributes:
type: object
description: AI-related settings
properties:
duo_workflow_mcp_enabled:
type: boolean
description: Enable MCP support for Duo Workflow
required:
- name
- path
description: Create a group. Available only for users who can create groups.
putApiV4GroupsId:
type: object
properties:
name:
type: string
description: The name of the group
path:
type: string
description: The path of the group
description:
type: string
description: The description of the group
visibility:
type: string
description: The visibility of the group
enum:
- private
- internal
- public
avatar:
type: file
description: Avatar image for the group
share_with_group_lock:
type: boolean
description: Prevent sharing a project with another group within this group
require_two_factor_authentication:
type: boolean
description: Require all users in this group to setup Two-factor authentication
two_factor_grace_period:
type: integer
format: int32
description: Time before Two-factor authentication is enforced
project_creation_level:
type: string
description: Determine if developers can create projects in the group
enum:
- noone
- owner
- maintainer
- developer
- administrator
auto_devops_enabled:
type: boolean
description: Default to Auto DevOps pipeline for all projects within this
group
subgroup_creation_level:
type: string
description: Allowed to create subgroups
enum:
- owner
- maintainer
emails_disabled:
type: boolean
description: '_(Deprecated)_ Disable email notifications. Use: emails_enabled'
emails_enabled:
type: boolean
description: Enable email notifications
show_diff_preview_in_email:
type: boolean
description: Include the code diff preview in merge request notification emails
mentions_disabled:
type: boolean
description: Disable a group from getting mentioned
lfs_enabled:
type: boolean
description: Enable/disable LFS for the projects in this group
request_access_enabled:
type: boolean
description: Allow users to request member access
default_branch:
type: string
description: The default branch of group's projects
example: main
default_branch_protection:
type: integer
format: int32
description: Determine if developers can push to default branch
enum:
- 0
- 3
- 1
- 2
- 4
default_branch_protection_defaults:
type: object
description: Determine if developers can push to default branch
properties:
allowed_to_push:
type: array
description: An array of access levels allowed to push
items:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level
enum:
- 30
- 40
- 60
- 0
required:
- access_level
allow_force_push:
type: boolean
description: Allow force push for all users with push access.
allowed_to_merge:
type: array
description: An array of access levels allowed to merge
items:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level
enum:
- 30
- 40
- 60
- 0
required:
- access_level
code_owner_approval_required:
type: boolean
description: Require approval from code owners
developer_can_initial_push:
type: boolean
description: Allow developers to initial push
shared_runners_setting:
type: string
description: Enable/disable shared runners for the group and its subgroups
and projects
enum:
- disabled_and_unoverridable
- disabled_and_overridable
- enabled
enabled_git_access_protocol:
type: string
description: Allow only the selected protocols to be used for Git access.
enum:
- ssh
- http
- all
membership_lock:
type: boolean
description: Prevent adding new members to projects within this group
ldap_cn:
type: string
description: LDAP Common Name
ldap_access:
type: integer
format: int32
description: A valid access level
shared_runners_minutes_limit:
type: integer
format: int32
description: "(admin-only) compute minutes quota for this group"
extra_shared_runners_minutes_limit:
type: integer
format: int32
description: "(admin-only) Extra compute minutes quota for this group"
wiki_access_level:
type: string
description: Wiki access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
duo_availability:
type: string
description: Duo availability. One of `default_on`, `default_off` or `never_on`
enum:
- default_on
- default_off
- never_on
amazon_q_auto_review_enabled:
type: boolean
description: Enable Amazon Q auto review for merge request
experiment_features_enabled:
type: boolean
description: Enable experiment features for this group
model_prompt_cache_enabled:
type: boolean
description: Enable model prompt cache for this group
ai_settings_attributes:
type: object
description: AI-related settings
properties:
duo_workflow_mcp_enabled:
type: boolean
description: Enable MCP support for Duo Workflow
prevent_sharing_groups_outside_hierarchy:
type: boolean
description: Prevent sharing groups within this namespace with any groups
outside the namespace. Only available on top-level groups.
lock_math_rendering_limits_enabled:
type: boolean
description: Indicates if math rendering limits are locked for all descendent
groups.
math_rendering_limits_enabled:
type: boolean
description: Indicates if math rendering limits are used for this group.
max_artifacts_size:
type: integer
format: int32
description: Set the maximum file size for each job's artifacts
file_template_project_id:
type: integer
format: int32
description: The ID of a project to use for custom templates in this group
prevent_forking_outside_group:
type: boolean
description: Prevent forking projects inside this group to external namespaces
unique_project_download_limit:
type: integer
format: int32
description: Maximum number of unique projects a user can download in the
specified time period before they are banned.
unique_project_download_limit_interval_in_seconds:
type: integer
format: int32
description: Time period during which a user can download a maximum amount
of projects before they are banned.
unique_project_download_limit_allowlist:
type: array
description: List of usernames excluded from the unique project download limit
items:
type: string
unique_project_download_limit_alertlist:
type: array
description: List of user ids who will be emailed when Git abuse rate limit
is exceeded
items:
type: integer
format: int32
auto_ban_user_on_excessive_projects_download:
type: boolean
description: Ban users from the group when they exceed maximum number of unique
projects download in the specified time period
ip_restriction_ranges:
type: string
description: List of IP addresses which need to be restricted for group
allowed_email_domains_list:
type: string
description: List of allowed email domains for group
service_access_tokens_expiration_enforced:
type: boolean
description: To enforce token expiration for Service accounts users for group
duo_core_features_enabled:
type: boolean
description: "[Experimental] Indicates whether GitLab Duo Core features are
enabled for the group"
duo_features_enabled:
type: boolean
description: Indicates whether GitLab Duo features are enabled for the group
lock_duo_features_enabled:
type: boolean
description: Indicates if the GitLab Duo features enabled setting is enforced
for all subgroups
web_based_commit_signing_enabled:
type: boolean
description: Enable web based commit signing for this group
description: Update a group. Available only for users who can administrate groups.
API_Entities_GroupDetail:
type: object
properties:
id:
type: string
web_url:
type: string
name:
type: string
path:
type: string
description:
type: string
visibility:
type: string
share_with_group_lock:
type: string
require_two_factor_authentication:
type: string
two_factor_grace_period:
type: string
project_creation_level:
type: string
auto_devops_enabled:
type: string
subgroup_creation_level:
type: string
emails_disabled:
type: boolean
emails_enabled:
type: boolean
mentions_disabled:
type: string
lfs_enabled:
type: string
archived:
type: boolean
math_rendering_limits_enabled:
type: boolean
lock_math_rendering_limits_enabled:
type: boolean
default_branch:
type: string
default_branch_protection:
type: string
default_branch_protection_defaults:
type: string
avatar_url:
type: string
request_access_enabled:
type: string
full_name:
type: string
full_path:
type: string
created_at:
type: string
parent_id:
type: string
organization_id:
type: string
shared_runners_setting:
type: string
max_artifacts_size:
type: integer
format: int32
custom_attributes:
"$ref": "#/definitions/API_Entities_CustomAttribute"
statistics:
type: object
properties:
storage_size:
type: string
repository_size:
type: string
wiki_size:
type: string
lfs_objects_size:
type: string
job_artifacts_size:
type: string
pipeline_artifacts_size:
type: string
packages_size:
type: string
snippets_size:
type: string
uploads_size:
type: string
marked_for_deletion_on:
type: string
root_storage_statistics:
"$ref": "#/definitions/API_Entities_Namespace_RootStorageStatistics"
ldap_cn:
type: string
ldap_access:
type: string
ldap_group_links:
"$ref": "#/definitions/EE_API_Entities_LdapGroupLink"
saml_group_links:
"$ref": "#/definitions/EE_API_Entities_SamlGroupLink"
file_template_project_id:
type: string
wiki_access_level:
type: string
repository_storage:
type: string
duo_core_features_enabled:
type: boolean
description: "[Experimental] Indicates whether GitLab Duo Core features are
enabled for the group"
duo_features_enabled:
type: string
lock_duo_features_enabled:
type: string
web_based_commit_signing_enabled:
type: string
shared_with_groups:
type: string
runners_token:
type: string
enabled_git_access_protocol:
type: string
prevent_sharing_groups_outside_hierarchy:
type: string
projects:
"$ref": "#/definitions/API_Entities_Project"
shared_projects:
"$ref": "#/definitions/API_Entities_Project"
shared_runners_minutes_limit:
type: string
extra_shared_runners_minutes_limit:
type: string
prevent_forking_outside_group:
type: string
service_access_tokens_expiration_enforced:
type: string
membership_lock:
type: string
ip_restriction_ranges:
type: string
allowed_email_domains_list:
type: string
unique_project_download_limit:
type: string
unique_project_download_limit_interval_in_seconds:
type: string
unique_project_download_limit_allowlist:
type: string
unique_project_download_limit_alertlist:
type: string
auto_ban_user_on_excessive_projects_download:
type: string
description: API_Entities_GroupDetail model
API_Entities_Project:
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'
default_branch:
type: string
example: main
tag_list:
type: array
items:
type: string
example: tag
topics:
type: array
items:
type: string
example: topic
ssh_url_to_repo:
type: string
example: git@gitlab.example.com:gitlab/gitlab.git
http_url_to_repo:
type: string
example: https://gitlab.example.com/gitlab/gitlab.git
web_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab
readme_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab/blob/master/README.md
forks_count:
type: integer
format: int32
example: 1
license_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab/blob/master/LICENCE
license:
"$ref": "#/definitions/API_Entities_LicenseBasic"
avatar_url:
type: string
example: http://example.com/uploads/project/avatar/3/uploads/avatar.png
star_count:
type: integer
format: int32
example: 1
last_activity_at:
type: string
format: date-time
example: '2013-09-30T13:46:02Z'
namespace:
"$ref": "#/definitions/API_Entities_NamespaceBasic"
custom_attributes:
"$ref": "#/definitions/API_Entities_CustomAttribute"
repository_storage:
type: string
example: default
forked_from_project:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
container_registry_image_prefix:
type: string
example: registry.gitlab.example.com/gitlab/gitlab-client
_links:
type: object
properties:
self:
type: string
example: https://gitlab.example.com/api/v4/projects/4
issues:
type: string
example: https://gitlab.example.com/api/v4/projects/4/issues
merge_requests:
type: string
example: https://gitlab.example.com/api/v4/projects/4/merge_requests
repo_branches:
type: string
example: https://gitlab.example.com/api/v4/projects/4/repository/branches
labels:
type: string
example: https://gitlab.example.com/api/v4/projects/4/labels
events:
type: string
example: https://gitlab.example.com/api/v4/projects/4/events
members:
type: string
example: https://gitlab.example.com/api/v4/projects/4/members
cluster_agents:
type: string
example: https://gitlab.example.com/api/v4/projects/4/cluster_agents
marked_for_deletion_at:
type: string
marked_for_deletion_on:
type: string
packages_enabled:
type: boolean
empty_repo:
type: boolean
archived:
type: boolean
visibility:
type: string
example: public
owner:
"$ref": "#/definitions/API_Entities_UserBasic"
resolve_outdated_diff_discussions:
type: boolean
container_expiration_policy:
"$ref": "#/definitions/API_Entities_ContainerExpirationPolicy"
repository_object_format:
type: string
example: sha1
issues_enabled:
type: boolean
merge_requests_enabled:
type: boolean
wiki_enabled:
type: boolean
jobs_enabled:
type: boolean
snippets_enabled:
type: boolean
container_registry_enabled:
type: boolean
service_desk_enabled:
type: boolean
service_desk_address:
type: string
example: address@example.com
can_create_merge_request_in:
type: boolean
issues_access_level:
type: string
example: enabled
repository_access_level:
type: string
example: enabled
merge_requests_access_level:
type: string
example: enabled
forking_access_level:
type: string
example: enabled
wiki_access_level:
type: string
example: enabled
builds_access_level:
type: string
example: enabled
snippets_access_level:
type: string
example: enabled
pages_access_level:
type: string
example: enabled
analytics_access_level:
type: string
example: enabled
container_registry_access_level:
type: string
example: enabled
security_and_compliance_access_level:
type: string
example: enabled
releases_access_level:
type: string
example: enabled
environments_access_level:
type: string
example: enabled
feature_flags_access_level:
type: string
example: enabled
infrastructure_access_level:
type: string
example: enabled
monitor_access_level:
type: string
example: enabled
model_experiments_access_level:
type: string
example: enabled
model_registry_access_level:
type: string
example: enabled
emails_disabled:
type: boolean
emails_enabled:
type: boolean
shared_runners_enabled:
type: boolean
lfs_enabled:
type: boolean
creator_id:
type: integer
format: int32
example: 1
mr_default_target_self:
type: boolean
import_url:
type: string
example: https://gitlab.com/gitlab/gitlab.git
import_type:
type: string
example: git
import_status:
type: string
example: none
import_error:
type: string
example: Import error
open_issues_count:
type: integer
format: int32
example: 1
description_html:
type: string
updated_at:
type: string
format: date-time
example: '2020-05-07T04:27:17.016Z'
ci_default_git_depth:
type: integer
format: int32
example: 20
ci_delete_pipelines_in_seconds:
type: integer
format: int32
example: 86400
ci_forward_deployment_enabled:
type: boolean
ci_forward_deployment_rollback_allowed:
type: boolean
ci_job_token_scope_enabled:
type: boolean
ci_separated_caches:
type: boolean
ci_allow_fork_pipelines_to_run_in_parent_project:
type: boolean
ci_id_token_sub_claim_components:
type: array
items:
type: string
build_git_strategy:
type: string
example: fetch
keep_latest_artifact:
type: boolean
restrict_user_defined_variables:
type: boolean
ci_pipeline_variables_minimum_override_role:
type: string
runner_token_expiration_interval:
type: integer
format: int32
example: 3600
group_runners_enabled:
type: boolean
auto_cancel_pending_pipelines:
type: string
example: enabled
build_timeout:
type: integer
format: int32
example: 3600
auto_devops_enabled:
type: boolean
auto_devops_deploy_strategy:
type: string
example: continuous
ci_push_repository_for_job_token_allowed:
type: boolean
runners_token:
type: string
example: b8547b1dc37721d05889db52fa2f02
ci_config_path:
type: string
example: ''
public_jobs:
type: boolean
shared_with_groups:
type: array
items:
type: string
only_allow_merge_if_pipeline_succeeds:
type: boolean
allow_merge_on_skipped_pipeline:
type: boolean
request_access_enabled:
type: boolean
only_allow_merge_if_all_discussions_are_resolved:
type: boolean
remove_source_branch_after_merge:
type: boolean
printing_merge_request_link_enabled:
type: boolean
merge_method:
type: string
example: merge
merge_request_title_regex:
type: string
example: "/Title of merge request/"
merge_request_title_regex_description:
type: string
example: This requires the title to include a Jira label
squash_option:
type: string
example: default_off
enforce_auth_checks_on_uploads:
type: boolean
suggestion_commit_message:
type: string
example: Suggestion message
merge_commit_template:
type: string
example: "%(title)"
squash_commit_template:
type: string
example: "%(source_branch)"
issue_branch_template:
type: string
example: "%(title)"
statistics:
"$ref": "#/definitions/API_Entities_ProjectStatistics"
warn_about_potentially_unwanted_characters:
type: boolean
autoclose_referenced_issues:
type: boolean
max_artifacts_size:
type: integer
format: int32
approvals_before_merge:
type: string
mirror:
type: string
mirror_user_id:
type: string
mirror_trigger_builds:
type: string
only_mirror_protected_branches:
type: string
mirror_overwrites_diverged_branches:
type: string
external_authorization_classification_label:
type: string
requirements_enabled:
type: string
requirements_access_level:
type: string
security_and_compliance_enabled:
type: string
secret_push_protection_enabled:
type: boolean
pre_receive_secret_detection_enabled:
type: boolean
compliance_frameworks:
type: string
issues_template:
type: string
merge_requests_template:
type: string
ci_restrict_pipeline_cancellation_role:
type: string
merge_pipelines_enabled:
type: string
merge_trains_enabled:
type: string
merge_trains_skip_train_allowed:
type: string
only_allow_merge_if_all_status_checks_passed:
type: string
allow_pipeline_trigger_approve_deployment:
type: boolean
prevent_merge_without_jira_issue:
type: string
auto_duo_code_review_enabled:
type: string
web_based_commit_signing_enabled:
type: string
description: API_Entities_Project model
API_Entities_LicenseBasic:
type: object
properties:
key:
type: string
example: gpl-3.0
name:
type: string
example: GNU General Public License v3.0
nickname:
type: string
example: GNU GPLv3
html_url:
type: string
example: http://choosealicense.com/licenses/gpl-3.0
source_url:
type: string
API_Entities_NamespaceBasic:
type: object
properties:
id:
type: integer
format: int32
example: 2
name:
type: string
example: project
path:
type: string
example: my_project
kind:
type: string
example: project
full_path:
type: string
example: group/my_project
parent_id:
type: integer
format: int32
example: 1
avatar_url:
type: string
example: https://example.com/avatar/12345
web_url:
type: string
example: https://example.com/group/my_project
API_Entities_BasicProjectDetails:
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'
default_branch:
type: string
example: main
tag_list:
type: array
items:
type: string
example: tag
topics:
type: array
items:
type: string
example: topic
ssh_url_to_repo:
type: string
example: git@gitlab.example.com:gitlab/gitlab.git
http_url_to_repo:
type: string
example: https://gitlab.example.com/gitlab/gitlab.git
web_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab
readme_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab/blob/master/README.md
forks_count:
type: integer
format: int32
example: 1
license_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab/blob/master/LICENCE
license:
"$ref": "#/definitions/API_Entities_LicenseBasic"
avatar_url:
type: string
example: http://example.com/uploads/project/avatar/3/uploads/avatar.png
star_count:
type: integer
format: int32
example: 1
last_activity_at:
type: string
format: date-time
example: '2013-09-30T13:46:02Z'
namespace:
"$ref": "#/definitions/API_Entities_NamespaceBasic"
custom_attributes:
"$ref": "#/definitions/API_Entities_CustomAttribute"
repository_storage:
type: string
example: default
description: API_Entities_BasicProjectDetails model
API_Entities_ContainerExpirationPolicy:
type: object
properties:
cadence:
type: string
enabled:
type: string
keep_n:
type: string
older_than:
type: string
name_regex:
type: string
name_regex_keep:
type: string
next_run_at:
type: string
API_Entities_ProjectStatistics:
type: object
properties:
commit_count:
type: string
storage_size:
type: string
repository_size:
type: string
wiki_size:
type: string
lfs_objects_size:
type: string
job_artifacts_size:
type: string
pipeline_artifacts_size:
type: string
packages_size:
type: string
snippets_size:
type: string
uploads_size:
type: string
container_registry_size:
type: string
postApiV4GroupsIdTransfer:
type: object
properties:
group_id:
type: integer
format: int32
description: The ID of the target group to which the group needs to be transferred
to.If not provided, the source group will be promoted to a top-level group.
description: Transfer a group to a new parent group or promote a subgroup to a
top-level group
postApiV4GroupsIdShare:
type: object
properties:
group_id:
type: integer
format: int32
description: The ID of the group to share
group_access:
type: integer
format: int32
description: The group access level
enum:
- 10
- 15
- 20
- 30
- 40
- 50
expires_at:
type: string
format: date
description: Share expiration date
member_role_id:
type: integer
format: int32
description: The ID of the Member Role to be assigned to the group
required:
- group_id
- group_access
description: Share a group with a group
postApiV4GroupsIdTokensRevoke:
type: object
properties:
token:
type: string
description: The token to revoke
required:
- token
description: Revoke a single token
EE_API_Entities_AuditEvent:
type: object
properties:
id:
type: string
author_id:
type: string
entity_id:
type: string
entity_type:
type: string
event_name:
type: string
details:
type: string
created_at:
type: string
description: EE_API_Entities_AuditEvent model
API_Entities_UserPublic:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
state:
type: string
example: active
locked:
type: boolean
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": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
example: https://gitlab.example.com/root
created_at:
type: string
bio:
type: string
location:
type: string
linkedin:
type: string
twitter:
type: string
discord:
type: string
website_url:
type: string
github:
type: string
organization:
type: string
job_title:
type: string
pronouns:
type: string
bot:
type: string
work_information:
type: string
followers:
type: string
following:
type: string
is_followed:
type: string
local_time:
type: string
last_sign_in_at:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
confirmed_at:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
last_activity_on:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
email:
type: string
example: john@example.com
theme_id:
type: integer
format: int32
example: 2
color_scheme_id:
type: integer
format: int32
example: 1
projects_limit:
type: integer
format: int32
example: 10
current_sign_in_at:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
identities:
"$ref": "#/definitions/API_Entities_Identity"
can_create_group:
type: boolean
example: true
can_create_project:
type: boolean
example: true
two_factor_enabled:
type: boolean
example: true
external:
type: string
private_profile:
type: boolean
example: 'null'
commit_email:
type: string
shared_runners_minutes_limit:
type: string
extra_shared_runners_minutes_limit:
type: string
scim_identities:
"$ref": "#/definitions/API_Entities_ScimIdentity"
description: API_Entities_UserPublic model
API_Entities_Identity:
type: object
properties:
provider:
type: string
extern_uid:
type: string
saml_provider_id:
type: string
API_Entities_ScimIdentity:
type: object
properties:
extern_uid:
type: string
group_id:
type: string
active:
type: string
EE_API_Entities_SshCertificate:
type: object
properties:
id:
type: integer
format: int32
example: 142
title:
type: string
example: new ssh cert
key:
type: string
created_at:
type: string
format: date-time
example: '2022-01-31T15:10:45.080Z'
description: EE_API_Entities_SshCertificate model
postApiV4GroupsIdSshCertificates:
type: object
properties:
title:
type: string
description: The title of the ssh certificate
key:
type: string
description: The key of the ssh certificate
required:
- title
- key
description: Create a ssh certificate for a group.
API_Entities_Ci_Runner:
type: object
properties:
id:
type: integer
format: int32
example: 8
description:
type: string
example: test-1-20150125
ip_address:
type: string
example: 127.0.0.1
active:
type: boolean
example: true
paused:
type: boolean
example: false
is_shared:
type: boolean
example: true
runner_type:
type: string
enum:
- instance_type
- group_type
- project_type
example: instance_type
name:
type: string
example: test
online:
type: boolean
example: true
created_by:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2025-05-03T00:00:00.000Z'
status:
type: string
example: online
job_execution_status:
type: string
enum:
- active
- idle
example: idle
description: API_Entities_Ci_Runner model
API_Entities_Ci_ResetTokenResult:
type: object
properties:
token:
type: string
token_expires_at:
type: string
description: API_Entities_Ci_ResetTokenResult model
API_Entities_DeployToken:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: MyToken
username:
type: string
example: gitlab+deploy-token-1
expires_at:
type: string
format: date-time
example: '2020-02-14T00:00:00.000Z'
scopes:
type: array
example:
- read_repository
revoked:
type: boolean
expired:
type: boolean
description: API_Entities_DeployToken model
postApiV4GroupsIdDeployTokens:
type: object
properties:
name:
type: string
description: New deploy token's name
scopes:
type: array
description: Indicates the deploy token scopes. Must be at least one of `read_repository`,
`read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`
items:
type: string
enum:
- read_repository
- read_registry
- write_registry
- read_package_registry
- write_package_registry
- read_virtual_registry
- write_virtual_registry
expires_at:
type: string
format: date-time
description: Expiration date for the deploy token. Does not expire if no value
is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)
username:
type: string
description: Username for deploy token. Default is `gitlab+deploy-token-{n}`
required:
- name
- scopes
description: Create a group deploy token
API_Entities_DeployTokenWithToken:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: MyToken
username:
type: string
example: gitlab+deploy-token-1
expires_at:
type: string
format: date-time
example: '2020-02-14T00:00:00.000Z'
scopes:
type: array
example:
- read_repository
revoked:
type: boolean
expired:
type: boolean
token:
type: string
example: jMRvtPNxrn3crTAGukpZ
description: API_Entities_DeployTokenWithToken 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": "#/definitions/API_Entities_UserBasic"
platform_kubernetes:
"$ref": "#/definitions/API_Entities_Platform_Kubernetes"
provider_gcp:
"$ref": "#/definitions/API_Entities_Provider_Gcp"
management_project:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
description: API_Entities_Cluster model
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_ClusterGroup:
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": "#/definitions/API_Entities_UserBasic"
platform_kubernetes:
"$ref": "#/definitions/API_Entities_Platform_Kubernetes"
provider_gcp:
"$ref": "#/definitions/API_Entities_Provider_Gcp"
management_project:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
group:
"$ref": "#/definitions/API_Entities_BasicGroupDetails"
description: API_Entities_ClusterGroup model
API_Entities_BasicGroupDetails:
type: object
properties:
id:
type: string
web_url:
type: string
name:
type: string
description: API_Entities_BasicGroupDetails model
postApiV4GroupsIdClustersUser:
type: object
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
format: int32
description: The ID of the management project
managed:
type: boolean
description: Determines if GitLab will manage namespaces and service accounts
for this cluster, defaults to true
default: true
platform_kubernetes_attributes:
type: object
description: Platform Kubernetes data
properties:
api_url:
type: string
description: URL to access the Kubernetes API
token:
type: string
description: Token to authenticate against Kubernetes
ca_cert:
type: string
description: TLS certificate (needed if API is using a self-signed TLS
certificate)
namespace:
type: string
description: Unique namespace related to Group
authorization_type:
type: string
description: Cluster authorization type, defaults to RBAC
enum:
- unknown_authorization
- rbac
- abac
default: rbac
required:
- api_url
- token
required:
- name
- platform_kubernetes_attributes
description: Add existing cluster to group
putApiV4GroupsIdClustersClusterId:
type: object
properties:
name:
type: string
description: Cluster name
enabled:
type: boolean
description: Determines if cluster is active or not
domain:
type: string
description: Cluster base domain
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
management_project_id:
type: integer
format: int32
description: The ID of the management project
managed:
type: boolean
description: Determines if GitLab will manage namespaces and service accounts
for this cluster
platform_kubernetes_attributes:
type: object
description: Platform Kubernetes data
properties:
api_url:
type: string
description: URL to access the Kubernetes API
token:
type: string
description: Token to authenticate against Kubernetes
ca_cert:
type: string
description: TLS certificate (needed if API is using a self-signed TLS
certificate)
namespace:
type: string
description: Unique namespace related to Group
description: Edit group cluster
API_Entities_ContainerRegistry_Repository:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: releases
path:
type: string
example: group/project/releases
project_id:
type: integer
format: int32
example: 9
location:
type: string
example: gitlab.example.com/group/project/releases
created_at:
type: string
format: date-time
example: '2019-01-10T13:39:08.229Z'
cleanup_policy_started_at:
type: string
format: date-time
example: '2020-08-17T03:12:35.489Z'
tags_count:
type: integer
format: int32
example: 3
tags:
"$ref": "#/definitions/API_Entities_ContainerRegistry_Tag"
delete_api_path:
type: string
example: delete/api/path
size:
type: integer
format: int32
example: 12345
status:
type: string
example: delete_scheduled
description: API_Entities_ContainerRegistry_Repository model
API_Entities_ContainerRegistry_Tag:
type: object
properties:
name:
type: string
example: latest
path:
type: string
example: namespace1/project1/test_image_1:latest
location:
type: string
example: registry.dev/namespace1/project1/test_image_1:latest
description: API_Entities_ContainerRegistry_Tag model
postApiV4GroupsIdDebianDistributions:
type: object
properties:
codename:
type: string
description: The Debian Codename
example: sid
suite:
type: string
description: The Debian Suite
example: unstable
origin:
type: string
description: The Debian Origin
example: Grep
label:
type: string
description: The Debian Label
example: grep.be
version:
type: string
description: The Debian Version
example: '12'
description:
type: string
description: The Debian Description
example: My description
valid_time_duration_seconds:
type: integer
format: int32
description: The duration before the Release file should be considered expired
by the client
example: 604800
components:
type: array
description: The list of Components
example: main
items:
type: string
architectures:
type: array
description: The list of Architectures
example: amd64
items:
type: string
required:
- codename
description: Create a Debian Distribution
API_Entities_Packages_Debian_Distribution:
type: object
properties:
id:
type: integer
format: int32
example: 1
codename:
type: string
example: sid
suite:
type: string
example: unstable
origin:
type: string
example: Grep
label:
type: string
example: grep.be
version:
type: string
example: '12'
description:
type: string
example: My description
valid_time_duration_seconds:
type: integer
format: int32
example: 604800
components:
type: array
items:
type: string
example: main
architectures:
type: array
items:
type: string
example: amd64
description: API_Entities_Packages_Debian_Distribution model
putApiV4GroupsIdDebianDistributionsCodename:
type: object
properties:
suite:
type: string
description: The Debian Suite
example: unstable
origin:
type: string
description: The Debian Origin
example: Grep
label:
type: string
description: The Debian Label
example: grep.be
version:
type: string
description: The Debian Version
example: '12'
description:
type: string
description: The Debian Description
example: My description
valid_time_duration_seconds:
type: integer
format: int32
description: The duration before the Release file should be considered expired
by the client
example: 604800
components:
type: array
description: The list of Components
example: main
items:
type: string
architectures:
type: array
description: The list of Architectures
example: amd64
items:
type: string
description: Update a Debian Distribution
postApiV4GroupsIdExportRelations:
type: object
properties:
batched:
type: boolean
description: Whether to export in batches
description: Start relations export
API_Entities_BulkImports_ExportStatus:
type: object
properties:
relation:
type: string
example: issues
status:
type: string
enum:
- started
- finished
- failed
example: started
error:
type: string
example: Error message
updated_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
batched:
type: boolean
example: true
batches_count:
type: integer
format: int32
example: 2
total_objects_count:
type: integer
format: int32
example: 100
batches:
"$ref": "#/definitions/API_Entities_BulkImports_ExportBatchStatus"
description: API_Entities_BulkImports_ExportStatus model
API_Entities_BulkImports_ExportBatchStatus:
type: object
properties:
status:
type: string
enum:
- started
- finished
- failed
example: started
batch_number:
type: integer
format: int32
example: 1
objects_count:
type: integer
format: int32
example: 100
error:
type: string
example: Error message
updated_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
API_Entities_Package:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: "@foo/bar"
conan_package_name:
type: string
version:
type: string
example: 1.0.3
package_type:
type: string
example: npm
status:
type: string
example: default
_links:
type: object
properties:
web_path:
type: string
delete_api_path:
type: string
created_at:
type: string
format: date-time
example: '2022-09-16T12:47:31.949Z'
last_downloaded_at:
type: string
format: date-time
example: '2022-09-19T11:32:35.169Z'
project_id:
type: integer
format: int32
example: 2
project_path:
type: string
example: gitlab/foo/bar
tags:
type: string
pipeline:
"$ref": "#/definitions/API_Entities_Package_Pipeline"
pipelines:
"$ref": "#/definitions/API_Entities_Package_Pipeline"
versions:
"$ref": "#/definitions/API_Entities_PackageVersion"
description: API_Entities_Package model
API_Entities_Package_Pipeline:
type: object
properties:
id:
type: integer
format: int32
example: 1
iid:
type: integer
format: int32
example: 2
project_id:
type: integer
format: int32
example: 3
sha:
type: string
example: 0ec9e58fdfca6cdd6652c083c9edb53abc0bad52
ref:
type: string
example: feature-branch
status:
type: string
example: success
source:
type: string
example: push
created_at:
type: string
format: date-time
example: '2022-10-21T16:49:48.000+02:00'
updated_at:
type: string
format: date-time
example: '2022-10-21T16:49:48.000+02:00'
web_url:
type: string
example: https://gitlab.example.com/gitlab-org/gitlab-foss/-/pipelines/61
user:
"$ref": "#/definitions/API_Entities_UserBasic"
description: API_Entities_Package_Pipeline model
API_Entities_PackageVersion:
type: object
properties:
id:
type: string
version:
type: string
created_at:
type: string
tags:
type: string
pipeline:
"$ref": "#/definitions/API_Entities_Package_Pipeline"
postApiV4GroupsIdPlaceholderReassignments:
type: object
properties:
file:
type: file
description: The CSV file containing the reassignments
required:
- file
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
hidden:
type: boolean
protected:
type: boolean
masked:
type: boolean
raw:
type: boolean
environment_scope:
type: string
example: "*"
description:
type: string
example: This variable is being used for ...
description: API_Entities_Ci_Variable model
postApiV4GroupsIdVariables:
type: object
properties:
key:
type: string
description: |-
The ID of a group or URL-encoded path of the group owned by the
authenticated user
value:
type: string
description: The value of a variable
protected:
type: string
description: Whether the variable is protected
masked_and_hidden:
type: string
description: Whether the variable is masked and hidden
masked:
type: string
description: Whether the variable is masked
raw:
type: string
description: Whether the variable will be expanded
variable_type:
type: string
description: 'The type of the variable. Default: env_var'
enum:
- env_var
- file
environment_scope:
type: string
description: The environment scope of the variable
description:
type: string
description: The description of the variable
required:
- key
- value
description: Create a new variable in a group
putApiV4GroupsIdVariablesKey:
type: object
properties:
value:
type: string
description: The value of a variable
protected:
type: string
description: Whether the variable is protected
masked:
type: string
description: Whether the variable is masked
raw:
type: string
description: Whether the variable will be expanded
variable_type:
type: string
description: 'The type of the variable. Default: env_var'
enum:
- env_var
- file
environment_scope:
type: string
description: The environment scope of the variable
description:
type: string
description: The description of the variable
description: Update an existing variable from a group
API_Entities_IntegrationBasic:
type: object
properties:
id:
type: integer
format: int32
example: 75
title:
type: string
example: Jenkins CI
slug:
type: integer
format: int32
example: jenkins
created_at:
type: string
format: date-time
example: '2019-11-20T11:20:25.297Z'
updated_at:
type: string
format: date-time
example: '2019-11-20T12:24:37.498Z'
active:
type: boolean
commit_events:
type: boolean
push_events:
type: boolean
issues_events:
type: boolean
incident_events:
type: boolean
alert_events:
type: boolean
confidential_issues_events:
type: boolean
merge_requests_events:
type: boolean
tag_push_events:
type: boolean
deployment_events:
type: boolean
note_events:
type: boolean
confidential_note_events:
type: boolean
pipeline_events:
type: boolean
wiki_page_events:
type: boolean
job_events:
type: boolean
comment_on_event_enabled:
type: boolean
inherited:
type: boolean
vulnerability_events:
type: boolean
description: API_Entities_IntegrationBasic model
putApiV4GroupsIdIntegrationsAppleAppStore:
type: object
properties:
app_store_issuer_id:
type: string
description: Apple App Store Connect issuer ID.
app_store_key_id:
type: string
description: Apple App Store Connect key ID.
app_store_private_key_file_name:
type: string
description: Apple App Store Connect private key file name.
app_store_private_key:
type: string
description: Apple App Store Connect private key.
app_store_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- app_store_issuer_id
- app_store_key_id
- app_store_private_key_file_name
- app_store_private_key
description: Create/Edit Apple App Store integration
putApiV4GroupsIdIntegrationsAsana:
type: object
properties:
api_key:
type: string
description: User API token. The user must have access to the task. All comments
are attributed to this user.
restrict_to_branch:
type: string
description: Comma-separated list of branches to be automatically inspected.
Leave blank to include all branches.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
description: Create/Edit Asana integration
putApiV4GroupsIdIntegrationsAssembla:
type: object
properties:
token:
type: string
description: The authentication token.
subdomain:
type: string
description: The subdomain setting.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Assembla integration
putApiV4GroupsIdIntegrationsBamboo:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
bamboo_url:
type: string
description: Bamboo root URL (for example, `https://bamboo.example.com`).
build_key:
type: string
description: Bamboo build plan key (for example, `KEY`).
username:
type: string
description: User with API access to the Bamboo server.
password:
type: string
description: Password of the user.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- bamboo_url
- build_key
- username
- password
description: Create/Edit Bamboo integration
putApiV4GroupsIdIntegrationsBugzilla:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Bugzilla integration
putApiV4GroupsIdIntegrationsBuildkite:
type: object
properties:
project_url:
type: string
description: Pipeline URL (for example, `https://buildkite.com/example/pipeline`).
token:
type: string
description: Token you get after you create a Buildkite pipeline with a GitLab
repository.
enable_ssl_verification:
type: boolean
description: 'DEPRECATED: This parameter has no effect because SSL verification
is always enabled.'
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- token
description: Create/Edit Buildkite integration
putApiV4GroupsIdIntegrationsCampfire:
type: object
properties:
token:
type: string
description: API authentication token from Campfire. To get the token, sign
in to Campfire and select **My info**.
subdomain:
type: string
description: "`.campfirenow.com` subdomain when you're signed in."
room:
type: string
description: ID portion of the Campfire room URL.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Campfire integration
putApiV4GroupsIdIntegrationsConfluence:
type: object
properties:
confluence_url:
type: string
description: URL of the Confluence Workspace hosted on `atlassian.net`.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- confluence_url
description: Create/Edit Confluence integration
putApiV4GroupsIdIntegrationsCustomIssueTracker:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Custom Issue Tracker integration
putApiV4GroupsIdIntegrationsDatadog:
type: object
properties:
datadog_site:
type: string
description: Datadog site to send data to. Learn more about Datadog sites
in the <a target="_blank" rel="noopener noreferrer" href="https://docs.datadoghq.com/getting_started/site/">documentation</a>.
api_url:
type: string
description: Full URL of your Datadog site. Only required if you do not use
a standard Datadog site.
api_key:
type: string
description: <a target="_blank" rel="noopener noreferrer" href="https://docs.datadoghq.com/account_management/api-app-keys/">API
key</a> used for authentication with Datadog.
datadog_ci_visibility:
type: boolean
description: Enable CI Visibility
archive_trace_events:
type: boolean
description: When enabled, job logs are collected by Datadog and displayed
along with pipeline execution traces.
datadog_service:
type: string
description: Tag all pipeline data from this GitLab instance in Datadog. Can
be used when managing several self-managed deployments.
datadog_env:
type: string
description: For self-managed deployments, `env` tag for all the data sent
to Datadog.
datadog_tags:
type: string
description: Custom tags in Datadog. Specify one tag per line in the format
`key:value\nkey2:value2`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
build_events:
type: boolean
description: Trigger event when a build is created.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
subgroup_events:
type: boolean
project_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
description: Create/Edit Datadog integration
putApiV4GroupsIdIntegrationsDiffblueCover:
type: object
properties:
diffblue_license_key:
type: string
description: Diffblue Cover license key.
diffblue_access_token_name:
type: string
description: Access token name used by Diffblue Cover in pipelines.
diffblue_access_token_secret:
type: string
description: Access token secret used by Diffblue Cover in pipelines.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- diffblue_license_key
- diffblue_access_token_name
- diffblue_access_token_secret
description: Create/Edit Diffblue Cover integration
putApiV4GroupsIdIntegrationsDiscord:
type: object
properties:
webhook:
type: string
description: Discord webhook (for example, `https://discord.com/api/webhooks/…`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Discord integration
putApiV4GroupsIdIntegrationsDroneCi:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
drone_url:
type: string
description: Drone CI URL (for example, `http://drone.example.com`).
token:
type: string
description: Drone CI token.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- drone_url
- token
description: Create/Edit Drone Ci integration
putApiV4GroupsIdIntegrationsEmailsOnPush:
type: object
properties:
send_from_committer_email:
type: boolean
description: Send from committer
disable_diffs:
type: boolean
description: Disable code diffs
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
recipients:
type: string
description: Emails separated by whitespace.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Emails On Push integration
putApiV4GroupsIdIntegrationsExternalWiki:
type: object
properties:
external_wiki_url:
type: string
description: URL of the external wiki.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- external_wiki_url
description: Create/Edit External Wiki integration
putApiV4GroupsIdIntegrationsGitlabSlackApplication:
type: object
properties:
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Gitlab Slack Application integration
putApiV4GroupsIdIntegrationsGooglePlay:
type: object
properties:
package_name:
type: string
description: Package name of the app in Google Play.
service_account_key_file_name:
type: string
description: File name of the Google Play service account key.
service_account_key:
type: string
description: Google Play service account key.
google_play_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- package_name
- service_account_key_file_name
- service_account_key
description: Create/Edit Google Play integration
putApiV4GroupsIdIntegrationsHangoutsChat:
type: object
properties:
webhook:
type: string
description: The Hangouts Chat webhook (for example, `https://chat.googleapis.com/v1/spaces...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Hangouts Chat integration
putApiV4GroupsIdIntegrationsHarbor:
type: object
properties:
url:
type: string
description: The base URL to the Harbor instance linked to the GitLab project.
For example, `https://demo.goharbor.io`.
project_name:
type: string
description: The name of the project in the Harbor instance. For example,
`testproject`.
username:
type: string
description: The username created in the Harbor interface.
password:
type: string
description: The password of the user.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- project_name
- username
- password
description: Create/Edit Harbor integration
putApiV4GroupsIdIntegrationsIrker:
type: object
properties:
server_host:
type: string
description: irker daemon hostname. The default value is `localhost`.
server_port:
type: integer
format: int32
description: irker daemon port. The default value is `6659`.
default_irc_uri:
type: string
description: URI to add before each recipient. The default value is `irc://irc.network.net:6697/`.
recipients:
type: string
description: Comma-separated list of channels or email addresses.
colorize_messages:
type: boolean
description: Colorize messages
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Irker integration
putApiV4GroupsIdIntegrationsJenkins:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
jenkins_url:
type: string
description: URL of the Jenkins server.
project_name:
type: string
description: Name of the Jenkins project.
username:
type: string
description: Username of the Jenkins server.
password:
type: string
description: Password of the Jenkins server.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- jenkins_url
- project_name
description: Create/Edit Jenkins integration
putApiV4GroupsIdIntegrationsJira:
type: object
properties:
url:
type: string
description: The URL to the Jira project which is being linked to this GitLab
project (for example, `https://jira.example.com`).
api_url:
type: string
description: The base URL to the Jira instance API. Web URL value is used
if not set (for example, `https://jira-api.example.com`).
jira_auth_type:
type: integer
format: int32
description: The authentication method to use with Jira. Use `0` for Basic
Authentication, and `1` for Jira personal access token. Defaults to `0`.
username:
type: string
description: The email or username to use with Jira. Use an email for Jira
Cloud, and a username for Jira Data Center and Jira Server. Required when
using Basic Authentication (`jira_auth_type` is `0`).
password:
type: string
description: The Jira API token, password, or personal access token to use
with Jira. When using Basic Authentication (`jira_auth_type` is `0`), use
an API token for Jira Cloud, and a password for Jira Data Center or Jira
Server. For a Jira personal access token (`jira_auth_type` is `1`), use
the personal access token.
jira_issue_regex:
type: string
description: Regular expression to match Jira issue keys.
jira_issue_prefix:
type: string
description: Prefix to match Jira issue keys.
jira_issue_transition_id:
type: string
description: The ID of one or more transitions for [custom issue transitions](../integration/jira/issues.md#custom-issue-transitions).Ignored
when `jira_issue_transition_automatic` is enabled. Defaults to a blank string,which
disables custom transitions.
issues_enabled:
type: string
description: Enable viewing Jira issues in GitLab.
project_keys:
type: array
description: Keys of Jira projects. When `issues_enabled` is `true`, this
setting specifies which Jira projects to view issues from in GitLab.
items:
type: string
vulnerabilities_enabled:
type: boolean
description: Turn on Jira issue creation for GitLab vulnerabilities.
vulnerabilities_issuetype:
type: string
description: Jira issue type to use when creating issues from vulnerabilities.
project_key:
type: string
description: Key of the project to use when creating issues from vulnerabilities.This
parameter is required if using the integration to create Jira issues from
vulnerabilities.
customize_jira_issue_enabled:
type: boolean
description: When set to `true`, opens a prefilled form on the Jira instancewhen
creating a Jira issue from a vulnerability.
commit_events:
type: boolean
description: Trigger event when a commit is created or updated.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- password
description: Create/Edit Jira integration
putApiV4GroupsIdIntegrationsJiraCloudApp:
type: object
properties:
jira_cloud_app_service_ids:
type: string
description: Copy and paste your JSM Service ID here. Use comma (,) to separate
multiple IDs.
jira_cloud_app_enable_deployment_gating:
type: boolean
description: Enable to approve or reject blocked GitLab deployments from Jira
Service Management.
jira_cloud_app_deployment_gating_environments:
type: string
description: Enter the environment (production,staging,testing,development)
where you want to enable deployment gating. Use comma (,) to separate multiple
environments.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Jira Cloud App integration
putApiV4GroupsIdIntegrationsMatrix:
type: object
properties:
hostname:
type: string
description: Custom hostname of the Matrix server. The default value is `https://matrix-client.matrix.org`.
token:
type: string
description: The Matrix access token (for example, `syt-zyx57W2v1u123ew11`).
room:
type: string
description: Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- room
description: Create/Edit Matrix integration
putApiV4GroupsIdIntegrationsMattermostSlashCommands:
type: object
properties:
token:
type: string
description: The Mattermost token.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Mattermost Slash Commands integration
putApiV4GroupsIdIntegrationsSlackSlashCommands:
type: object
properties:
token:
type: string
description: The Slack token.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Slack Slash Commands integration
putApiV4GroupsIdIntegrationsPackagist:
type: object
properties:
username:
type: string
description: Username of a Packagist account.
token:
type: string
description: API token of the Packagist server.
server:
type: string
description: URL of the Packagist server. The default value is `https://packagist.org`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- username
- token
description: Create/Edit Packagist integration
putApiV4GroupsIdIntegrationsPhorge:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Phorge integration
putApiV4GroupsIdIntegrationsPipelinesEmail:
type: object
properties:
recipients:
type: string
description: Comma-separated list of recipient email addresses.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
notify_only_default_branch:
type: boolean
description: Send notifications for the default branch.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Pipelines Email integration
putApiV4GroupsIdIntegrationsPivotaltracker:
type: object
properties:
token:
type: string
description: The Pivotal Tracker token.
restrict_to_branch:
type: string
description: Comma-separated list of branches to automatically inspect. Leave
blank to include all branches.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Pivotaltracker integration
putApiV4GroupsIdIntegrationsPumble:
type: object
properties:
webhook:
type: string
description: The Pumble webhook (for example, `https://api.pumble.com/workspaces/x/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Pumble integration
putApiV4GroupsIdIntegrationsPushover:
type: object
properties:
api_key:
type: string
description: The application key.
user_key:
type: string
description: The user key.
device:
type: string
description: Leave blank for all active devices.
priority:
type: string
description: The priority.
sound:
type: string
description: The sound of the notification.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
- user_key
- priority
description: Create/Edit Pushover integration
putApiV4GroupsIdIntegrationsRedmine:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Redmine integration
putApiV4GroupsIdIntegrationsEwm:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Ewm integration
putApiV4GroupsIdIntegrationsYoutrack:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Youtrack integration
putApiV4GroupsIdIntegrationsClickup:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Clickup integration
putApiV4GroupsIdIntegrationsSlack:
type: object
properties:
webhook:
type: string
description: Slack notifications webhook (for example, `https://hooks.slack.com/services/...`).
username:
type: string
description: Slack notifications username.
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Slack integration
putApiV4GroupsIdIntegrationsMicrosoftTeams:
type: object
properties:
webhook:
type: string
description: The Microsoft Teams webhook (for example, `https://outlook.office.com/webhook/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Microsoft Teams integration
putApiV4GroupsIdIntegrationsMattermost:
type: object
properties:
webhook:
type: string
description: Mattermost notifications webhook (for example, `http://mattermost.example.com/hooks/...`).
username:
type: string
description: Mattermost notifications username.
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Mattermost integration
putApiV4GroupsIdIntegrationsTeamcity:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
teamcity_url:
type: string
description: TeamCity root URL (for example, `https://teamcity.example.com`).
build_type:
type: string
description: The build configuration ID of the TeamCity project.
username:
type: string
description: A user with permissions to trigger a manual build.
password:
type: string
description: The password of the user.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- teamcity_url
- build_type
- username
- password
description: Create/Edit Teamcity integration
putApiV4GroupsIdIntegrationsTelegram:
type: object
properties:
hostname:
type: string
description: Custom hostname of the Telegram API. The default value is `https://api.telegram.org`.
token:
type: string
description: The Telegram bot token (for example, `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`).
room:
type: string
description: Unique identifier for the target chat or the username of the
target channel (in the format `@channelusername`).
thread:
type: string
description: Unique identifier for the target message thread (topic in a forum
supergroup).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- room
description: Create/Edit Telegram integration
putApiV4GroupsIdIntegrationsUnifyCircuit:
type: object
properties:
webhook:
type: string
description: The Unify Circuit webhook (for example, `https://circuit.com/rest/v2/webhooks/incoming/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Unify Circuit integration
putApiV4GroupsIdIntegrationsWebexTeams:
type: object
properties:
webhook:
type: string
description: The Webex Teams webhook. For example, https://api.ciscospark.com/v1/webhooks/incoming/...
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Webex Teams integration
putApiV4GroupsIdIntegrationsZentao:
type: object
properties:
url:
type: string
description: Base URL of the ZenTao instance.
api_url:
type: string
description: If different from Web URL.
api_token:
type: string
zentao_product_xid:
type: string
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- api_token
- zentao_product_xid
description: Create/Edit Zentao integration
putApiV4GroupsIdIntegrationsSquashTm:
type: object
properties:
url:
type: string
description: URL of the Squash TM webhook.
token:
type: string
description: Secret token.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
description: Create/Edit Squash Tm integration
putApiV4GroupsIdIntegrationsGithub:
type: object
properties:
token:
type: string
description: GitHub API token with `repo:status` OAuth scope.
repository_url:
type: string
description: GitHub repository URL.
static_context:
type: boolean
description: Append the hostname of your GitLab instance to the status check
name.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- repository_url
description: Create/Edit Github integration
putApiV4GroupsIdIntegrationsGitGuardian:
type: object
properties:
token:
type: string
description: Personal access token to authenticate calls to the GitGuardian
API.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Git Guardian integration
putApiV4GroupsIdIntegrationsGoogleCloudPlatformArtifactRegistry:
type: object
properties:
artifact_registry_project_id:
type: string
description: ID of the Google Cloud project.
artifact_registry_repositories:
type: string
description: Repository of Artifact Registry.
artifact_registry_location:
type: string
description: Location of the Artifact Registry repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- artifact_registry_project_id
- artifact_registry_repositories
- artifact_registry_location
description: Create/Edit Google Cloud Platform Artifact Registry integration
putApiV4GroupsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation:
type: object
properties:
workload_identity_federation_project_id:
type: string
description: Google Cloud project ID for the Workload Identity Federation.
workload_identity_federation_project_number:
type: string
description: Google Cloud project number for the Workload Identity Federation.
workload_identity_pool_id:
type: string
description: ID of the Workload Identity Pool.
workload_identity_pool_provider_id:
type: string
description: ID of the Workload Identity Pool provider.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- workload_identity_federation_project_id
- workload_identity_federation_project_number
- workload_identity_pool_id
- workload_identity_pool_provider_id
description: Create/Edit Google Cloud Platform Workload Identity Federation integration
putApiV4GroupsIdIntegrationsMockCi:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
mock_service_url:
type: string
description: URL of the Mock CI integration.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- mock_service_url
description: Create/Edit Mock Ci integration
putApiV4GroupsIdIntegrationsMockMonitoring:
type: object
properties:
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Mock Monitoring integration
API_Entities_Integration:
type: object
properties:
id:
type: integer
format: int32
example: 75
title:
type: string
example: Jenkins CI
slug:
type: integer
format: int32
example: jenkins
created_at:
type: string
format: date-time
example: '2019-11-20T11:20:25.297Z'
updated_at:
type: string
format: date-time
example: '2019-11-20T12:24:37.498Z'
active:
type: boolean
commit_events:
type: boolean
push_events:
type: boolean
issues_events:
type: boolean
incident_events:
type: boolean
alert_events:
type: boolean
confidential_issues_events:
type: boolean
merge_requests_events:
type: boolean
tag_push_events:
type: boolean
deployment_events:
type: boolean
note_events:
type: boolean
confidential_note_events:
type: boolean
pipeline_events:
type: boolean
wiki_page_events:
type: boolean
job_events:
type: boolean
comment_on_event_enabled:
type: boolean
inherited:
type: boolean
vulnerability_events:
type: boolean
properties:
type: object
example:
token: secr3t
description: API_Entities_Integration model
postApiV4GroupsIdInvitations:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
- 5
email:
type: array
description: The email address to invite, or multiple emails separated by
comma
items:
type: string
user_id:
type: array
description: The user ID of the new member or multiple IDs separated by commas.
items:
type: string
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
invite_source:
type: string
description: Source that triggered the member creation process
default: invitations-api
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
required:
- access_level
description: Invite non-members by email address to a group or project.
API_Entities_Invitation:
type: object
properties:
access_level:
type: string
created_at:
type: string
expires_at:
type: string
invite_email:
type: string
invite_token:
type: string
user_name:
type: string
created_by_name:
type: string
description: API_Entities_Invitation model
putApiV4GroupsIdInvitationsEmail:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
expires_at:
type: string
format: date-time
description: Date string in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`)
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
description: Updates a group or project invitation.
API_Entities_MarkdownUploadAdmin:
type: object
properties:
id:
type: string
size:
type: string
filename:
type: string
created_at:
type: string
uploaded_by:
"$ref": "#/definitions/API_Entities_UserSafe"
description: API_Entities_MarkdownUploadAdmin model
API_Entities_UserSafe:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
API_Entities_Member:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
state:
type: string
example: active
locked:
type: boolean
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": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
example: https://gitlab.example.com/root
access_level:
type: string
created_at:
type: string
created_by:
"$ref": "#/definitions/API_Entities_UserBasic"
expires_at:
type: string
group_saml_identity:
"$ref": "#/definitions/API_Entities_Identity"
email:
type: string
is_using_seat:
type: string
override:
type: string
membership_state:
type: string
member_role:
"$ref": "#/definitions/EE_API_Entities_MemberRole"
description: API_Entities_Member model
EE_API_Entities_MemberRole:
type: object
properties:
id:
type: integer
format: int32
example: 2
group_id:
type: integer
format: int32
example: 2
name:
type: text
example: Custom guest
description:
type: text
example: Guest user who can also read_code
base_access_level:
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 5
example: 40
admin_merge_request:
type: boolean
archive_project:
type: boolean
remove_group:
type: boolean
remove_project:
type: boolean
admin_security_labels:
type: boolean
manage_security_policy_link:
type: boolean
admin_compliance_framework:
type: boolean
admin_cicd_variables:
type: boolean
manage_deploy_tokens:
type: boolean
manage_group_access_tokens:
type: boolean
admin_group_member:
type: boolean
admin_integrations:
type: boolean
manage_merge_request_settings:
type: boolean
manage_project_access_tokens:
type: boolean
admin_protected_branch:
type: boolean
admin_protected_environments:
type: boolean
manage_protected_tags:
type: boolean
admin_push_rules:
type: boolean
admin_runners:
type: boolean
admin_security_testing:
type: boolean
admin_terraform_state:
type: boolean
admin_vulnerability:
type: boolean
admin_web_hook:
type: boolean
read_compliance_dashboard:
type: boolean
read_admin_cicd:
type: boolean
read_crm_contact:
type: boolean
read_dependency:
type: boolean
read_code:
type: boolean
read_runners:
type: boolean
read_admin_subscription:
type: boolean
read_admin_monitoring:
type: boolean
read_admin_users:
type: boolean
read_vulnerability:
type: boolean
postApiV4GroupsIdMembers:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level.
user_id:
type: integer
format: int32
description: The user ID of the new member or multiple IDs separated by commas.
username:
type: string
description: The username of the new member or multiple usernames separated
by commas.
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
invite_source:
type: string
description: Source that triggered the member creation process
default: members-api
required:
- access_level
description: Adds a member to a group or project.
putApiV4GroupsIdMembersUserId:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
member_role_id:
type: integer
format: int32
description: The ID of the Member Role to be updated
required:
- access_level
description: Updates a member of a group or project.
putApiV4GroupsIdMembersUserIdState:
type: object
properties:
state:
type: string
description: The new state for the memberships of the user
enum:
- awaiting
- active
required:
- state
description: Changes the state of the memberships of a user in the group
EE_API_Entities_BillableMembership:
type: object
properties:
id:
type: string
source_id:
type: string
source_full_name:
type: string
source_members_url:
type: string
created_at:
type: string
expires_at:
type: string
access_level:
type: object
properties:
string_value:
type: string
integer_value:
type: string
custom_role:
type: string
description: EE_API_Entities_BillableMembership model
API_Entities_MergeRequestBasic:
type: object
properties:
id:
type: integer
format: int32
example: 84
iid:
type: integer
format: int32
example: 14
project_id:
type: integer
format: int32
example: 4
title:
type: string
example: Impedit et ut et dolores vero provident ullam est
description:
type: string
example: Repellendus impedit et vel velit dignissimos.
state:
type: string
example: closed
created_at:
type: string
format: date-time
example: '2022-08-17T12:46:35.053Z'
updated_at:
type: string
format: date-time
example: '2022-11-14T17:22:01.470Z'
merged_by:
"$ref": "#/definitions/API_Entities_UserBasic"
merge_user:
"$ref": "#/definitions/API_Entities_UserBasic"
merged_at:
type: string
closed_by:
"$ref": "#/definitions/API_Entities_UserBasic"
closed_at:
type: string
title_html:
type: string
description_html:
type: string
target_branch:
type: string
source_branch:
type: string
user_notes_count:
type: string
upvotes:
type: string
downvotes:
type: string
author:
"$ref": "#/definitions/API_Entities_UserBasic"
assignees:
"$ref": "#/definitions/API_Entities_UserBasic"
assignee:
"$ref": "#/definitions/API_Entities_UserBasic"
reviewers:
"$ref": "#/definitions/API_Entities_UserBasic"
source_project_id:
type: string
target_project_id:
type: string
labels:
type: string
draft:
type: string
imported:
type: string
imported_from:
type: string
example: bitbucket
work_in_progress:
type: string
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
merge_when_pipeline_succeeds:
type: string
merge_status:
type: string
detailed_merge_status:
type: string
merge_after:
type: string
sha:
type: string
merge_commit_sha:
type: string
squash_commit_sha:
type: string
discussion_locked:
type: string
should_remove_source_branch:
type: string
force_remove_source_branch:
type: string
prepared_at:
type: string
allow_collaboration:
type: string
allow_maintainer_to_push:
type: string
reference:
type: string
references:
"$ref": "#/definitions/API_Entities_IssuableReferences"
web_url:
type: string
time_stats:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
squash:
type: string
squash_on_merge:
type: string
task_completion_status:
type: string
has_conflicts:
type: string
blocking_discussions_resolved:
type: string
approvals_before_merge:
type: string
description: API_Entities_MergeRequestBasic model
API_Entities_Milestone:
type: object
properties:
id:
type: string
iid:
type: string
project_id:
type: string
group_id:
type: string
title:
type: string
description:
type: string
state:
type: string
created_at:
type: string
updated_at:
type: string
due_date:
type: string
start_date:
type: string
expired:
type: string
web_url:
type: string
API_Entities_IssuableReferences:
type: object
properties:
short:
type: string
example: "&6"
relative:
type: string
example: "&6"
full:
type: string
example: test&6
API_Entities_IssuableTimeStats:
type: object
properties:
time_estimate:
type: integer
format: int32
example: 12600
total_time_spent:
type: integer
format: int32
example: 3600
human_time_estimate:
type: string
example: 3h 30m
human_total_time_spent:
type: string
example: 1h
description: API_Entities_IssuableTimeStats model
API_Entities_NpmPackageTag:
type: object
properties:
dist_tags:
type: object
example: '{ "latest":"1.0.1" }'
description: API_Entities_NpmPackageTag model
putApiV4GroupsIdPackagesNpmPackage*packageNameDistTagsTag:
type: object
properties:
package_name:
type: string
description: Package name
required:
- package_name
description: Create or Update the given tag for the given NPM package and version
API_Entities_NpmPackage:
type: object
properties:
name:
type: string
example: my_package
versions:
type: object
example: |-
{
"1.0.0": {
"name": "my_package",
"version": "1.0.0",
"dist": { "shasum": "12345", "tarball": "https://..." }
}
}
dist-tags:
type: object
example: '{ "latest":"1.0.1" }'
description: API_Entities_NpmPackage model
API_Entities_Nuget_ServiceIndex:
type: object
properties:
version:
type: string
example: 1.3.0.17
resources:
type: array
items:
type: object
example: '{ "@id": "https://gitlab.com/api/v4/projects/1/packages/nuget/query",
"@type": "SearchQueryService", "comment": "Filter and search for packages
by keyword."}'
description: API_Entities_Nuget_ServiceIndex model
API_Entities_Nuget_PackagesMetadata:
type: object
properties:
count:
type: integer
format: int32
example: 1
items:
type: array
items:
"$ref": "#/definitions/API_Entities_Nuget_PackagesMetadataItem"
description: API_Entities_Nuget_PackagesMetadata model
API_Entities_Nuget_PackagesMetadataItem:
type: object
properties:
"@id":
type: string
example: https://gitlab.example.com/api/v4/projects/1/packages/nuget/metadata/MyNuGetPkg/1.3.0.17.json
lower:
type: string
example: 1.3.0.17
upper:
type: string
example: 1.3.0.17
count:
type: integer
format: int32
example: 1
items:
type: array
items:
"$ref": "#/definitions/API_Entities_Nuget_PackageMetadata"
API_Entities_Nuget_PackageMetadata:
type: object
properties:
"@id":
type: string
example: https://gitlab.example.com/api/v4/projects/1/packages/nuget/metadata/MyNuGetPkg/1.3.0.17.json
packageContent:
type: string
example: https://gitlab.example.com/api/v4/projects/1/packages/nuget/download/MyNuGetPkg/1.3.0.17/helloworld.1.3.0.17.nupkg
catalogEntry:
"$ref": "#/definitions/API_Entities_Nuget_PackageMetadataCatalogEntry"
description: API_Entities_Nuget_PackageMetadata model
API_Entities_Nuget_PackageMetadataCatalogEntry:
type: object
properties:
"@id":
type: string
example: https://gitlab.example.com/api/v4/projects/1/packages/nuget/metadata/MyNuGetPkg/1.3.0.17.json
dependencyGroups:
type: array
items:
"$ref": "#/definitions/API_Entities_Nuget_DependencyGroup"
id:
type: string
example: MyNuGetPkg
version:
type: string
example: 1.3.0.17
tags:
type: string
example: tag#1 tag#2
packageContent:
type: string
example: https://gitlab.example.com/api/v4/projects/1/packages/nuget/download/MyNuGetPkg/1.3.0.17/helloworld.1.3.0.17.nupkg
authors:
type: string
example: Authors
description:
type: string
example: Description
summary:
type: string
example: Description
projectUrl:
type: string
example: http://sandbox.com/project
licenseUrl:
type: string
example: http://sandbox.com/license
iconUrl:
type: string
example: http://sandbox.com/icon
published:
type: string
example: '2023-05-08T17:23:25Z'
API_Entities_Nuget_DependencyGroup:
type: object
properties:
"@id":
type: string
example: http://gitlab.com/Sandbox.App/1.0.0.json#dependencygroup
"@type":
type: string
example: PackageDependencyGroup
targetFramework:
type: string
example: fwk test
dependencies:
type: array
items:
"$ref": "#/definitions/API_Entities_Nuget_Dependency"
API_Entities_Nuget_Dependency:
type: object
properties:
"@id":
type: string
example: http://gitlab.com/Sandbox.App/1.0.0.json#dependency
"@type":
type: string
example: PackageDependency
id:
type: string
example: Dependency
range:
type: string
example: 2.0.0
API_Entities_Nuget_SearchResults:
type: object
properties:
totalHits:
type: integer
format: int32
example: 1
data:
type: array
items:
"$ref": "#/definitions/API_Entities_Nuget_SearchResult"
description: API_Entities_Nuget_SearchResults model
API_Entities_Nuget_SearchResult:
type: object
properties:
"@type":
type: string
example: Package
id:
type: string
example: MyNuGetPkg
title:
type: string
example: MyNuGetPkg
totalDownloads:
type: integer
format: int32
example: 1
verified:
type: boolean
version:
type: string
example: 1.3.0.17
versions:
"$ref": "#/definitions/API_Entities_Nuget_SearchResultVersion"
tags:
type: string
example: tag#1 tag#2
authors:
type: string
example: Authors
description:
type: string
example: Description
summary:
type: string
example: Description
projectUrl:
type: string
example: http://sandbox.com/project
licenseUrl:
type: string
example: http://sandbox.com/license
iconUrl:
type: string
example: http://sandbox.com/icon
API_Entities_Nuget_SearchResultVersion:
type: object
properties:
"@id":
type: string
example: https://gitlab.example.com/api/v4/projects/1/packages/nuget/metadata/MyNuGetPkg/1.3.0.17.json
version:
type: string
example: 1.3.0.17
downloads:
type: integer
format: int32
example: 1
API_Entities_Release:
type: object
properties:
name:
type: string
example: Release v1.0
tag_name:
type: string
example: v1.0
description:
type: string
example: Finally released v1.0
created_at:
type: string
format: date-time
example: '2019-01-03T01:56:19.539Z'
released_at:
type: string
format: date-time
example: '2019-01-03T01:56:19.539Z'
upcoming_release:
type: boolean
description_html:
type: string
author:
"$ref": "#/definitions/API_Entities_UserBasic"
commit:
"$ref": "#/definitions/API_Entities_Commit"
milestones:
"$ref": "#/definitions/API_Entities_MilestoneWithStats"
commit_path:
type: string
example: "/root/app/commit/588440f66559714280628a4f9799f0c4eb880a4a"
tag_path:
type: string
example: "/root/app/-/tags/v1.0"
assets:
type: object
properties:
count:
type: integer
format: int32
example: 2
sources:
"$ref": "#/definitions/API_Entities_Releases_Source"
links:
"$ref": "#/definitions/API_Entities_Releases_Link"
evidences:
"$ref": "#/definitions/API_Entities_Releases_Evidence"
_links:
type: object
properties:
closed_issues_url:
type: string
closed_merge_requests_url:
type: string
edit_url:
type: string
merged_merge_requests_url:
type: string
opened_issues_url:
type: string
opened_merge_requests_url:
type: string
self:
type: string
description: API_Entities_Release 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.000+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
example: '{ "Merged-By": "Jane Doe janedoe@gitlab.com" }'
extended_trailers:
type: object
example: '{ "Signed-off-by": ["John Doe <johndoe@gitlab.com>", "Jane Doe <janedoe@gitlab.com>"]
}'
web_url:
type: string
example: https://gitlab.example.com/janedoe/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746
description: API_Entities_Commit model
API_Entities_MilestoneWithStats:
type: object
properties:
id:
type: string
iid:
type: string
project_id:
type: string
group_id:
type: string
title:
type: string
description:
type: string
state:
type: string
created_at:
type: string
updated_at:
type: string
due_date:
type: string
start_date:
type: string
expired:
type: string
web_url:
type: string
issue_stats:
type: object
properties:
total:
type: string
closed:
type: string
API_Entities_Releases_Source:
type: object
properties:
format:
type: string
example: zip
url:
type: string
example: https://gitlab.example.com/root/app/-/archive/v1.0/app-v1.0.zip
API_Entities_Releases_Link:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: app-v1.0.dmg
url:
type: string
example: https://gitlab.example.com/root/app/-/jobs/688/artifacts/raw/bin/app-v1.0.dmg
direct_asset_url:
type: string
example: https://gitlab.example.com/root/app/-/releases/v1.0/downloads/app-v1.0.dmg
link_type:
type: string
example: other
description: API_Entities_Releases_Link model
API_Entities_Releases_Evidence:
type: object
properties:
sha:
type: string
example: 760d6cdfb0879c3ffedec13af470e0f71cf52c6cde4d
filepath:
type: string
example: https://gitlab.example.com/root/app/-/releases/v1.0/evidence.json
collected_at:
type: string
format: date-time
example: '2019-01-03T01:56:19.539Z'
postApiV4GroupsIdAccessTokensSelfRotate:
type: object
properties:
expires_at:
type: string
format: date
description: The expiration date of the token
example: '2021-01-31'
description: Rotate a resource access token
API_Entities_ResourceAccessTokenWithToken:
type: object
properties:
id:
type: integer
format: int32
example: 2
name:
type: string
example: John Doe
revoked:
type: boolean
created_at:
type: string
format: date-time
description:
type: string
example: Token to manage api
scopes:
type: array
example:
- api
user_id:
type: integer
format: int32
example: 3
last_used_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
active:
type: boolean
expires_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
access_level:
type: integer
format: int32
enum:
- 10
- 20
- 30
- 40
- 50
example: 40
resource_type:
type: string
enum:
- project
- group
example: project
resource_id:
type: integer
format: int32
example: 1234
token:
type: string
description: API_Entities_ResourceAccessTokenWithToken model
API_Entities_WikiPageBasic:
type: object
properties:
format:
type: string
example: markdown
slug:
type: string
example: deploy
title:
type: string
example: deploy
wiki_page_meta_id:
type: integer
format: int32
example:
wiki_page_meta_id: 123
description: API_Entities_WikiPageBasic model
API_Entities_WikiPage:
type: object
properties:
format:
type: string
example: markdown
slug:
type: string
example: deploy
title:
type: string
example: deploy
wiki_page_meta_id:
type: integer
format: int32
example:
wiki_page_meta_id: 123
content:
type: string
example: Here is an instruction how to deploy this project.
encoding:
type: string
example: UTF-8
front_matter:
type: object
example:
title: deploy
description: API_Entities_WikiPage model
postApiV4GroupsIdWikis:
type: object
properties:
title:
type: string
description: Title of a wiki page
front_matter:
type: object
properties:
title:
type: string
description: Front matter title of a wiki page
content:
type: string
description: Content of a wiki page
format:
type: string
description: Format of a wiki page. Available formats are markdown, rdoc,
asciidoc and org
enum:
- markdown
- rdoc
- asciidoc
- org
default: markdown
required:
- title
- content
description: Create a wiki page
putApiV4GroupsIdWikisSlug:
type: object
properties:
title:
type: string
description: Title of a wiki page
front_matter:
type: object
properties:
title:
type: string
description: Front matter title of a wiki page
content:
type: string
description: Content of a wiki page
format:
type: string
description: Format of a wiki page. Available formats are markdown, rdoc,
asciidoc and org
enum:
- markdown
- rdoc
- asciidoc
- org
default: markdown
description: Update a wiki page
postApiV4GroupsIdWikisAttachments:
type: object
properties:
file:
type: file
description: The attachment file to be uploaded
branch:
type: string
description: The name of the branch
required:
- file
description: Upload an attachment to the wiki repository
API_Entities_WikiAttachment:
type: object
properties:
file_name:
type: string
example: dk.png
file_path:
type: string
example: uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png
branch:
type: string
example: main
link:
type: object
properties:
url:
type: string
example: uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png
markdown:
type: string
example: "![dk](uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png)"
description: API_Entities_WikiAttachment model
putApiV4ProjectsIdAccessRequestsUserIdApprove:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, the Developer role)'
default: 30
description: Approves an access request for the given user.
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
postApiV4ProjectsIdIssuesIssueIidAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4ProjectsIdIssuesIssueIidNotesNoteIdAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4ProjectsIdSnippetsSnippetIdAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4ProjectsIdSnippetsSnippetIdNotesNoteIdAwardEmoji:
type: object
properties:
name:
type: string
description: Name of the emoji without colons.
required:
- name
description: Add a new emoji reaction
postApiV4ProjectsIdBadges:
type: object
properties:
link_url:
type: string
description: URL of the badge link
image_url:
type: string
description: URL of the badge image
name:
type: string
description: Name for the badge
required:
- link_url
- image_url
description: Adds a badge to a project.
putApiV4ProjectsIdBadgesBadgeId:
type: object
properties:
link_url:
type: string
description: URL of the badge link
image_url:
type: string
description: URL of the badge image
name:
type: string
description: Name for the badge
description: Updates a badge of a project.
API_Entities_Branch:
type: object
properties:
name:
type: string
example: master
commit:
"$ref": "#/definitions/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
putApiV4ProjectsIdRepositoryBranchesBranchProtect:
type: object
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
description: Protect a single branch
postApiV4ProjectsIdRepositoryBranches:
type: object
properties:
branch:
type: string
description: The name of the branch
ref:
type: string
description: Create branch from commit sha or existing branch
required:
- branch
- ref
description: Create branch
postApiV4ProjectsIdCatalogPublish:
type: object
properties:
version:
type: string
description: The version of the catalog resource / tag of the release to publish
metadata:
type: object
description: The metadata for the release
required:
- version
- metadata
description: Publish a new component project release as version to the CI/CD catalog
API_Entities_Ci_Catalog_Resources_Version:
type: object
properties:
catalog_url:
type: string
example: https://gitlab.example.com/explore/catalog/my-namespace/my-component-project
description: API_Entities_Ci_Catalog_Resources_Version model
API_Entities_Ci_Job:
type: object
properties:
id:
type: integer
format: int32
example: 1
status:
type: string
example: waiting_for_resource
stage:
type: string
example: deploy
name:
type: string
example: deploy_to_production
ref:
type: string
example: main
tag:
type: boolean
coverage:
type: number
format: float
example: 98.29
allow_failure:
type: boolean
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
started_at:
type: string
format: date-time
example: '2015-12-24T17:54:30.733Z'
finished_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
erased_at:
type: string
format: date-time
example: '2015-12-24T18:00:29.728Z'
duration:
type: number
format: float
example: 0.465
description: Time spent running
queued_duration:
type: number
format: float
example: 0.123
description: Time spent enqueued
user:
"$ref": "#/definitions/API_Entities_User"
commit:
"$ref": "#/definitions/API_Entities_Commit"
pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
failure_reason:
type: string
example: script_failure
web_url:
type: string
example: https://example.com/foo/bar/-/jobs/1
project:
type: object
properties:
ci_job_token_scope_enabled:
type: string
example: false
artifacts_file:
"$ref": "#/definitions/API_Entities_Ci_JobArtifactFile"
artifacts:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_JobArtifact"
runner:
"$ref": "#/definitions/API_Entities_Ci_Runner"
runner_manager:
"$ref": "#/definitions/API_Entities_Ci_RunnerManager"
artifacts_expire_at:
type: string
format: date-time
example: '2016-01-19T09:05:50.355Z'
archived:
type: boolean
example: false
tag_list:
type: array
items:
type: string
example:
- ubuntu18
- docker runner
description: API_Entities_Ci_Job model
API_Entities_User:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
state:
type: string
example: active
locked:
type: boolean
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": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
example: https://gitlab.example.com/root
created_at:
type: string
bio:
type: string
location:
type: string
linkedin:
type: string
twitter:
type: string
discord:
type: string
website_url:
type: string
github:
type: string
organization:
type: string
job_title:
type: string
pronouns:
type: string
bot:
type: string
work_information:
type: string
followers:
type: string
following:
type: string
is_followed:
type: string
local_time:
type: string
API_Entities_Ci_PipelineBasic:
type: object
properties:
id:
type: integer
format: int32
example: 1
iid:
type: integer
format: int32
example: 2
project_id:
type: integer
format: int32
example: 3
sha:
type: string
example: 0ec9e58fdfca6cdd6652c083c9edb53abc0bad52
ref:
type: string
example: feature-branch
status:
type: string
example: success
source:
type: string
example: push
created_at:
type: string
format: date-time
example: '2022-10-21T16:49:48.000+02:00'
updated_at:
type: string
format: date-time
example: '2022-10-21T16:49:48.000+02:00'
web_url:
type: string
example: https://gitlab.example.com/gitlab-org/gitlab-foss/-/pipelines/61
description: API_Entities_Ci_PipelineBasic model
API_Entities_Ci_JobArtifactFile:
type: object
properties:
filename:
type: string
example: artifacts.zip
size:
type: integer
format: int32
example: 1000
API_Entities_Ci_JobArtifact:
type: object
properties:
file_type:
type: string
enum:
- archive
- metadata
- trace
- junit
- sast
- dependency_scanning
- container_scanning
- dast
- codequality
- license_scanning
- performance
- metrics
- metrics_referee
- network_referee
- lsif
- dotenv
- cobertura
- terraform
- accessibility
- cluster_applications
- secret_detection
- requirements
- coverage_fuzzing
- browser_performance
- load_performance
- api_fuzzing
- cluster_image_scanning
- cyclonedx
- requirements_v2
- annotations
- repository_xray
- jacoco
example: archive
size:
type: integer
format: int32
example: 1000
filename:
type: string
example: artifacts.zip
file_format:
type: string
enum:
- raw
- zip
- gzip
example: zip
API_Entities_Ci_RunnerManager:
type: object
properties:
id:
type: integer
format: int32
example: 8
system_id:
type: string
example: runner-1
version:
type: string
example: 16.11.0
revision:
type: string
example: 91a27b2a
platform:
type: string
example: linux
architecture:
type: string
example: amd64
created_at:
type: string
example: '2023-10-24T01:27:06.549Z'
contacted_at:
type: string
example: '2023-10-24T01:27:06.549Z'
ip_address:
type: string
example: 127.0.0.1
status:
type: string
example: online
job_execution_status:
type: string
enum:
- active
- idle
example: idle
description: API_Entities_Ci_RunnerManager model
postApiV4ProjectsIdJobsJobIdCancel:
type: object
properties:
force:
type: boolean
description: Force cancellation for a job with a state of `canceling`
example: true
description: Cancel a specific job of a project
postApiV4ProjectsIdJobsJobIdPlay:
type: object
properties:
job_variables_attributes:
type: array
description: User defined variables that will be included when running the
job
items:
type: object
properties:
key:
type: string
description: The name of the variable
example: foo
value:
type: string
description: The value of the variable
example: bar
required:
- key
- value
description: Trigger an actionable job (manual, delayed, etc)
API_Entities_Ci_JobBasic:
type: object
properties:
id:
type: integer
format: int32
example: 1
status:
type: string
example: waiting_for_resource
stage:
type: string
example: deploy
name:
type: string
example: deploy_to_production
ref:
type: string
example: main
tag:
type: boolean
coverage:
type: number
format: float
example: 98.29
allow_failure:
type: boolean
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
started_at:
type: string
format: date-time
example: '2015-12-24T17:54:30.733Z'
finished_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
erased_at:
type: string
format: date-time
example: '2015-12-24T18:00:29.728Z'
duration:
type: number
format: float
example: 0.465
description: Time spent running
queued_duration:
type: number
format: float
example: 0.123
description: Time spent enqueued
user:
"$ref": "#/definitions/API_Entities_User"
commit:
"$ref": "#/definitions/API_Entities_Commit"
pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
failure_reason:
type: string
example: script_failure
web_url:
type: string
example: https://example.com/foo/bar/-/jobs/1
project:
type: object
properties:
ci_job_token_scope_enabled:
type: string
example: false
description: API_Entities_Ci_JobBasic model
API_Entities_Ci_ResourceGroup:
type: object
properties:
id:
type: integer
format: int32
example: 1
key:
type: string
example: production
process_mode:
type: string
example: unordered
created_at:
type: string
format: date-time
example: '2021-09-01T08:04:59.650Z'
updated_at:
type: string
format: date-time
example: '2021-09-01T08:04:59.650Z'
description: API_Entities_Ci_ResourceGroup model
putApiV4ProjectsIdResourceGroupsKey:
type: object
properties:
process_mode:
type: string
description: The process mode of the resource group
enum:
- unordered
- oldest_first
- newest_first
- newest_ready_first
description: Edit an existing resource group
postApiV4ProjectsIdRunners:
type: object
properties:
runner_id:
type: integer
format: int32
description: The ID of a runner
required:
- runner_id
description: Assign a runner to project
API_Entities_Ci_SecureFile:
type: object
properties:
id:
type: integer
format: int32
example: 123
name:
type: string
example: upload-keystore.jks
checksum:
type: string
example: 16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac
checksum_algorithm:
type: string
example: sha256
created_at:
type: string
format: date-time
example: '2022-02-22T22:22:22.222Z'
expires_at:
type: string
format: date-time
example: '2023-09-21T14:55:59.000Z'
metadata:
type: object
example:
id: '75949910542696343243264405377658443914'
file_extension:
type: string
example: jks
description: API_Entities_Ci_SecureFile model
postApiV4ProjectsIdSecureFiles:
type: object
properties:
name:
type: string
description: |-
The name of the file being uploaded. The filename must be unique within
the project
file:
type: file
description: The secure file being uploaded
required:
- name
- file
description: Create a secure file
postApiV4ProjectsIdPipeline:
type: object
properties:
ref:
type: string
description: Reference
example: develop
variables:
type: array
description: Array of variables available in the pipeline
items:
type: object
properties:
key:
type: string
description: The key of the variable
example: UPLOAD_TO_S3
value:
type: string
description: The value of the variable
example: 'true'
variable_type:
type: string
description: The type of variable, must be one of env_var or file. Defaults
to env_var
enum:
- env_var
- file
default: env_var
inputs:
type: object
description: The list of inputs to be used to create the pipeline.
required:
- ref
description: Create a new pipeline
API_Entities_Ci_Pipeline:
type: object
properties:
id:
type: integer
format: int32
example: 1
iid:
type: integer
format: int32
example: 2
project_id:
type: integer
format: int32
example: 3
sha:
type: string
example: 0ec9e58fdfca6cdd6652c083c9edb53abc0bad52
ref:
type: string
example: feature-branch
status:
type: string
example: success
source:
type: string
example: push
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
updated_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
web_url:
type: string
example: https://gitlab.example.com/gitlab-org/gitlab-foss/-/pipelines/61
before_sha:
type: string
example: a91957a858320c0e17f3a0eca7cfacbff50ea29a
tag:
type: boolean
example: false
yaml_errors:
type: string
example: 'widgets:build: needs ''widgets:test'''
user:
"$ref": "#/definitions/API_Entities_UserBasic"
started_at:
type: string
format: date-time
example: '2015-12-24T17:54:30.733Z'
finished_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
committed_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
duration:
type: integer
format: int32
example: 127
description: Time spent running in seconds
queued_duration:
type: integer
format: int32
example: 63
description: Time spent enqueued in seconds
coverage:
type: number
format: float
example: 98.29
detailed_status:
"$ref": "#/definitions/DetailedStatusEntity"
description: API_Entities_Ci_Pipeline model
DetailedStatusEntity:
type: object
properties:
icon:
type: string
example: status_success
text:
type: string
example: passed
label:
type: string
example: passed
group:
type: string
example: success
tooltip:
type: string
example: passed
has_details:
type: boolean
example: true
details_path:
type: string
example: "/test-group/test-project/-/pipelines/287"
illustration:
type: object
example: |
{
"image": "illustrations/empty-state/empty-job-not-triggered-md.svg",
"size": "",
"title": "This job has not been triggered yet",
"content": "This job depends on upstream jobs that need to succeed in order for this job to be triggered"
}
favicon:
type: string
example: "/assets/ci_favicons/favicon_status_success.png"
action:
type: object
properties:
icon:
type: string
example: cancel
title:
type: string
example: Cancel
path:
type: string
example: "/namespace1/project1/-/jobs/2/cancel"
method:
type: string
example: post
button_title:
type: string
example: Cancel this job
confirmation_message:
type: string
example: Are you sure?
API_Entities_Ci_PipelineWithMetadata:
type: object
properties:
id:
type: integer
format: int32
example: 1
iid:
type: integer
format: int32
example: 2
project_id:
type: integer
format: int32
example: 3
sha:
type: string
example: 0ec9e58fdfca6cdd6652c083c9edb53abc0bad52
ref:
type: string
example: feature-branch
status:
type: string
example: success
source:
type: string
example: push
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
updated_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
web_url:
type: string
example: https://gitlab.example.com/gitlab-org/gitlab-foss/-/pipelines/61
before_sha:
type: string
example: a91957a858320c0e17f3a0eca7cfacbff50ea29a
tag:
type: boolean
example: false
yaml_errors:
type: string
example: 'widgets:build: needs ''widgets:test'''
user:
"$ref": "#/definitions/API_Entities_UserBasic"
started_at:
type: string
format: date-time
example: '2015-12-24T17:54:30.733Z'
finished_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
committed_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
duration:
type: integer
format: int32
example: 127
description: Time spent running in seconds
queued_duration:
type: integer
format: int32
example: 63
description: Time spent enqueued in seconds
coverage:
type: number
format: float
example: 98.29
detailed_status:
"$ref": "#/definitions/DetailedStatusEntity"
name:
type: string
example: Build pipeline
description: API_Entities_Ci_PipelineWithMetadata model
API_Entities_Ci_Bridge:
type: object
properties:
id:
type: integer
format: int32
example: 1
status:
type: string
example: waiting_for_resource
stage:
type: string
example: deploy
name:
type: string
example: deploy_to_production
ref:
type: string
example: main
tag:
type: boolean
coverage:
type: number
format: float
example: 98.29
allow_failure:
type: boolean
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
started_at:
type: string
format: date-time
example: '2015-12-24T17:54:30.733Z'
finished_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
erased_at:
type: string
format: date-time
example: '2015-12-24T18:00:29.728Z'
duration:
type: number
format: float
example: 0.465
description: Time spent running
queued_duration:
type: number
format: float
example: 0.123
description: Time spent enqueued
user:
"$ref": "#/definitions/API_Entities_User"
commit:
"$ref": "#/definitions/API_Entities_Commit"
pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
failure_reason:
type: string
example: script_failure
web_url:
type: string
example: https://example.com/foo/bar/-/jobs/1
project:
type: object
properties:
ci_job_token_scope_enabled:
type: string
example: false
downstream_pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
description: API_Entities_Ci_Bridge model
TestReportEntity:
type: object
properties:
total_time:
type: integer
format: int32
example: 180
total_count:
type: integer
format: int32
example: 1
success_count:
type: integer
format: int32
example: 1
failed_count:
type: integer
format: int32
example: 0
skipped_count:
type: integer
format: int32
example: 0
error_count:
type: integer
format: int32
example: 0
test_suites:
type: array
items:
"$ref": "#/definitions/TestSuiteEntity"
description: TestReportEntity model
TestSuiteEntity:
type: object
properties:
name:
type: string
example: test
total_time:
type: integer
format: int32
example: 1904
total_count:
type: integer
format: int32
example: 3363
success_count:
type: integer
format: int32
example: 3351
failed_count:
type: integer
format: int32
example: 0
skipped_count:
type: integer
format: int32
example: 12
error_count:
type: integer
format: int32
example: 0
suite_error:
type: string
example: 'JUnit XML parsing failed: 1:1: FATAL: Document is empty'
test_cases:
type: array
items:
"$ref": "#/definitions/TestCaseEntity"
TestCaseEntity:
type: object
properties:
status:
type: string
example: success
name:
type: string
example: Security Reports can create an auto-remediation MR
classname:
type: string
example: vulnerability_management_spec
file:
type: string
example: "./spec/test_spec.rb"
execution_time:
type: integer
format: int32
example: 180
system_output:
type: string
example: 'Failure/Error: is_expected.to eq(3)'
stack_trace:
type: string
example: 'Failure/Error: is_expected.to eq(3)'
recent_failures:
type: string
example:
count: 3
base_branch: develop
attachment_url:
type: string
example: http://localhost/namespace1/project1/-/jobs/1/artifacts/file/some/path.png
TestReportSummaryEntity:
type: object
properties:
total:
type: integer
format: int32
example: 3363
test_suites:
"$ref": "#/definitions/TestSuiteSummaryEntity"
description: TestReportSummaryEntity model
TestSuiteSummaryEntity:
type: object
properties:
name:
type: string
example: test
total_time:
type: integer
format: int32
example: 1904
total_count:
type: integer
format: int32
example: 3363
success_count:
type: integer
format: int32
example: 3351
failed_count:
type: integer
format: int32
example: 0
skipped_count:
type: integer
format: int32
example: 12
error_count:
type: integer
format: int32
example: 0
suite_error:
type: string
example: 'JUnit XML parsing failed: 1:1: FATAL: Document is empty'
test_cases:
type: array
items:
"$ref": "#/definitions/TestCaseEntity"
build_ids:
type: array
items:
type: integer
format: int32
example:
- 66004
putApiV4ProjectsIdPipelinesPipelineIdMetadata:
type: object
properties:
name:
type: string
description: The name of the pipeline
example: Deployment to production
required:
- name
description: Updates pipeline metadata
API_Entities_Ci_PipelineSchedule:
type: object
properties:
id:
type: integer
format: int32
example: 13
description:
type: string
example: Test schedule pipeline
ref:
type: string
example: develop
cron:
type: string
example: "* * * * *"
cron_timezone:
type: string
example: Asia/Tokyo
next_run_at:
type: string
format: date-time
example: '2017-05-19T13:41:00.000Z'
active:
type: boolean
example: true
created_at:
type: string
format: date-time
example: '2017-05-19T13:31:08.849Z'
updated_at:
type: string
format: date-time
example: '2017-05-19T13:40:17.727Z'
owner:
"$ref": "#/definitions/API_Entities_UserBasic"
inputs:
"$ref": "#/definitions/API_Entities_Ci_Input"
description: API_Entities_Ci_PipelineSchedule model
API_Entities_Ci_Input:
type: object
properties:
name:
type: string
value:
type: string
API_Entities_Ci_PipelineScheduleDetails:
type: object
properties:
id:
type: integer
format: int32
example: 13
description:
type: string
example: Test schedule pipeline
ref:
type: string
example: develop
cron:
type: string
example: "* * * * *"
cron_timezone:
type: string
example: Asia/Tokyo
next_run_at:
type: string
format: date-time
example: '2017-05-19T13:41:00.000Z'
active:
type: boolean
example: true
created_at:
type: string
format: date-time
example: '2017-05-19T13:31:08.849Z'
updated_at:
type: string
format: date-time
example: '2017-05-19T13:40:17.727Z'
owner:
"$ref": "#/definitions/API_Entities_UserBasic"
inputs:
"$ref": "#/definitions/API_Entities_Ci_Input"
last_pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
variables:
"$ref": "#/definitions/API_Entities_Ci_Variable"
description: API_Entities_Ci_PipelineScheduleDetails model
postApiV4ProjectsIdPipelineSchedules:
type: object
properties:
description:
type: string
description: The description of pipeline schedule
example: Test schedule pipeline
ref:
type: string
description: The branch/tag name will be triggered
example: develop
cron:
type: string
description: The cron
example: "* * * * *"
cron_timezone:
type: string
description: The timezone
default: UTC
example: Asia/Tokyo
active:
type: boolean
description: The activation of pipeline schedule
default: true
example: true
inputs:
type: array
description: Inputs for the pipeline schedule
example:
- name: array_input
value:
- 1
- 2
- name: boolean_input
value: true
items:
type: object
properties:
name:
type: string
description: The name of the input
example: deploy_strategy
value:
type: string
description: The value of the input
example: blue-green
required:
- name
- value
required:
- description
- ref
- cron
description: Create a new pipeline schedule
putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId:
type: object
properties:
description:
type: string
description: The description of pipeline schedule
example: Test schedule pipeline
ref:
type: string
description: The branch/tag name will be triggered
example: develop
cron:
type: string
description: The cron
example: "* * * * *"
cron_timezone:
type: string
description: The timezone
example: Asia/Tokyo
active:
type: boolean
description: The activation of pipeline schedule
example: true
inputs:
type: array
description: Inputs for the pipeline schedule
example:
- name: deploy_strategy
value: blue-green
items:
type: object
properties:
name:
type: string
description: The name of the input
example: deploy_strategy
destroy:
type: boolean
description: Whether to delete the input
default: false
value:
type: string
description: The value of the input
example: blue-green
required:
- name
- value
description: Edit a pipeline schedule
postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables:
type: object
properties:
key:
type: string
description: The key of the variable
example: NEW_VARIABLE
value:
type: string
description: The value of the variable
example: new value
variable_type:
type: string
description: The type of variable, must be one of env_var or file. Defaults
to env_var
enum:
- env_var
- file
default: env_var
required:
- key
- value
description: Create a new pipeline schedule variable
putApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey:
type: object
properties:
value:
type: string
description: The value of the variable
example: new value
variable_type:
type: string
description: The type of variable, must be one of env_var or file
enum:
- env_var
- file
default: env_var
description: Edit a pipeline schedule variable
postApiV4ProjectsId(refRef)triggerPipeline:
type: object
properties:
token:
type: string
description: The unique token of trigger or job token
example: 6d056f63e50fe6f8c5f8f4aa10edb7
variables:
type: object
description: The list of variables to be injected into build
example:
VAR1: value1
VAR2: value2
inputs:
type: object
description: The list of inputs to be used to create the pipeline.
required:
- token
description: Trigger a GitLab project pipeline
API_Entities_Trigger:
type: object
properties:
id:
type: integer
format: int32
example: 10
token:
type: string
example: 6d056f63e50fe6f8c5f8f4aa10edb7
description:
type: string
example: test
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
updated_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
last_used:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
expires_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
owner:
"$ref": "#/definitions/API_Entities_UserBasic"
description: API_Entities_Trigger model
postApiV4ProjectsIdTriggers:
type: object
properties:
description:
type: string
description: The trigger token description
example: my trigger token description
expires_at:
type: string
format: date-time
description: Timestamp of when the pipeline trigger token expires.
example: '2024-07-01'
required:
- description
description: Create a trigger token
putApiV4ProjectsIdTriggersTriggerId:
type: object
properties:
description:
type: string
description: The trigger token description
description: Update a trigger token
postApiV4ProjectsIdVariables:
type: object
properties:
key:
type: string
description: The key of a variable
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
masked_and_hidden:
type: boolean
description: Whether the variable is masked and hidden
raw:
type: boolean
description: Whether the variable will be expanded
variable_type:
type: string
description: 'The type of the variable. Default: env_var'
enum:
- env_var
- file
environment_scope:
type: string
description: The environment_scope of the variable
description:
type: string
description: The description of the variable
required:
- key
- value
description: Create a new variable in a project
putApiV4ProjectsIdVariablesKey:
type: object
properties:
value:
type: string
description: The value of a variable
protected:
type: boolean
description: Whether the variable is protected
masked:
type: boolean
description: Whether the variable is masked
environment_scope:
type: string
description: The environment_scope of a variable
raw:
type: boolean
description: Whether the variable will be expanded
variable_type:
type: string
description: 'The type of the variable. Default: env_var'
enum:
- env_var
- file
filter:
type: object
description: 'Available filters: [environment_scope]. Example: filter[environment_scope]=production'
properties:
environment_scope:
type: string
description: The environment scope of a variable
description:
type: string
description: The description of the variable
description: Update an existing variable from a project
API_Entities_Clusters_AgentTokenBasic:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
agent_id:
type: string
status:
type: string
created_at:
type: string
created_by_user_id:
type: string
description: API_Entities_Clusters_AgentTokenBasic model
API_Entities_Clusters_AgentToken:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
agent_id:
type: string
status:
type: string
created_at:
type: string
created_by_user_id:
type: string
last_used_at:
type: string
description: API_Entities_Clusters_AgentToken model
postApiV4ProjectsIdClusterAgentsAgentIdTokens:
type: object
properties:
name:
type: string
description: The name for the token
description:
type: string
description: The description for the token
required:
- name
description: Create an agent token
API_Entities_Clusters_AgentTokenWithToken:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
agent_id:
type: string
status:
type: string
created_at:
type: string
created_by_user_id:
type: string
last_used_at:
type: string
token:
type: string
description: API_Entities_Clusters_AgentTokenWithToken model
API_Entities_Clusters_Agent:
type: object
properties:
id:
type: string
name:
type: string
config_project:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
created_at:
type: string
created_by_user_id:
type: string
is_receptive:
type: string
description: API_Entities_Clusters_Agent model
postApiV4ProjectsIdClusterAgents:
type: object
properties:
name:
type: string
description: The name of the agent
required:
- name
description: Register an agent with a project
postApiV4ProjectsIdRepositoryCommits:
type: object
properties:
branch:
type: string
description: Name of the branch to commit into. To create a new branch, also
provide either `start_branch` or `start_sha`, and optionally `start_project`.
example: master
commit_message:
type: string
description: Commit message
example: initial commit
actions:
type: array
description: Actions to perform in commit
items:
type: object
properties:
action:
type: string
description: The action to perform, `create`, `delete`, `move`, `update`,
`chmod`
enum:
- create
- update
- move
- delete
- chmod
file_path:
type: string
description: Full path to the file.
example: lib/class.rb
previous_path:
type: string
description: Original full path to the file being moved.
example: lib/class.rb
content:
type: string
description: File content
example: Some file content
encoding:
type: string
description: "`text` or `base64`"
enum:
- text
- base64
default: text
last_commit_id:
type: string
description: Last known file commit id
example: 2695effb5807a22ff3d138d593fd856244e155e7
execute_filemode:
type: boolean
description: When `true/false` enables/disables the execute flag on
the file.
required:
- action
- file_path
- previous_path
- content
- execute_filemode
start_branch:
type: string
description: Name of the branch to start the new branch from
example: staging
start_sha:
type: string
description: SHA of the commit to start the new branch from
example: 2695effb5807a22ff3d138d593fd856244e155e7
start_project:
type: integer
format: int32
description: The ID or path of the project to start the new branch from
example: 1
author_email:
type: string
description: Author email for commit
example: janedoe@example.com
author_name:
type: string
description: Author name for commit
example: Jane Doe
stats:
type: boolean
description: Include commit stats
default: true
force:
type: boolean
description: When `true` overwrites the target branch with a new commit based
on the `start_branch` or `start_sha`
default: false
required:
- branch
- commit_message
- actions
description: Commit multiple file changes as one commit
API_Entities_CommitDetail:
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.000+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
example: '{ "Merged-By": "Jane Doe janedoe@gitlab.com" }'
extended_trailers:
type: object
example: '{ "Signed-off-by": ["John Doe <johndoe@gitlab.com>", "Jane Doe <janedoe@gitlab.com>"]
}'
web_url:
type: string
example: https://gitlab.example.com/janedoe/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746
stats:
"$ref": "#/definitions/API_Entities_CommitStats"
status:
type: string
example: success
project_id:
type: integer
format: int32
example: 1
last_pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
description: API_Entities_CommitDetail model
API_Entities_CommitStats:
type: object
properties:
additions:
type: integer
format: int32
example: 1
deletions:
type: integer
format: int32
example: 0
total:
type: integer
format: int32
example: 1
API_Entities_Diff:
type: object
properties:
diff:
type: string
example: "@@ -71,6 +71,8 @@\\n..."
new_path:
type: string
example: doc/update/5.4-to-6.0.md
old_path:
type: string
example: doc/update/5.4-to-6.0.md
a_mode:
type: string
example: '100755'
b_mode:
type: string
example: '100644'
new_file:
type: boolean
renamed_file:
type: boolean
deleted_file:
type: boolean
generated_file:
type: boolean
description: API_Entities_Diff model
API_Entities_CommitNote:
type: object
properties:
note:
type: string
example: this doc is really nice
path:
type: string
example: README.md
line:
type: integer
format: int32
example: 11
line_type:
type: string
example: new
author:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2016-01-19T09:44:55.600Z'
description: API_Entities_CommitNote model
API_Entities_CommitSequence:
type: object
properties:
count:
type: integer
format: int32
example: 1
description: API_Entities_CommitSequence model
postApiV4ProjectsIdRepositoryCommitsShaCherryPick:
type: object
properties:
branch:
type: string
description: The name of the branch
example: master
dry_run:
type: boolean
description: Does not commit any changes
default: false
message:
type: string
description: A custom commit message to use for the picked commit
example: Initial commit
required:
- branch
description: Cherry pick commit into a branch
postApiV4ProjectsIdRepositoryCommitsShaRevert:
type: object
properties:
branch:
type: string
description: Target branch name
example: master
dry_run:
type: boolean
description: Does not commit any changes
default: false
required:
- branch
description: Revert a commit in a branch
API_Entities_BasicRef:
type: object
properties:
type:
type: string
example: tag
name:
type: string
example: v1.1.0
description: API_Entities_BasicRef model
postApiV4ProjectsIdRepositoryCommitsShaComments:
type: object
properties:
note:
type: string
description: The text of the comment
example: Nice code!
path:
type: string
description: The file path
example: doc/update/5.4-to-6.0.md
line:
type: integer
format: int32
description: The line number
example: 11
line_type:
type: string
description: The type of the line
enum:
- new
- old
default: new
required:
- note
- line
- line_type
description: Post comment to commit
API_Entities_CommitSignature:
type: object
properties:
signature_type:
type: string
example: PGP
signature:
type: string
commit_source:
type: string
example: gitaly
description: API_Entities_CommitSignature model
API_Entities_CommitStatus:
type: object
properties:
id:
type: integer
format: int32
example: 93
sha:
type: string
example: 18f3e63d05582537db6d183d9d557be09e1f90c8
ref:
type: string
example: develop
status:
type: string
example: success
name:
type: string
example: default
target_url:
type: string
example: https://gitlab.example.com/janedoe/gitlab-foss/builds/91
description:
type: string
created_at:
type: string
format: date-time
example: '2016-01-19T09:05:50.355Z'
started_at:
type: string
format: date-time
example: '2016-01-20T08:40:25.832Z'
finished_at:
type: string
format: date-time
example: '2016-01-21T08:40:25.832Z'
allow_failure:
type: boolean
example: false
coverage:
type: number
format: float
example: 98.29
pipeline_id:
type: integer
format: int32
example: 101
author:
"$ref": "#/definitions/API_Entities_UserBasic"
description: API_Entities_CommitStatus model
postApiV4ProjectsIdStatusesSha:
type: object
properties:
state:
type: string
description: The state of the status
enum:
- pending
- running
- success
- failed
- canceled
- skipped
example: pending
ref:
type: string
description: The ref
example: develop
target_url:
type: string
description: The target URL to associate with this status
example: https://gitlab.example.com/janedoe/gitlab-foss/builds/91
description:
type: string
description: A short description of the status
name:
type: string
description: A string label to differentiate this status from the status of
other systems
default: default
example: coverage
context:
type: string
description: A string label to differentiate this status from the status of
other systems
default: default
example: coverage
coverage:
type: number
format: float
description: The total code coverage
example: 100.0
pipeline_id:
type: integer
format: int32
description: An existing pipeline ID, when multiple pipelines on the same
commit SHA have been triggered
required:
- state
description: Post status to a commit
postApiV4ProjectsIdPackagesComposer:
type: object
properties:
branch:
type: string
description: The name of the branch
example: release
tag:
type: string
description: The name of the tag
example: v1.0.0
description: Composer packages endpoint for registering packages
API_Entities_Packages_Conan_PackageSnapshot:
type: object
properties:
package_snapshot:
type: object
example: '{ "conan_package.tgz": "749b29bdf72587081ca03ec033ee59dc" }'
description: API_Entities_Packages_Conan_PackageSnapshot model
API_Entities_Packages_Conan_RecipeSnapshot:
type: object
properties:
recipe_snapshot:
type: object
example: '{ "conan_sources.tgz": "eadf19b33f4c3c7e113faabf26e76277" }'
description: API_Entities_Packages_Conan_RecipeSnapshot model
API_Entities_Packages_Conan_PackageManifest:
type: object
properties:
package_urls:
type: object
example: '{ "conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz"'
description: API_Entities_Packages_Conan_PackageManifest model
API_Entities_Packages_Conan_RecipeManifest:
type: object
properties:
recipe_urls:
type: object
example: '{ "conan_sources.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conan_sources.tgz"
}'
description: API_Entities_Packages_Conan_RecipeManifest model
API_Entities_Packages_Conan_UploadUrls:
type: object
properties:
upload_urls:
type: object
example: '{ "conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/package/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz"
}'
description: API_Entities_Packages_Conan_UploadUrls model
putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName:
type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload recipe package files
? putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
: type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload package files
API_Entities_Packages_Conan_Revision:
type: object
properties:
revision:
type: string
example: 75151329520e7685dcf5da49ded2fec0
description: The revision hash of the Conan recipe or package
time:
type: string
example: '2024-12-17T09:16:40.334Z'
description: The UTC timestamp when the revision was created
description: API_Entities_Packages_Conan_Revision model
API_Entities_Packages_Conan_RecipeRevisions:
type: object
properties:
reference:
type: string
example: packageTest/1.2.3@gitlab-org+conan/stable
description: The Conan package reference
revisions:
type: array
items:
"$ref": "#/definitions/API_Entities_Packages_Conan_Revision"
description: List of recipe revisions
description: API_Entities_Packages_Conan_RecipeRevisions model
API_Entities_Packages_Conan_FilesList:
type: object
properties:
files:
type: object
example: '{ "files" : { "conan_sources.tgz" : { }, "conanmanifest.txt" : {
}, "conanfile.py" : { } } }'
description: API_Entities_Packages_Conan_FilesList model
? putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionFilesFileName
: type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload recipe package files
API_Entities_Packages_Conan_PackageRevisions:
type: object
properties:
packageReference:
type: string
example: packageTest/1.2.3@gitlab-org+conan/stable#1883c9f810f2d6e5b59d5285c7141970:133a1f2158ff2cf69739f316ec21143785be54c7
description: The Conan package reference
revisions:
type: array
items:
"$ref": "#/definitions/API_Entities_Packages_Conan_Revision"
description: List of package revisions
description: API_Entities_Packages_Conan_PackageRevisions model
? putApiV4ProjectsIdPackagesConanV2ConansPackageNamePackageVersionPackageUsernamePackageChannelRevisionsRecipeRevisionPackagesConanPackageReferenceRevisionsPackageRevisionFilesFileName
: type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload package files
putApiV4ProjectsIdPackagesDebianFileName:
type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
distribution:
type: string
description: The Debian Codename or Suite
component:
type: string
description: The Debian Component
required:
- file
- component
description: Upload Debian package
putApiV4ProjectsIdPackagesDebianFileNameAuthorize:
type: object
properties:
distribution:
type: string
description: The Debian Codename or Suite
component:
type: string
description: The Debian Component
required:
- component
description: Authorize Debian package upload
API_Entities_DeployKeysProject:
type: object
properties:
id:
type: integer
format: int32
example: 1
title:
type: string
example: Sample key 25
created_at:
type: string
format: date-time
example: '2015-09-03T07:24:44.627Z'
expires_at:
type: string
format: date-time
example: '2020-09-03T07:24:44.627Z'
last_used_at:
type: string
format: date-time
example: '2020-09-03T07:24:44.627Z'
key:
type: string
example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNJAkI3Wdf0r13c8a5pEExB2YowPWCSVzfZV22pNBc1CuEbyYLHpUyaD0GwpGvFdx2aP7lMEk35k6Rz3ccBF6jRaVJyhsn5VNnW92PMpBJ/P1UebhXwsFHdQf5rTt082cSxWuk61kGWRQtk4ozt/J2DF/dIUVaLvc+z4HomT41fQ==
usage_type:
type: string
example: auth
fingerprint:
type: string
example: 4a:9d:64:15:ed:3a:e6:07:6e:89:36:b3:3b:03:05:d9
fingerprint_sha256:
type: string
example: SHA256:Jrs3LD1Ji30xNLtTVf9NDCj7kkBgPBb2pjvTZ3HfIgU
projects_with_write_access:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
projects_with_readonly_access:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
can_push:
type: boolean
description: API_Entities_DeployKeysProject model
postApiV4ProjectsIdDeployKeys:
type: object
properties:
key:
type: string
description: New deploy key
title:
type: string
description: New deploy key's title
can_push:
type: boolean
description: Can deploy key push to the project's repository
expires_at:
type: string
format: date-time
description: The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
required:
- key
- title
description: Add deploy key
putApiV4ProjectsIdDeployKeysKeyId:
type: object
properties:
title:
type: string
description: New deploy key's title
can_push:
type: boolean
description: Can deploy key push to the project's repository
description: Update deploy key
API_Entities_DeployKey:
type: object
properties:
id:
type: integer
format: int32
example: 1
title:
type: string
example: Sample key 25
created_at:
type: string
format: date-time
example: '2015-09-03T07:24:44.627Z'
expires_at:
type: string
format: date-time
example: '2020-09-03T07:24:44.627Z'
last_used_at:
type: string
format: date-time
example: '2020-09-03T07:24:44.627Z'
key:
type: string
example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNJAkI3Wdf0r13c8a5pEExB2YowPWCSVzfZV22pNBc1CuEbyYLHpUyaD0GwpGvFdx2aP7lMEk35k6Rz3ccBF6jRaVJyhsn5VNnW92PMpBJ/P1UebhXwsFHdQf5rTt082cSxWuk61kGWRQtk4ozt/J2DF/dIUVaLvc+z4HomT41fQ==
usage_type:
type: string
example: auth
fingerprint:
type: string
example: 4a:9d:64:15:ed:3a:e6:07:6e:89:36:b3:3b:03:05:d9
fingerprint_sha256:
type: string
example: SHA256:Jrs3LD1Ji30xNLtTVf9NDCj7kkBgPBb2pjvTZ3HfIgU
projects_with_write_access:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
projects_with_readonly_access:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
description: API_Entities_DeployKey model
postApiV4ProjectsIdDeployTokens:
type: object
properties:
name:
type: string
description: New deploy token's name
scopes:
type: array
description: Indicates the deploy token scopes. Must be at least one of `read_repository`,
`read_registry`, `write_registry`, `read_package_registry`, `write_package_registry`,
`read_virtual_registry`, or `write_virtual_registry`.
items:
type: string
enum:
- read_repository
- read_registry
- write_registry
- read_package_registry
- write_package_registry
- read_virtual_registry
- write_virtual_registry
expires_at:
type: string
format: date-time
description: Expiration date for the deploy token. Does not expire if no value
is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`).
username:
type: string
description: Username for deploy token. Default is `gitlab+deploy-token-{n}`
required:
- name
- scopes
description: Create a project deploy token
API_Entities_Deployment:
type: object
properties:
id:
type: integer
format: int32
example: 41
iid:
type: integer
format: int32
example: 1
ref:
type: string
example: main
sha:
type: string
example: 99d03678b90d914dbb1b109132516d71a4a03ea8
created_at:
type: string
format: date-time
example: '2016-08-11T11:32:35.444Z'
updated_at:
type: string
format: date-time
example: '2016-08-11T11:32:35.444Z'
user:
"$ref": "#/definitions/API_Entities_UserBasic"
environment:
"$ref": "#/definitions/API_Entities_EnvironmentBasic"
deployable:
"$ref": "#/definitions/API_Entities_Ci_Job"
status:
type: string
example: created
description: API_Entities_Deployment model
API_Entities_EnvironmentBasic:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: deploy
slug:
type: string
example: deploy
external_url:
type: string
example: https://deploy.gitlab.example.com
created_at:
type: string
format: date-time
example: '2019-05-25T18:55:13.252Z'
updated_at:
type: string
format: date-time
example: '2019-05-25T18:55:13.252Z'
description: API_Entities_EnvironmentBasic model
API_Entities_DeploymentExtended:
type: object
properties:
id:
type: integer
format: int32
example: 41
iid:
type: integer
format: int32
example: 1
ref:
type: string
example: main
sha:
type: string
example: 99d03678b90d914dbb1b109132516d71a4a03ea8
created_at:
type: string
format: date-time
example: '2016-08-11T11:32:35.444Z'
updated_at:
type: string
format: date-time
example: '2016-08-11T11:32:35.444Z'
user:
"$ref": "#/definitions/API_Entities_UserBasic"
environment:
"$ref": "#/definitions/API_Entities_EnvironmentBasic"
deployable:
"$ref": "#/definitions/API_Entities_Ci_Job"
status:
type: string
example: created
pending_approval_count:
type: integer
format: int32
example: 0
approvals:
"$ref": "#/definitions/API_Entities_Deployments_Approval"
approval_summary:
"$ref": "#/definitions/API_Entities_Deployments_ApprovalSummary"
description: API_Entities_DeploymentExtended model
API_Entities_Deployments_Approval:
type: object
properties:
user:
"$ref": "#/definitions/API_Entities_UserBasic"
status:
type: string
example: approved
created_at:
type: string
format: date-time
example: '2022-02-24T20:22:30.097Z'
comment:
type: string
example: LGTM
description: API_Entities_Deployments_Approval model
API_Entities_Deployments_ApprovalSummary:
type: object
properties:
rules:
"$ref": "#/definitions/API_Entities_ProtectedEnvironments_ApprovalRuleForSummary"
API_Entities_ProtectedEnvironments_ApprovalRuleForSummary:
type: object
properties:
id:
type: string
user_id:
type: string
group_id:
type: string
access_level:
type: string
access_level_description:
type: string
required_approvals:
type: string
group_inheritance_type:
type: string
deployment_approvals:
"$ref": "#/definitions/API_Entities_Deployments_Approval"
postApiV4ProjectsIdDeployments:
type: object
properties:
environment:
type: string
description: The name of the environment to create the deployment for
sha:
type: string
description: The SHA of the commit that is deployed
ref:
type: string
description: The name of the branch or tag that is deployed
tag:
type: boolean
description: A boolean that indicates if the deployed ref is a tag (`true`)
or not (`false`)
status:
type: string
description: The status of the deployment that is created. One of `running`,
`success`, `failed`, or `canceled`
enum:
- running
- success
- failed
- canceled
required:
- environment
- sha
- ref
- tag
- status
description: Create a deployment
putApiV4ProjectsIdDeploymentsDeploymentId:
type: object
properties:
status:
type: string
description: The new status of the deployment. One of `running`, `success`,
`failed`, or `canceled`
enum:
- running
- success
- failed
- canceled
required:
- status
description: Update a deployment
postApiV4ProjectsIdDeploymentsDeploymentIdApproval:
type: object
properties:
status:
type: string
description: The status of the approval (either `approved` or `rejected`)
enum:
- approved
- rejected
comment:
type: string
description: A comment to go with the approval
represented_as:
type: string
description: The name of the User/Group/Role to use for the approval, when
the user belongs to multiple approval rules
required:
- status
description: Approve or reject a blocked deployment
API_Entities_DraftNote:
type: object
properties:
id:
type: integer
format: int32
example: 2
author_id:
type: integer
format: int32
example: 4
merge_request_id:
type: integer
format: int32
example: 52
resolve_discussion:
type: boolean
example: true
discussion_id:
type: integer
format: int32
example: 613
note:
type: string
example: This is a note
commit_id:
type: integer
format: int32
example: 4
line_code:
type: string
example: 1c497fbb3a46b78edf0_2_4
position:
type: object
example:
base_sha: aa149113
start_sha: b3a0a8c4
head_sha: be3020c7
old_path: example.md
new_path: example.md
position_type: text
old_line: 2
new_line: 4
line_range:
start:
line_code: 1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_2_4
type:
old_line: 2
new_line: 4
end:
line_code: 1c497fbb3a46b78edf04cc2a2fa33f67e3ffbe2a_2_4
type:
old_line: 2
new_line: 4
description: API_Entities_DraftNote model
postApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotes:
type: object
properties:
note:
type: string
description: The content of a note.
in_reply_to_discussion_id:
type: string
description: The ID of a discussion the draft note replies to.
commit_id:
type: string
description: The sha of a commit to associate the draft note to.
resolve_discussion:
type: boolean
description: The associated discussion should be resolved.
position:
type: object
properties:
base_sha:
type: string
description: Base commit SHA in the source branch
start_sha:
type: string
description: SHA referencing commit in target branch
head_sha:
type: string
description: SHA referencing HEAD of this merge request
position_type:
type: string
description: Type of the position reference
enum:
- text
- image
- file
new_path:
type: string
description: File path after change
new_line:
type: integer
format: int32
description: Line number after change
old_path:
type: string
description: File path before change
old_line:
type: integer
format: int32
description: Line number before change
width:
type: integer
format: int32
description: Width of the image
height:
type: integer
format: int32
description: Height of the image
x:
type: integer
format: int32
description: X coordinate in the image
"y":
type: integer
format: int32
description: Y coordinate in the image
line_range:
type: object
description: Multi-line start and end
properties:
start:
type: object
properties:
line_code:
type: string
description: Start line code for multi-line note
type:
type: string
description: Start line type for multi-line note
old_line:
type: string
description: Start old_line line number
new_line:
type: string
description: Start new_line line number
end:
type: object
properties:
line_code:
type: string
description: End line code for multi-line note
type:
type: string
description: End line type for multi-line note
old_line:
type: string
description: End old_line line number
new_line:
type: string
description: End new_line line number
required:
- base_sha
- start_sha
- head_sha
- position_type
required:
- note
description: Create a new draft note
putApiV4ProjectsIdMergeRequestsMergeRequestIidDraftNotesDraftNoteId:
type: object
properties:
note:
type: string
description: The content of a note.
position:
type: object
properties:
base_sha:
type: string
description: Base commit SHA in the source branch
start_sha:
type: string
description: SHA referencing commit in target branch
head_sha:
type: string
description: SHA referencing HEAD of this merge request
position_type:
type: string
description: Type of the position reference
enum:
- text
- image
- file
new_path:
type: string
description: File path after change
new_line:
type: integer
format: int32
description: Line number after change
old_path:
type: string
description: File path before change
old_line:
type: integer
format: int32
description: Line number before change
width:
type: integer
format: int32
description: Width of the image
height:
type: integer
format: int32
description: Height of the image
x:
type: integer
format: int32
description: X coordinate in the image
"y":
type: integer
format: int32
description: Y coordinate in the image
line_range:
type: object
description: Multi-line start and end
properties:
start:
type: object
properties:
line_code:
type: string
description: Start line code for multi-line note
type:
type: string
description: Start line type for multi-line note
old_line:
type: string
description: Start old_line line number
new_line:
type: string
description: Start new_line line number
end:
type: object
properties:
line_code:
type: string
description: End line code for multi-line note
type:
type: string
description: End line type for multi-line note
old_line:
type: string
description: End old_line line number
new_line:
type: string
description: End new_line line number
required:
- base_sha
- start_sha
- head_sha
- position_type
description: Modify an existing draft note
API_Entities_Environment:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: deploy
slug:
type: string
example: deploy
external_url:
type: string
example: https://deploy.gitlab.example.com
created_at:
type: string
format: date-time
example: '2019-05-25T18:55:13.252Z'
updated_at:
type: string
format: date-time
example: '2019-05-25T18:55:13.252Z'
tier:
type: string
example: development
project:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
last_deployment:
"$ref": "#/definitions/API_Entities_Deployment"
state:
type: string
example: available
auto_stop_at:
type: string
format: date-time
example: '2019-05-25T18:55:13.252Z'
cluster_agent:
"$ref": "#/definitions/API_Entities_Clusters_Agent"
kubernetes_namespace:
type: string
flux_resource_path:
type: string
description:
type: string
example: description
auto_stop_setting:
type: string
example: always
description: API_Entities_Environment model
postApiV4ProjectsIdEnvironments:
type: object
properties:
name:
type: string
description: The name of the environment
external_url:
type: string
description: Place to link to for this environment
tier:
type: string
description: The tier of the new environment. Allowed values are `production`,
`staging`, `testing`, `development`, and `other`
enum:
- production
- staging
- testing
- development
- other
cluster_agent_id:
type: integer
format: int32
description: The ID of the Cluster Agent to associate with this environment
kubernetes_namespace:
type: string
description: The Kubernetes namespace to associate with this environment
flux_resource_path:
type: string
description: The Flux resource path to associate with this environment
description:
type: string
description: The description of the environment
auto_stop_setting:
type: string
description: The auto stop setting for the environment. Allowed values are
`always` and `with_action`
enum:
- always
- with_action
required:
- name
description: Create a new environment
putApiV4ProjectsIdEnvironmentsEnvironmentId:
type: object
properties:
external_url:
type: string
description: The new URL on which this deployment is viewable
tier:
type: string
description: The tier of the new environment. Allowed values are `production`,
`staging`, `testing`, `development`, and `other`
enum:
- production
- staging
- testing
- development
- other
cluster_agent_id:
type: integer
format: int32
description: The ID of the Cluster Agent to associate with this environment
kubernetes_namespace:
type: string
description: The Kubernetes namespace to associate with this environment
flux_resource_path:
type: string
description: The Flux resource path to associate with this environment
description:
type: string
description: The description of the environment
auto_stop_setting:
type: string
description: The auto stop setting for the environment. Allowed values are
`always` and `with_action`
enum:
- always
- with_action
description: Update an existing environment
postApiV4ProjectsIdEnvironmentsEnvironmentIdStop:
type: object
properties:
force:
type: boolean
description: Force environment to stop without executing `on_stop` actions
default: false
description: Stop an environment
postApiV4ProjectsIdEnvironmentsStopStale:
type: object
properties:
before:
type: string
format: date-time
description: Stop all environments that were last modified or deployed to
before this date.
required:
- before
description: Stop stale environments
API_Entities_ErrorTracking_ClientKey:
type: object
properties:
id:
type: integer
format: int32
example: 1
active:
type: boolean
public_key:
type: string
example: glet_aa77551d849c083f76d0bc545ed053a3
sentry_dsn:
type: string
example: https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5
description: API_Entities_ErrorTracking_ClientKey model
API_Entities_ErrorTracking_ProjectSetting:
type: object
properties:
active:
type: boolean
project_name:
type: string
example: sample sentry project
sentry_external_url:
type: string
example: https://sentry.io/myawesomeproject/project
api_url:
type: string
example: https://sentry.io/api/0/projects/myawesomeproject/project
integrated:
type: boolean
description: API_Entities_ErrorTracking_ProjectSetting model
patchApiV4ProjectsIdErrorTrackingSettings:
type: object
properties:
active:
type: boolean
description: Pass true to enable the already configured Error Tracking settings
or false to disable it.
integrated:
type: boolean
description: Pass true to enable the integrated Error Tracking backend. Available
in GitLab 14.2 and later.
required:
- active
description: Enable or disable the Error Tracking project settings
putApiV4ProjectsIdErrorTrackingSettings:
type: object
properties:
active:
type: boolean
description: Pass true to enable the configured Error Tracking settings or
false to disable it.
integrated:
type: boolean
description: Pass true to enable the integrated Error Tracking backend.
required:
- active
- integrated
description: Update Error Tracking project settings. Available in GitLab 15.10
and later.
API_Entities_FeatureFlag:
type: object
properties:
name:
type: string
example: merge_train
description:
type: string
example: merge train feature flag
active:
type: boolean
version:
type: string
example: new_version_flag
created_at:
type: string
format: date-time
example: '2019-11-04T08:13:51.423Z'
updated_at:
type: string
format: date-time
example: '2019-11-04T08:13:51.423Z'
scopes:
type: string
strategies:
"$ref": "#/definitions/API_Entities_FeatureFlag_Strategy"
description: API_Entities_FeatureFlag model
API_Entities_FeatureFlag_Strategy:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: userWithId
parameters:
type: string
example: '{"userIds": "user1"}'
scopes:
"$ref": "#/definitions/API_Entities_FeatureFlag_Scope"
user_list:
"$ref": "#/definitions/API_Entities_FeatureFlag_BasicUserList"
API_Entities_FeatureFlag_Scope:
type: object
properties:
id:
type: integer
format: int32
example: 1
environment_scope:
type: string
example: production
API_Entities_FeatureFlag_BasicUserList:
type: object
properties:
id:
type: integer
format: int32
example: 1
iid:
type: integer
format: int32
example: 1
name:
type: string
example: user_list
user_xids:
type: string
example: user1,user2
postApiV4ProjectsIdFeatureFlags:
type: object
properties:
name:
type: string
description: The name of the feature flag
description:
type: string
description: The description of the feature flag
active:
type: boolean
description: The active state of the flag. Defaults to `true`. Supported in
GitLab 13.3 and later
version:
type: string
description: The version of the feature flag. Must be `new_version_flag`.
Omit to create a Legacy feature flag.
strategies:
type: array
items:
type: object
properties:
name:
type: string
description: The strategy name. Can be `default`, `gradualRolloutUserId`,
`userWithId`, or `gitlabUserList`. In GitLab 13.5 and later, can be
`flexibleRollout`
parameters:
type: string
description: The strategy parameters as a JSON-formatted string e.g.
`{"userIds":"user1"}`
user_list_id:
type: integer
format: int32
description: The ID of the feature flag user list. If strategy is `gitlabUserList`.
scopes:
type: array
items:
type: object
properties:
environment_scope:
type: string
description: The environment scope of the scope
required:
- environment_scope
required:
- name
required:
- name
description: Create a new feature flag
putApiV4ProjectsIdFeatureFlagsFeatureFlagName:
type: object
properties:
name:
type: string
description: The new name of the feature flag. Supported in GitLab 13.3 and
later
description:
type: string
description: The description of the feature flag
active:
type: boolean
description: The active state of the flag. Supported in GitLab 13.3 and later
strategies:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
description: The feature flag strategy ID
name:
type: string
description: The strategy name
parameters:
type: string
description: The strategy parameters as a JSON-formatted string e.g.
`{"userIds":"user1"}`
user_list_id:
type: integer
format: int32
description: The ID of the feature flag user list
_destroy:
type: boolean
description: Delete the strategy when true
scopes:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
description: The scope id
environment_scope:
type: string
description: The environment scope of the scope
_destroy:
type: boolean
description: Delete the scope when true
description: Update a feature flag
API_Entities_FeatureFlag_UserList:
type: object
properties:
id:
type: integer
format: int32
example: 1
iid:
type: integer
format: int32
example: 1
name:
type: string
example: user_list
user_xids:
type: string
example: user1,user2
project_id:
type: integer
format: int32
example: 2
created_at:
type: string
format: date-time
example: '2020-02-04T08:13:10.507Z'
updated_at:
type: string
format: date-time
example: '2020-02-04T08:13:10.507Z'
path:
type: string
edit_path:
type: string
description: API_Entities_FeatureFlag_UserList model
postApiV4ProjectsIdFeatureFlagsUserLists:
type: object
properties:
name:
type: string
description: The name of the list
user_xids:
type: string
description: A comma separated list of external user ids
required:
- name
- user_xids
description: Create a feature flag user list
putApiV4ProjectsIdFeatureFlagsUserListsIid:
type: object
properties:
name:
type: string
description: The name of the list
user_xids:
type: string
description: A comma separated list of external user ids
description: Update a feature flag user list
postApiV4ProjectsIdRepositoryFilesFilePath:
type: object
properties:
branch:
type: string
description: Name of the branch to commit into. To create a new branch, also
provide `start_branch`.
example: main
commit_message:
type: string
description: Commit message
example: Initial commit
start_branch:
type: string
description: Name of the branch to start the new commit from
example: main
author_email:
type: string
description: The email of the author
example: johndoe@example.com
author_name:
type: string
description: The name of the author
example: John Doe
content:
type: string
description: File content
example: file content
encoding:
type: string
description: File encoding
enum:
- base64
- text
default: text
last_commit_id:
type: string
description: Last known commit id for this file
example: 2695effb5807a22ff3d138d593fd856244e155e7
execute_filemode:
type: boolean
description: Enable / Disable the executable flag on the file path
required:
- branch
- commit_message
- content
description: Create new file in repository
putApiV4ProjectsIdRepositoryFilesFilePath:
type: object
properties:
branch:
type: string
description: Name of the branch to commit into. To create a new branch, also
provide `start_branch`.
example: main
commit_message:
type: string
description: Commit message
example: Initial commit
start_branch:
type: string
description: Name of the branch to start the new commit from
example: main
author_email:
type: string
description: The email of the author
example: johndoe@example.com
author_name:
type: string
description: The name of the author
example: John Doe
content:
type: string
description: File content
example: file content
encoding:
type: string
description: File encoding
enum:
- base64
- text
default: text
last_commit_id:
type: string
description: Last known commit id for this file
example: 2695effb5807a22ff3d138d593fd856244e155e7
execute_filemode:
type: boolean
description: Enable / Disable the executable flag on the file path
required:
- branch
- commit_message
- content
description: Update existing file in repository
API_Entities_FreezePeriod:
type: object
properties:
id:
type: integer
format: int32
example: 1
freeze_start:
type: string
example: 0 23 * * 5
freeze_end:
type: string
example: 0 8 * * 1
cron_timezone:
type: string
example: UTC
created_at:
type: string
format: date-time
example: '2020-05-15T17:03:35.702Z'
updated_at:
type: string
format: date-time
example: '2020-05-15T17:03:35.702Z'
description: API_Entities_FreezePeriod model
postApiV4ProjectsIdFreezePeriods:
type: object
properties:
freeze_start:
type: string
description: Start of the freeze period in cron format.
freeze_end:
type: string
description: End of the freeze period in cron format
cron_timezone:
type: string
description: The time zone for the cron fields, defaults to UTC if not provided
required:
- freeze_start
- freeze_end
description: Create a freeze period
putApiV4ProjectsIdFreezePeriodsFreezePeriodId:
type: object
properties:
freeze_start:
type: string
description: Start of the freeze period in cron format
freeze_end:
type: string
description: End of the freeze period in cron format
cron_timezone:
type: string
description: The time zone for the cron fields
description: Update a freeze period
putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileNameAuthorize:
type: object
properties:
package_version:
type: string
description: Package version
status:
type: string
description: Package status
enum:
- default
- hidden
path:
type: integer
format: int32
required:
- package_version
- path
description: Workhorse authorize generic package file
putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileName:
type: object
properties:
package_version:
type: string
description: Package version
path:
type: string
description: File directory path
status:
type: string
description: Package status
enum:
- default
- hidden
file:
type: file
description: The package file to be published (generated by Multipart middleware)
select:
type: string
enum:
- package_file
required:
- package_version
- file
description: Upload package file
API_Entities_GoModuleVersion:
type: object
properties:
Version:
type: string
example: v1.0.0
Time:
type: string
example: 1617822312 -0600
description: API_Entities_GoModuleVersion model
postApiV4ProjectsIdPackagesHelmApiChannelCharts:
type: object
properties:
chart:
type: file
description: The chart file to be published (generated by Multipart middleware)
required:
- chart
description: Upload a chart
putApiV4ProjectsIdServicesAppleAppStore:
type: object
properties:
app_store_issuer_id:
type: string
description: Apple App Store Connect issuer ID.
app_store_key_id:
type: string
description: Apple App Store Connect key ID.
app_store_private_key_file_name:
type: string
description: Apple App Store Connect private key file name.
app_store_private_key:
type: string
description: Apple App Store Connect private key.
app_store_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- app_store_issuer_id
- app_store_key_id
- app_store_private_key_file_name
- app_store_private_key
description: Create/Edit Apple App Store integration
putApiV4ProjectsIdServicesAsana:
type: object
properties:
api_key:
type: string
description: User API token. The user must have access to the task. All comments
are attributed to this user.
restrict_to_branch:
type: string
description: Comma-separated list of branches to be automatically inspected.
Leave blank to include all branches.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
description: Create/Edit Asana integration
putApiV4ProjectsIdServicesAssembla:
type: object
properties:
token:
type: string
description: The authentication token.
subdomain:
type: string
description: The subdomain setting.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Assembla integration
putApiV4ProjectsIdServicesBamboo:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
bamboo_url:
type: string
description: Bamboo root URL (for example, `https://bamboo.example.com`).
build_key:
type: string
description: Bamboo build plan key (for example, `KEY`).
username:
type: string
description: User with API access to the Bamboo server.
password:
type: string
description: Password of the user.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- bamboo_url
- build_key
- username
- password
description: Create/Edit Bamboo integration
putApiV4ProjectsIdServicesBugzilla:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Bugzilla integration
putApiV4ProjectsIdServicesBuildkite:
type: object
properties:
project_url:
type: string
description: Pipeline URL (for example, `https://buildkite.com/example/pipeline`).
token:
type: string
description: Token you get after you create a Buildkite pipeline with a GitLab
repository.
enable_ssl_verification:
type: boolean
description: 'DEPRECATED: This parameter has no effect because SSL verification
is always enabled.'
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- token
description: Create/Edit Buildkite integration
putApiV4ProjectsIdServicesCampfire:
type: object
properties:
token:
type: string
description: API authentication token from Campfire. To get the token, sign
in to Campfire and select **My info**.
subdomain:
type: string
description: "`.campfirenow.com` subdomain when you're signed in."
room:
type: string
description: ID portion of the Campfire room URL.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Campfire integration
putApiV4ProjectsIdServicesConfluence:
type: object
properties:
confluence_url:
type: string
description: URL of the Confluence Workspace hosted on `atlassian.net`.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- confluence_url
description: Create/Edit Confluence integration
putApiV4ProjectsIdServicesCustomIssueTracker:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Custom Issue Tracker integration
putApiV4ProjectsIdServicesDatadog:
type: object
properties:
datadog_site:
type: string
description: Datadog site to send data to. Learn more about Datadog sites
in the <a target="_blank" rel="noopener noreferrer" href="https://docs.datadoghq.com/getting_started/site/">documentation</a>.
api_url:
type: string
description: Full URL of your Datadog site. Only required if you do not use
a standard Datadog site.
api_key:
type: string
description: <a target="_blank" rel="noopener noreferrer" href="https://docs.datadoghq.com/account_management/api-app-keys/">API
key</a> used for authentication with Datadog.
datadog_ci_visibility:
type: boolean
description: Enable CI Visibility
archive_trace_events:
type: boolean
description: When enabled, job logs are collected by Datadog and displayed
along with pipeline execution traces.
datadog_service:
type: string
description: Tag all pipeline data from this GitLab instance in Datadog. Can
be used when managing several self-managed deployments.
datadog_env:
type: string
description: For self-managed deployments, `env` tag for all the data sent
to Datadog.
datadog_tags:
type: string
description: Custom tags in Datadog. Specify one tag per line in the format
`key:value\nkey2:value2`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
build_events:
type: boolean
description: Trigger event when a build is created.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
subgroup_events:
type: boolean
project_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
description: Create/Edit Datadog integration
putApiV4ProjectsIdServicesDiffblueCover:
type: object
properties:
diffblue_license_key:
type: string
description: Diffblue Cover license key.
diffblue_access_token_name:
type: string
description: Access token name used by Diffblue Cover in pipelines.
diffblue_access_token_secret:
type: string
description: Access token secret used by Diffblue Cover in pipelines.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- diffblue_license_key
- diffblue_access_token_name
- diffblue_access_token_secret
description: Create/Edit Diffblue Cover integration
putApiV4ProjectsIdServicesDiscord:
type: object
properties:
webhook:
type: string
description: Discord webhook (for example, `https://discord.com/api/webhooks/…`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Discord integration
putApiV4ProjectsIdServicesDroneCi:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
drone_url:
type: string
description: Drone CI URL (for example, `http://drone.example.com`).
token:
type: string
description: Drone CI token.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- drone_url
- token
description: Create/Edit Drone Ci integration
putApiV4ProjectsIdServicesEmailsOnPush:
type: object
properties:
send_from_committer_email:
type: boolean
description: Send from committer
disable_diffs:
type: boolean
description: Disable code diffs
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
recipients:
type: string
description: Emails separated by whitespace.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Emails On Push integration
putApiV4ProjectsIdServicesExternalWiki:
type: object
properties:
external_wiki_url:
type: string
description: URL of the external wiki.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- external_wiki_url
description: Create/Edit External Wiki integration
putApiV4ProjectsIdServicesGitlabSlackApplication:
type: object
properties:
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Gitlab Slack Application integration
putApiV4ProjectsIdServicesGooglePlay:
type: object
properties:
package_name:
type: string
description: Package name of the app in Google Play.
service_account_key_file_name:
type: string
description: File name of the Google Play service account key.
service_account_key:
type: string
description: Google Play service account key.
google_play_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- package_name
- service_account_key_file_name
- service_account_key
description: Create/Edit Google Play integration
putApiV4ProjectsIdServicesHangoutsChat:
type: object
properties:
webhook:
type: string
description: The Hangouts Chat webhook (for example, `https://chat.googleapis.com/v1/spaces...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Hangouts Chat integration
putApiV4ProjectsIdServicesHarbor:
type: object
properties:
url:
type: string
description: The base URL to the Harbor instance linked to the GitLab project.
For example, `https://demo.goharbor.io`.
project_name:
type: string
description: The name of the project in the Harbor instance. For example,
`testproject`.
username:
type: string
description: The username created in the Harbor interface.
password:
type: string
description: The password of the user.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- project_name
- username
- password
description: Create/Edit Harbor integration
putApiV4ProjectsIdServicesIrker:
type: object
properties:
server_host:
type: string
description: irker daemon hostname. The default value is `localhost`.
server_port:
type: integer
format: int32
description: irker daemon port. The default value is `6659`.
default_irc_uri:
type: string
description: URI to add before each recipient. The default value is `irc://irc.network.net:6697/`.
recipients:
type: string
description: Comma-separated list of channels or email addresses.
colorize_messages:
type: boolean
description: Colorize messages
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Irker integration
putApiV4ProjectsIdServicesJenkins:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
jenkins_url:
type: string
description: URL of the Jenkins server.
project_name:
type: string
description: Name of the Jenkins project.
username:
type: string
description: Username of the Jenkins server.
password:
type: string
description: Password of the Jenkins server.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- jenkins_url
- project_name
description: Create/Edit Jenkins integration
putApiV4ProjectsIdServicesJira:
type: object
properties:
url:
type: string
description: The URL to the Jira project which is being linked to this GitLab
project (for example, `https://jira.example.com`).
api_url:
type: string
description: The base URL to the Jira instance API. Web URL value is used
if not set (for example, `https://jira-api.example.com`).
jira_auth_type:
type: integer
format: int32
description: The authentication method to use with Jira. Use `0` for Basic
Authentication, and `1` for Jira personal access token. Defaults to `0`.
username:
type: string
description: The email or username to use with Jira. Use an email for Jira
Cloud, and a username for Jira Data Center and Jira Server. Required when
using Basic Authentication (`jira_auth_type` is `0`).
password:
type: string
description: The Jira API token, password, or personal access token to use
with Jira. When using Basic Authentication (`jira_auth_type` is `0`), use
an API token for Jira Cloud, and a password for Jira Data Center or Jira
Server. For a Jira personal access token (`jira_auth_type` is `1`), use
the personal access token.
jira_issue_regex:
type: string
description: Regular expression to match Jira issue keys.
jira_issue_prefix:
type: string
description: Prefix to match Jira issue keys.
jira_issue_transition_id:
type: string
description: The ID of one or more transitions for [custom issue transitions](../integration/jira/issues.md#custom-issue-transitions).Ignored
when `jira_issue_transition_automatic` is enabled. Defaults to a blank string,which
disables custom transitions.
issues_enabled:
type: string
description: Enable viewing Jira issues in GitLab.
project_keys:
type: array
description: Keys of Jira projects. When `issues_enabled` is `true`, this
setting specifies which Jira projects to view issues from in GitLab.
items:
type: string
vulnerabilities_enabled:
type: boolean
description: Turn on Jira issue creation for GitLab vulnerabilities.
vulnerabilities_issuetype:
type: string
description: Jira issue type to use when creating issues from vulnerabilities.
project_key:
type: string
description: Key of the project to use when creating issues from vulnerabilities.This
parameter is required if using the integration to create Jira issues from
vulnerabilities.
customize_jira_issue_enabled:
type: boolean
description: When set to `true`, opens a prefilled form on the Jira instancewhen
creating a Jira issue from a vulnerability.
commit_events:
type: boolean
description: Trigger event when a commit is created or updated.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- password
description: Create/Edit Jira integration
putApiV4ProjectsIdServicesJiraCloudApp:
type: object
properties:
jira_cloud_app_service_ids:
type: string
description: Copy and paste your JSM Service ID here. Use comma (,) to separate
multiple IDs.
jira_cloud_app_enable_deployment_gating:
type: boolean
description: Enable to approve or reject blocked GitLab deployments from Jira
Service Management.
jira_cloud_app_deployment_gating_environments:
type: string
description: Enter the environment (production,staging,testing,development)
where you want to enable deployment gating. Use comma (,) to separate multiple
environments.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Jira Cloud App integration
putApiV4ProjectsIdServicesMatrix:
type: object
properties:
hostname:
type: string
description: Custom hostname of the Matrix server. The default value is `https://matrix-client.matrix.org`.
token:
type: string
description: The Matrix access token (for example, `syt-zyx57W2v1u123ew11`).
room:
type: string
description: Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- room
description: Create/Edit Matrix integration
putApiV4ProjectsIdServicesMattermostSlashCommands:
type: object
properties:
token:
type: string
description: The Mattermost token.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Mattermost Slash Commands integration
putApiV4ProjectsIdServicesSlackSlashCommands:
type: object
properties:
token:
type: string
description: The Slack token.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Slack Slash Commands integration
putApiV4ProjectsIdServicesPackagist:
type: object
properties:
username:
type: string
description: Username of a Packagist account.
token:
type: string
description: API token of the Packagist server.
server:
type: string
description: URL of the Packagist server. The default value is `https://packagist.org`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- username
- token
description: Create/Edit Packagist integration
putApiV4ProjectsIdServicesPhorge:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Phorge integration
putApiV4ProjectsIdServicesPipelinesEmail:
type: object
properties:
recipients:
type: string
description: Comma-separated list of recipient email addresses.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
notify_only_default_branch:
type: boolean
description: Send notifications for the default branch.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Pipelines Email integration
putApiV4ProjectsIdServicesPivotaltracker:
type: object
properties:
token:
type: string
description: The Pivotal Tracker token.
restrict_to_branch:
type: string
description: Comma-separated list of branches to automatically inspect. Leave
blank to include all branches.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Pivotaltracker integration
putApiV4ProjectsIdServicesPumble:
type: object
properties:
webhook:
type: string
description: The Pumble webhook (for example, `https://api.pumble.com/workspaces/x/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Pumble integration
putApiV4ProjectsIdServicesPushover:
type: object
properties:
api_key:
type: string
description: The application key.
user_key:
type: string
description: The user key.
device:
type: string
description: Leave blank for all active devices.
priority:
type: string
description: The priority.
sound:
type: string
description: The sound of the notification.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
- user_key
- priority
description: Create/Edit Pushover integration
putApiV4ProjectsIdServicesRedmine:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Redmine integration
putApiV4ProjectsIdServicesEwm:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Ewm integration
putApiV4ProjectsIdServicesYoutrack:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Youtrack integration
putApiV4ProjectsIdServicesClickup:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Clickup integration
putApiV4ProjectsIdServicesSlack:
type: object
properties:
webhook:
type: string
description: Slack notifications webhook (for example, `https://hooks.slack.com/services/...`).
username:
type: string
description: Slack notifications username.
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Slack integration
putApiV4ProjectsIdServicesMicrosoftTeams:
type: object
properties:
webhook:
type: string
description: The Microsoft Teams webhook (for example, `https://outlook.office.com/webhook/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Microsoft Teams integration
putApiV4ProjectsIdServicesMattermost:
type: object
properties:
webhook:
type: string
description: Mattermost notifications webhook (for example, `http://mattermost.example.com/hooks/...`).
username:
type: string
description: Mattermost notifications username.
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Mattermost integration
putApiV4ProjectsIdServicesTeamcity:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
teamcity_url:
type: string
description: TeamCity root URL (for example, `https://teamcity.example.com`).
build_type:
type: string
description: The build configuration ID of the TeamCity project.
username:
type: string
description: A user with permissions to trigger a manual build.
password:
type: string
description: The password of the user.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- teamcity_url
- build_type
- username
- password
description: Create/Edit Teamcity integration
putApiV4ProjectsIdServicesTelegram:
type: object
properties:
hostname:
type: string
description: Custom hostname of the Telegram API. The default value is `https://api.telegram.org`.
token:
type: string
description: The Telegram bot token (for example, `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`).
room:
type: string
description: Unique identifier for the target chat or the username of the
target channel (in the format `@channelusername`).
thread:
type: string
description: Unique identifier for the target message thread (topic in a forum
supergroup).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- room
description: Create/Edit Telegram integration
putApiV4ProjectsIdServicesUnifyCircuit:
type: object
properties:
webhook:
type: string
description: The Unify Circuit webhook (for example, `https://circuit.com/rest/v2/webhooks/incoming/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Unify Circuit integration
putApiV4ProjectsIdServicesWebexTeams:
type: object
properties:
webhook:
type: string
description: The Webex Teams webhook. For example, https://api.ciscospark.com/v1/webhooks/incoming/...
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Webex Teams integration
putApiV4ProjectsIdServicesZentao:
type: object
properties:
url:
type: string
description: Base URL of the ZenTao instance.
api_url:
type: string
description: If different from Web URL.
api_token:
type: string
zentao_product_xid:
type: string
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- api_token
- zentao_product_xid
description: Create/Edit Zentao integration
putApiV4ProjectsIdServicesSquashTm:
type: object
properties:
url:
type: string
description: URL of the Squash TM webhook.
token:
type: string
description: Secret token.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
description: Create/Edit Squash Tm integration
putApiV4ProjectsIdServicesGithub:
type: object
properties:
token:
type: string
description: GitHub API token with `repo:status` OAuth scope.
repository_url:
type: string
description: GitHub repository URL.
static_context:
type: boolean
description: Append the hostname of your GitLab instance to the status check
name.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- repository_url
description: Create/Edit Github integration
putApiV4ProjectsIdServicesGitGuardian:
type: object
properties:
token:
type: string
description: Personal access token to authenticate calls to the GitGuardian
API.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Git Guardian integration
putApiV4ProjectsIdServicesGoogleCloudPlatformArtifactRegistry:
type: object
properties:
artifact_registry_project_id:
type: string
description: ID of the Google Cloud project.
artifact_registry_repositories:
type: string
description: Repository of Artifact Registry.
artifact_registry_location:
type: string
description: Location of the Artifact Registry repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- artifact_registry_project_id
- artifact_registry_repositories
- artifact_registry_location
description: Create/Edit Google Cloud Platform Artifact Registry integration
putApiV4ProjectsIdServicesGoogleCloudPlatformWorkloadIdentityFederation:
type: object
properties:
workload_identity_federation_project_id:
type: string
description: Google Cloud project ID for the Workload Identity Federation.
workload_identity_federation_project_number:
type: string
description: Google Cloud project number for the Workload Identity Federation.
workload_identity_pool_id:
type: string
description: ID of the Workload Identity Pool.
workload_identity_pool_provider_id:
type: string
description: ID of the Workload Identity Pool provider.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- workload_identity_federation_project_id
- workload_identity_federation_project_number
- workload_identity_pool_id
- workload_identity_pool_provider_id
description: Create/Edit Google Cloud Platform Workload Identity Federation integration
putApiV4ProjectsIdServicesMockCi:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
mock_service_url:
type: string
description: URL of the Mock CI integration.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- mock_service_url
description: Create/Edit Mock Ci integration
putApiV4ProjectsIdServicesMockMonitoring:
type: object
properties:
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Mock Monitoring integration
postApiV4ProjectsIdServicesMattermostSlashCommandsTrigger:
type: object
properties:
token:
type: string
description: The Mattermost token.
required:
- token
description: Trigger a slash command for mattermost-slash-commands
postApiV4ProjectsIdServicesSlackSlashCommandsTrigger:
type: object
properties:
token:
type: string
description: The Slack token.
required:
- token
description: Trigger a slash command for slack-slash-commands
putApiV4ProjectsIdIntegrationsAppleAppStore:
type: object
properties:
app_store_issuer_id:
type: string
description: Apple App Store Connect issuer ID.
app_store_key_id:
type: string
description: Apple App Store Connect key ID.
app_store_private_key_file_name:
type: string
description: Apple App Store Connect private key file name.
app_store_private_key:
type: string
description: Apple App Store Connect private key.
app_store_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- app_store_issuer_id
- app_store_key_id
- app_store_private_key_file_name
- app_store_private_key
description: Create/Edit Apple App Store integration
putApiV4ProjectsIdIntegrationsAsana:
type: object
properties:
api_key:
type: string
description: User API token. The user must have access to the task. All comments
are attributed to this user.
restrict_to_branch:
type: string
description: Comma-separated list of branches to be automatically inspected.
Leave blank to include all branches.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
description: Create/Edit Asana integration
putApiV4ProjectsIdIntegrationsAssembla:
type: object
properties:
token:
type: string
description: The authentication token.
subdomain:
type: string
description: The subdomain setting.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Assembla integration
putApiV4ProjectsIdIntegrationsBamboo:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
bamboo_url:
type: string
description: Bamboo root URL (for example, `https://bamboo.example.com`).
build_key:
type: string
description: Bamboo build plan key (for example, `KEY`).
username:
type: string
description: User with API access to the Bamboo server.
password:
type: string
description: Password of the user.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- bamboo_url
- build_key
- username
- password
description: Create/Edit Bamboo integration
putApiV4ProjectsIdIntegrationsBugzilla:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Bugzilla integration
putApiV4ProjectsIdIntegrationsBuildkite:
type: object
properties:
project_url:
type: string
description: Pipeline URL (for example, `https://buildkite.com/example/pipeline`).
token:
type: string
description: Token you get after you create a Buildkite pipeline with a GitLab
repository.
enable_ssl_verification:
type: boolean
description: 'DEPRECATED: This parameter has no effect because SSL verification
is always enabled.'
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- token
description: Create/Edit Buildkite integration
putApiV4ProjectsIdIntegrationsCampfire:
type: object
properties:
token:
type: string
description: API authentication token from Campfire. To get the token, sign
in to Campfire and select **My info**.
subdomain:
type: string
description: "`.campfirenow.com` subdomain when you're signed in."
room:
type: string
description: ID portion of the Campfire room URL.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Campfire integration
putApiV4ProjectsIdIntegrationsConfluence:
type: object
properties:
confluence_url:
type: string
description: URL of the Confluence Workspace hosted on `atlassian.net`.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- confluence_url
description: Create/Edit Confluence integration
putApiV4ProjectsIdIntegrationsCustomIssueTracker:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Custom Issue Tracker integration
putApiV4ProjectsIdIntegrationsDatadog:
type: object
properties:
datadog_site:
type: string
description: Datadog site to send data to. Learn more about Datadog sites
in the <a target="_blank" rel="noopener noreferrer" href="https://docs.datadoghq.com/getting_started/site/">documentation</a>.
api_url:
type: string
description: Full URL of your Datadog site. Only required if you do not use
a standard Datadog site.
api_key:
type: string
description: <a target="_blank" rel="noopener noreferrer" href="https://docs.datadoghq.com/account_management/api-app-keys/">API
key</a> used for authentication with Datadog.
datadog_ci_visibility:
type: boolean
description: Enable CI Visibility
archive_trace_events:
type: boolean
description: When enabled, job logs are collected by Datadog and displayed
along with pipeline execution traces.
datadog_service:
type: string
description: Tag all pipeline data from this GitLab instance in Datadog. Can
be used when managing several self-managed deployments.
datadog_env:
type: string
description: For self-managed deployments, `env` tag for all the data sent
to Datadog.
datadog_tags:
type: string
description: Custom tags in Datadog. Specify one tag per line in the format
`key:value\nkey2:value2`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
build_events:
type: boolean
description: Trigger event when a build is created.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
subgroup_events:
type: boolean
project_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
description: Create/Edit Datadog integration
putApiV4ProjectsIdIntegrationsDiffblueCover:
type: object
properties:
diffblue_license_key:
type: string
description: Diffblue Cover license key.
diffblue_access_token_name:
type: string
description: Access token name used by Diffblue Cover in pipelines.
diffblue_access_token_secret:
type: string
description: Access token secret used by Diffblue Cover in pipelines.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- diffblue_license_key
- diffblue_access_token_name
- diffblue_access_token_secret
description: Create/Edit Diffblue Cover integration
putApiV4ProjectsIdIntegrationsDiscord:
type: object
properties:
webhook:
type: string
description: Discord webhook (for example, `https://discord.com/api/webhooks/…`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Discord integration
putApiV4ProjectsIdIntegrationsDroneCi:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
drone_url:
type: string
description: Drone CI URL (for example, `http://drone.example.com`).
token:
type: string
description: Drone CI token.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- drone_url
- token
description: Create/Edit Drone Ci integration
putApiV4ProjectsIdIntegrationsEmailsOnPush:
type: object
properties:
send_from_committer_email:
type: boolean
description: Send from committer
disable_diffs:
type: boolean
description: Disable code diffs
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
recipients:
type: string
description: Emails separated by whitespace.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Emails On Push integration
putApiV4ProjectsIdIntegrationsExternalWiki:
type: object
properties:
external_wiki_url:
type: string
description: URL of the external wiki.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- external_wiki_url
description: Create/Edit External Wiki integration
putApiV4ProjectsIdIntegrationsGitlabSlackApplication:
type: object
properties:
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Gitlab Slack Application integration
putApiV4ProjectsIdIntegrationsGooglePlay:
type: object
properties:
package_name:
type: string
description: Package name of the app in Google Play.
service_account_key_file_name:
type: string
description: File name of the Google Play service account key.
service_account_key:
type: string
description: Google Play service account key.
google_play_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- package_name
- service_account_key_file_name
- service_account_key
description: Create/Edit Google Play integration
putApiV4ProjectsIdIntegrationsHangoutsChat:
type: object
properties:
webhook:
type: string
description: The Hangouts Chat webhook (for example, `https://chat.googleapis.com/v1/spaces...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Hangouts Chat integration
putApiV4ProjectsIdIntegrationsHarbor:
type: object
properties:
url:
type: string
description: The base URL to the Harbor instance linked to the GitLab project.
For example, `https://demo.goharbor.io`.
project_name:
type: string
description: The name of the project in the Harbor instance. For example,
`testproject`.
username:
type: string
description: The username created in the Harbor interface.
password:
type: string
description: The password of the user.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- project_name
- username
- password
description: Create/Edit Harbor integration
putApiV4ProjectsIdIntegrationsIrker:
type: object
properties:
server_host:
type: string
description: irker daemon hostname. The default value is `localhost`.
server_port:
type: integer
format: int32
description: irker daemon port. The default value is `6659`.
default_irc_uri:
type: string
description: URI to add before each recipient. The default value is `irc://irc.network.net:6697/`.
recipients:
type: string
description: Comma-separated list of channels or email addresses.
colorize_messages:
type: boolean
description: Colorize messages
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Irker integration
putApiV4ProjectsIdIntegrationsJenkins:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
jenkins_url:
type: string
description: URL of the Jenkins server.
project_name:
type: string
description: Name of the Jenkins project.
username:
type: string
description: Username of the Jenkins server.
password:
type: string
description: Password of the Jenkins server.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- jenkins_url
- project_name
description: Create/Edit Jenkins integration
putApiV4ProjectsIdIntegrationsJira:
type: object
properties:
url:
type: string
description: The URL to the Jira project which is being linked to this GitLab
project (for example, `https://jira.example.com`).
api_url:
type: string
description: The base URL to the Jira instance API. Web URL value is used
if not set (for example, `https://jira-api.example.com`).
jira_auth_type:
type: integer
format: int32
description: The authentication method to use with Jira. Use `0` for Basic
Authentication, and `1` for Jira personal access token. Defaults to `0`.
username:
type: string
description: The email or username to use with Jira. Use an email for Jira
Cloud, and a username for Jira Data Center and Jira Server. Required when
using Basic Authentication (`jira_auth_type` is `0`).
password:
type: string
description: The Jira API token, password, or personal access token to use
with Jira. When using Basic Authentication (`jira_auth_type` is `0`), use
an API token for Jira Cloud, and a password for Jira Data Center or Jira
Server. For a Jira personal access token (`jira_auth_type` is `1`), use
the personal access token.
jira_issue_regex:
type: string
description: Regular expression to match Jira issue keys.
jira_issue_prefix:
type: string
description: Prefix to match Jira issue keys.
jira_issue_transition_id:
type: string
description: The ID of one or more transitions for [custom issue transitions](../integration/jira/issues.md#custom-issue-transitions).Ignored
when `jira_issue_transition_automatic` is enabled. Defaults to a blank string,which
disables custom transitions.
issues_enabled:
type: string
description: Enable viewing Jira issues in GitLab.
project_keys:
type: array
description: Keys of Jira projects. When `issues_enabled` is `true`, this
setting specifies which Jira projects to view issues from in GitLab.
items:
type: string
vulnerabilities_enabled:
type: boolean
description: Turn on Jira issue creation for GitLab vulnerabilities.
vulnerabilities_issuetype:
type: string
description: Jira issue type to use when creating issues from vulnerabilities.
project_key:
type: string
description: Key of the project to use when creating issues from vulnerabilities.This
parameter is required if using the integration to create Jira issues from
vulnerabilities.
customize_jira_issue_enabled:
type: boolean
description: When set to `true`, opens a prefilled form on the Jira instancewhen
creating a Jira issue from a vulnerability.
commit_events:
type: boolean
description: Trigger event when a commit is created or updated.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- password
description: Create/Edit Jira integration
putApiV4ProjectsIdIntegrationsJiraCloudApp:
type: object
properties:
jira_cloud_app_service_ids:
type: string
description: Copy and paste your JSM Service ID here. Use comma (,) to separate
multiple IDs.
jira_cloud_app_enable_deployment_gating:
type: boolean
description: Enable to approve or reject blocked GitLab deployments from Jira
Service Management.
jira_cloud_app_deployment_gating_environments:
type: string
description: Enter the environment (production,staging,testing,development)
where you want to enable deployment gating. Use comma (,) to separate multiple
environments.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Jira Cloud App integration
putApiV4ProjectsIdIntegrationsMatrix:
type: object
properties:
hostname:
type: string
description: Custom hostname of the Matrix server. The default value is `https://matrix-client.matrix.org`.
token:
type: string
description: The Matrix access token (for example, `syt-zyx57W2v1u123ew11`).
room:
type: string
description: Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- room
description: Create/Edit Matrix integration
putApiV4ProjectsIdIntegrationsMattermostSlashCommands:
type: object
properties:
token:
type: string
description: The Mattermost token.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Mattermost Slash Commands integration
putApiV4ProjectsIdIntegrationsSlackSlashCommands:
type: object
properties:
token:
type: string
description: The Slack token.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Slack Slash Commands integration
putApiV4ProjectsIdIntegrationsPackagist:
type: object
properties:
username:
type: string
description: Username of a Packagist account.
token:
type: string
description: API token of the Packagist server.
server:
type: string
description: URL of the Packagist server. The default value is `https://packagist.org`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- username
- token
description: Create/Edit Packagist integration
putApiV4ProjectsIdIntegrationsPhorge:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Phorge integration
putApiV4ProjectsIdIntegrationsPipelinesEmail:
type: object
properties:
recipients:
type: string
description: Comma-separated list of recipient email addresses.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
notify_only_default_branch:
type: boolean
description: Send notifications for the default branch.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- recipients
description: Create/Edit Pipelines Email integration
putApiV4ProjectsIdIntegrationsPivotaltracker:
type: object
properties:
token:
type: string
description: The Pivotal Tracker token.
restrict_to_branch:
type: string
description: Comma-separated list of branches to automatically inspect. Leave
blank to include all branches.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Pivotaltracker integration
putApiV4ProjectsIdIntegrationsPumble:
type: object
properties:
webhook:
type: string
description: The Pumble webhook (for example, `https://api.pumble.com/workspaces/x/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Pumble integration
putApiV4ProjectsIdIntegrationsPushover:
type: object
properties:
api_key:
type: string
description: The application key.
user_key:
type: string
description: The user key.
device:
type: string
description: Leave blank for all active devices.
priority:
type: string
description: The priority.
sound:
type: string
description: The sound of the notification.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- api_key
- user_key
- priority
description: Create/Edit Pushover integration
putApiV4ProjectsIdIntegrationsRedmine:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Redmine integration
putApiV4ProjectsIdIntegrationsEwm:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
new_issue_url:
type: string
description: URL of the new issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
- new_issue_url
description: Create/Edit Ewm integration
putApiV4ProjectsIdIntegrationsYoutrack:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Youtrack integration
putApiV4ProjectsIdIntegrationsClickup:
type: object
properties:
project_url:
type: string
description: URL of the project.
issues_url:
type: string
description: URL of the issue.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- project_url
- issues_url
description: Create/Edit Clickup integration
putApiV4ProjectsIdIntegrationsSlack:
type: object
properties:
webhook:
type: string
description: Slack notifications webhook (for example, `https://hooks.slack.com/services/...`).
username:
type: string
description: Slack notifications username.
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Slack integration
putApiV4ProjectsIdIntegrationsMicrosoftTeams:
type: object
properties:
webhook:
type: string
description: The Microsoft Teams webhook (for example, `https://outlook.office.com/webhook/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Microsoft Teams integration
putApiV4ProjectsIdIntegrationsMattermost:
type: object
properties:
webhook:
type: string
description: Mattermost notifications webhook (for example, `http://mattermost.example.com/hooks/...`).
username:
type: string
description: Mattermost notifications username.
channel:
type: string
description: Default channel to use if no other channel is configured.
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
labels_to_be_notified:
type: string
description: Labels to send notifications for. Leave blank to receive notifications
for all events.
labels_to_be_notified_behavior:
type: string
description: Labels to be notified for. Valid options are `match_any` and
`match_all`. The default value is `match_any`.
push_channel:
type: string
description: The name of the channel to receive push_events notifications
issue_channel:
type: string
description: The name of the channel to receive issues_events notifications
incident_channel:
type: string
description: The name of the channel to receive incident_events notifications
alert_channel:
type: string
description: The name of the channel to receive alert_events notifications
confidential_issue_channel:
type: string
description: The name of the channel to receive confidential_issues_events
notifications
merge_request_channel:
type: string
description: The name of the channel to receive merge_requests_events notifications
note_channel:
type: string
description: The name of the channel to receive note_events notifications
confidential_note_channel:
type: string
description: The name of the channel to receive confidential_note_events notifications
tag_push_channel:
type: string
description: The name of the channel to receive tag_push_events notifications
deployment_channel:
type: string
description: The name of the channel to receive deployment_events notifications
pipeline_channel:
type: string
description: The name of the channel to receive pipeline_events notifications
wiki_page_channel:
type: string
description: The name of the channel to receive wiki_page_events notifications
vulnerability_channel:
type: string
description: The name of the channel to receive vulnerability_events notifications
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Mattermost integration
putApiV4ProjectsIdIntegrationsTeamcity:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
teamcity_url:
type: string
description: TeamCity root URL (for example, `https://teamcity.example.com`).
build_type:
type: string
description: The build configuration ID of the TeamCity project.
username:
type: string
description: A user with permissions to trigger a manual build.
password:
type: string
description: The password of the user.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- teamcity_url
- build_type
- username
- password
description: Create/Edit Teamcity integration
putApiV4ProjectsIdIntegrationsTelegram:
type: object
properties:
hostname:
type: string
description: Custom hostname of the Telegram API. The default value is `https://api.telegram.org`.
token:
type: string
description: The Telegram bot token (for example, `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`).
room:
type: string
description: Unique identifier for the target chat or the username of the
target channel (in the format `@channelusername`).
thread:
type: string
description: Unique identifier for the target message thread (topic in a forum
supergroup).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
incident_events:
type: boolean
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- room
description: Create/Edit Telegram integration
putApiV4ProjectsIdIntegrationsUnifyCircuit:
type: object
properties:
webhook:
type: string
description: The Unify Circuit webhook (for example, `https://circuit.com/rest/v2/webhooks/incoming/...`).
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Unify Circuit integration
putApiV4ProjectsIdIntegrationsWebexTeams:
type: object
properties:
webhook:
type: string
description: The Webex Teams webhook. For example, https://api.ciscospark.com/v1/webhooks/incoming/...
notify_only_broken_pipelines:
type: boolean
description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
description: Branches to send notifications for. Valid options are `all`,
`default`, `protected`, and `default_and_protected`. The default value is
`default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
note_events:
type: boolean
description: Trigger event for new comments.
confidential_note_events:
type: boolean
description: Trigger event for new comments on confidential issues.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- webhook
description: Create/Edit Webex Teams integration
putApiV4ProjectsIdIntegrationsZentao:
type: object
properties:
url:
type: string
description: Base URL of the ZenTao instance.
api_url:
type: string
description: If different from Web URL.
api_token:
type: string
zentao_product_xid:
type: string
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
- api_token
- zentao_product_xid
description: Create/Edit Zentao integration
putApiV4ProjectsIdIntegrationsSquashTm:
type: object
properties:
url:
type: string
description: URL of the Squash TM webhook.
token:
type: string
description: Secret token.
issues_events:
type: boolean
description: Trigger event when an issue is created, updated, or closed.
confidential_issues_events:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- url
description: Create/Edit Squash Tm integration
putApiV4ProjectsIdIntegrationsGithub:
type: object
properties:
token:
type: string
description: GitHub API token with `repo:status` OAuth scope.
repository_url:
type: string
description: GitHub repository URL.
static_context:
type: boolean
description: Append the hostname of your GitLab instance to the status check
name.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
- repository_url
description: Create/Edit Github integration
putApiV4ProjectsIdIntegrationsGitGuardian:
type: object
properties:
token:
type: string
description: Personal access token to authenticate calls to the GitGuardian
API.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- token
description: Create/Edit Git Guardian integration
putApiV4ProjectsIdIntegrationsGoogleCloudPlatformArtifactRegistry:
type: object
properties:
artifact_registry_project_id:
type: string
description: ID of the Google Cloud project.
artifact_registry_repositories:
type: string
description: Repository of Artifact Registry.
artifact_registry_location:
type: string
description: Location of the Artifact Registry repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- artifact_registry_project_id
- artifact_registry_repositories
- artifact_registry_location
description: Create/Edit Google Cloud Platform Artifact Registry integration
putApiV4ProjectsIdIntegrationsGoogleCloudPlatformWorkloadIdentityFederation:
type: object
properties:
workload_identity_federation_project_id:
type: string
description: Google Cloud project ID for the Workload Identity Federation.
workload_identity_federation_project_number:
type: string
description: Google Cloud project number for the Workload Identity Federation.
workload_identity_pool_id:
type: string
description: ID of the Workload Identity Pool.
workload_identity_pool_provider_id:
type: string
description: ID of the Workload Identity Pool provider.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- workload_identity_federation_project_id
- workload_identity_federation_project_number
- workload_identity_pool_id
- workload_identity_pool_provider_id
description: Create/Edit Google Cloud Platform Workload Identity Federation integration
putApiV4ProjectsIdIntegrationsMockCi:
type: object
properties:
enable_ssl_verification:
type: boolean
description: Enable SSL verification. Defaults to `true` (enabled).
mock_service_url:
type: string
description: URL of the Mock CI integration.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
required:
- mock_service_url
description: Create/Edit Mock Ci integration
putApiV4ProjectsIdIntegrationsMockMonitoring:
type: object
properties:
use_inherited_settings:
type: boolean
description: Indicates whether to inherit the default settings. Defaults to
`false`.
description: Create/Edit Mock Monitoring integration
postApiV4ProjectsIdIntegrationsMattermostSlashCommandsTrigger:
type: object
properties:
token:
type: string
description: The Mattermost token.
required:
- token
description: Trigger a slash command for mattermost-slash-commands
postApiV4ProjectsIdIntegrationsSlackSlashCommandsTrigger:
type: object
properties:
token:
type: string
description: The Slack token.
required:
- token
description: Trigger a slash command for slack-slash-commands
postApiV4ProjectsIdInvitations:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
- 5
email:
type: array
description: The email address to invite, or multiple emails separated by
comma
items:
type: string
user_id:
type: array
description: The user ID of the new member or multiple IDs separated by commas.
items:
type: string
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
invite_source:
type: string
description: Source that triggered the member creation process
default: invitations-api
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
required:
- access_level
description: Invite non-members by email address to a group or project.
putApiV4ProjectsIdInvitationsEmail:
type: object
properties:
access_level:
type: integer
format: int32
description: 'A valid access level (defaults: `30`, developer access level)'
enum:
- 10
- 15
- 20
- 30
- 40
- 50
expires_at:
type: string
format: date-time
description: Date string in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`)
member_role_id:
type: integer
format: int32
description: The ID of a member role for the invited user
description: Updates a group or project invitation.
API_Entities_RelatedIssue:
type: object
properties:
id:
type: integer
format: int32
example: 84
iid:
type: integer
format: int32
example: 14
project_id:
type: integer
format: int32
example: 4
title:
type: string
example: Impedit et ut et dolores vero provident ullam est
description:
type: string
example: Repellendus impedit et vel velit dignissimos.
state:
type: string
example: closed
created_at:
type: string
format: date-time
example: '2022-08-17T12:46:35.053Z'
updated_at:
type: string
format: date-time
example: '2022-11-14T17:22:01.470Z'
closed_at:
type: string
format: date-time
example: '2022-11-15T08:30:55.232Z'
closed_by:
"$ref": "#/definitions/API_Entities_UserBasic"
labels:
type: array
items:
type: string
example: bug
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
assignees:
"$ref": "#/definitions/API_Entities_UserBasic"
author:
"$ref": "#/definitions/API_Entities_UserBasic"
type:
type: string
example: ISSUE
description: One of ["ISSUE", "INCIDENT", "TEST_CASE", "REQUIREMENT", "TASK",
"TICKET"]
assignee:
"$ref": "#/definitions/API_Entities_UserBasic"
user_notes_count:
type: string
merge_requests_count:
type: string
upvotes:
type: string
downvotes:
type: string
due_date:
type: string
format: date
example: '2022-11-20'
confidential:
type: boolean
discussion_locked:
type: boolean
issue_type:
type: string
example: issue
web_url:
type: string
example: http://example.com/example/example/issues/14
time_stats:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
task_completion_status:
type: string
weight:
type: string
blocking_issues_count:
type: string
has_tasks:
type: string
task_status:
type: string
_links:
type: object
properties:
self:
type: string
notes:
type: string
award_emoji:
type: string
project:
type: string
closed_as_duplicate_of:
type: string
references:
"$ref": "#/definitions/API_Entities_IssuableReferences"
severity:
type: string
description: One of ["UNKNOWN", "LOW", "MEDIUM", "HIGH", "CRITICAL"]
subscribed:
type: string
moved_to_id:
type: string
imported:
type: string
imported_from:
type: string
example: github
service_desk_reply_to:
type: string
epic_iid:
type: string
epic:
"$ref": "#/definitions/EpicBaseEntity"
iteration:
"$ref": "#/definitions/API_Entities_Iteration"
health_status:
type: string
issue_link_id:
type: string
link_type:
type: string
link_created_at:
type: string
link_updated_at:
type: string
description: API_Entities_RelatedIssue model
EpicBaseEntity:
type: object
properties:
id:
type: string
iid:
type: string
title:
type: string
url:
type: string
group_id:
type: string
human_readable_end_date:
type: string
human_readable_timestamp:
type: string
API_Entities_Iteration:
type: object
properties:
id:
type: string
iid:
type: string
sequence:
type: string
group_id:
type: string
title:
type: string
description:
type: string
state:
type: string
created_at:
type: string
updated_at:
type: string
start_date:
type: string
due_date:
type: string
web_url:
type: string
postApiV4ProjectsIdIssuesIssueIidLinks:
type: object
properties:
target_project_id:
type: string
description: The ID or URL-encoded path of a target project
target_issue_iid:
type: string
description: The internal ID of a target projects issue
link_type:
type: string
description: The type of the relation (“relates_to”, “blocks”, “is_blocked_by”),defaults
to “relates_to”)
enum:
- relates_to
- blocks
- is_blocked_by
required:
- target_project_id
- target_issue_iid
description: Create an issue link
API_Entities_IssueLink:
type: object
properties:
source_issue:
"$ref": "#/definitions/API_Entities_IssueBasic"
target_issue:
"$ref": "#/definitions/API_Entities_IssueBasic"
link_type:
type: string
description: API_Entities_IssueLink model
API_Entities_IssueBasic:
type: object
properties:
id:
type: integer
format: int32
example: 84
iid:
type: integer
format: int32
example: 14
project_id:
type: integer
format: int32
example: 4
title:
type: string
example: Impedit et ut et dolores vero provident ullam est
description:
type: string
example: Repellendus impedit et vel velit dignissimos.
state:
type: string
example: closed
created_at:
type: string
format: date-time
example: '2022-08-17T12:46:35.053Z'
updated_at:
type: string
format: date-time
example: '2022-11-14T17:22:01.470Z'
closed_at:
type: string
format: date-time
example: '2022-11-15T08:30:55.232Z'
closed_by:
"$ref": "#/definitions/API_Entities_UserBasic"
labels:
type: array
items:
type: string
example: bug
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
assignees:
"$ref": "#/definitions/API_Entities_UserBasic"
author:
"$ref": "#/definitions/API_Entities_UserBasic"
type:
type: string
example: ISSUE
description: One of ["ISSUE", "INCIDENT", "TEST_CASE", "REQUIREMENT", "TASK",
"TICKET"]
assignee:
"$ref": "#/definitions/API_Entities_UserBasic"
user_notes_count:
type: string
merge_requests_count:
type: string
upvotes:
type: string
downvotes:
type: string
due_date:
type: string
format: date
example: '2022-11-20'
confidential:
type: boolean
discussion_locked:
type: boolean
issue_type:
type: string
example: issue
web_url:
type: string
example: http://example.com/example/example/issues/14
time_stats:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
task_completion_status:
type: string
weight:
type: string
blocking_issues_count:
type: string
API_Entities_Ci_Lint_Result:
type: object
properties:
valid:
type: boolean
errors:
type: array
items:
type: string
example: variables config should be a hash of key value pairs
warnings:
type: array
items:
type: string
example: jobs:job may allow multiple pipelines ...
merged_yaml:
type: string
example: |-
---\n:another_test:\n :stage: test\n
:script: echo 2\n:test:\n :stage: test\n :script: echo 1\n
includes:
type: array
items:
"$ref": "#/definitions/API_Entities_Ci_Lint_Result_Include"
example: '{ "blob": "https://gitlab.com/root/example-project/-/blob/...'
jobs:
type: array
items:
type: object
example: '{ "name": "test: .... }'
description: API_Entities_Ci_Lint_Result model
API_Entities_Ci_Lint_Result_Include:
type: object
properties:
type:
type: string
example: local
location:
type: string
example: ".gitlab/ci/build-images.gitlab-ci.yml"
blob:
type: string
example: https://gitlab.com/gitlab-org/gitlab/-/blob/e52d6d0246d7375291850e61f0abc101fbda9dc2/.gitlab/ci/build-images.gitlab-ci.yml
raw:
type: string
example: https://gitlab.com/gitlab-org/gitlab/-/raw/e52d6d0246d7375291850e61f0abc101fbda9dc2/.gitlab/ci/build-images.gitlab-ci.yml
extra:
type: object
example: '{ "job_name": "test", "project": "gitlab-org/gitlab", "ref": "master"
}'
context_project:
type: string
example: gitlab-org/gitlab
context_sha:
type: string
example: e52d6d0246d7375291850e61f0abc101fbda9dc2
postApiV4ProjectsIdCiLint:
type: object
properties:
content:
type: string
description: Content of .gitlab-ci.yml
dry_run:
type: boolean
description: Run pipeline creation simulation, or only do static check. This
is false by default
default: false
include_jobs:
type: boolean
description: |-
If the list of jobs that would exist in a static check or pipeline
simulation should be included in the response. This is false by default
ref:
type: string
description: When dry_run is true, sets the branch or tag to use. Defaults
to the projects default branch when not set
required:
- content
description: Validate a CI YAML configuration with a namespace
postApiV4ProjectsIdUploads:
type: object
properties:
file:
type: file
description: The attachment file to be uploaded
required:
- file
description: Upload a file
API_Entities_ProjectUpload:
type: object
properties:
id:
type: string
alt:
type: string
url:
type: string
full_path:
type: string
markdown:
type: string
description: API_Entities_ProjectUpload model
putApiV4ProjectsIdPackagesMaven*pathFileNameAuthorize:
type: object
properties:
path:
type: string
description: Package path
example: foo/bar/mypkg/1.0-SNAPSHOT
required:
- path
description: Workhorse authorize the maven package file upload
putApiV4ProjectsIdPackagesMaven*pathFileName:
type: object
properties:
path:
type: string
description: Package path
example: foo/bar/mypkg/1.0-SNAPSHOT
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- path
- file
description: Upload the maven package file
postApiV4ProjectsIdMembers:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level.
user_id:
type: integer
format: int32
description: The user ID of the new member or multiple IDs separated by commas.
username:
type: string
description: The username of the new member or multiple usernames separated
by commas.
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
invite_source:
type: string
description: Source that triggered the member creation process
default: members-api
required:
- access_level
description: Adds a member to a group or project.
putApiV4ProjectsIdMembersUserId:
type: object
properties:
access_level:
type: integer
format: int32
description: A valid access level
expires_at:
type: string
format: date-time
description: Date string in the format YEAR-MONTH-DAY
member_role_id:
type: integer
format: int32
description: The ID of the Member Role to be updated
required:
- access_level
description: Updates a member of a group or project.
API_Entities_MergeRequestApprovals:
type: object
properties:
user_has_approved:
type: boolean
user_can_approve:
type: boolean
approved:
type: boolean
approved_by:
"$ref": "#/definitions/API_Entities_Approvals"
description: API_Entities_MergeRequestApprovals model
API_Entities_Approvals:
type: object
properties:
user:
"$ref": "#/definitions/API_Entities_UserBasic"
postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove:
type: object
properties:
sha:
type: string
description: When present, must have the HEAD SHA of the source branch
approval_password:
type: string
description: Current user's password if project is set to require explicit
auth on approval
example: secret
description: Approve a merge request
EE_API_Entities_MergeRequestApprovalState:
type: object
properties:
approval_rules_overwritten:
type: boolean
rules:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalStateRule"
description: EE_API_Entities_MergeRequestApprovalState model
EE_API_Entities_MergeRequestApprovalStateRule:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: QA
rule_type:
type: string
example: regular
eligible_approvers:
type: array
items:
"$ref": "#/definitions/API_Entities_UserBasic"
approvals_required:
type: integer
format: int32
example: 2
users:
type: array
items:
"$ref": "#/definitions/API_Entities_UserBasic"
groups:
type: array
items:
"$ref": "#/definitions/API_Entities_Group"
contains_hidden_groups:
type: boolean
report_type:
type: string
section:
type: string
example: Backend
source_rule:
"$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalRule_SourceRule"
overridden:
type: boolean
code_owner:
type: boolean
approved_by:
type: array
items:
"$ref": "#/definitions/API_Entities_UserBasic"
approved:
type: boolean
EE_API_Entities_MergeRequestApprovalRule_SourceRule:
type: object
properties:
approvals_required:
type: integer
format: int32
example: 2
postApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals:
type: object
properties:
approvals_required:
type: integer
format: int32
description: The amount of approvals required. Must be higher than the project
approvals
example: 2
required:
- approvals_required
description: 'Deprecated in 16.0: Use the merge request approvals API instead.
Change approval-related configuration'
EE_API_Entities_ApprovalState:
type: object
properties:
id:
type: integer
format: int32
example: 84
iid:
type: integer
format: int32
example: 14
project_id:
type: integer
format: int32
example: 4
title:
type: string
example: Impedit et ut et dolores vero provident ullam est
description:
type: string
example: Repellendus impedit et vel velit dignissimos.
state:
type: string
example: closed
created_at:
type: string
format: date-time
example: '2022-08-17T12:46:35.053Z'
updated_at:
type: string
format: date-time
example: '2022-11-14T17:22:01.470Z'
merge_status:
type: string
example: can_be_merged
approved:
type: boolean
approvals_required:
type: integer
format: int32
example: 2
approvals_left:
type: integer
format: int32
example: 2
require_password_to_approve:
type: boolean
approved_by:
type: array
items:
"$ref": "#/definitions/API_Entities_Approvals"
suggested_approvers:
type: array
items:
"$ref": "#/definitions/API_Entities_UserBasic"
approvers:
type: string
approver_groups:
type: string
user_has_approved:
type: boolean
user_can_approve:
type: boolean
approval_rules_left:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_ApprovalRuleShort"
has_approval_rules:
type: boolean
merge_request_approvers_available:
type: boolean
multiple_approval_rules_available:
type: boolean
invalid_approvers_rules:
type: array
items:
"$ref": "#/definitions/EE_API_Entities_ApprovalRuleShort"
description: EE_API_Entities_ApprovalState model
EE_API_Entities_ApprovalRuleShort:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: QA
rule_type:
type: string
example: regular
postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate:
type: object
properties:
duration:
type: string
description: The duration in human format.
example: 3h30m
required:
- duration
description: Set a time estimate for a merge_request
postApiV4ProjectsIdMergeRequestsMergeRequestIidAddSpentTime:
type: object
properties:
duration:
type: string
description: The duration in human format.
required:
- duration
description: Add spent time for a merge_request
postApiV4ProjectsIdMergeRequests:
type: object
properties:
title:
type: string
description: The title of the merge request.
source_branch:
type: string
description: The source branch.
target_branch:
type: string
description: The target branch.
target_project_id:
type: integer
format: int32
description: The target project of the merge request defaults to the :id of
the project.
assignee_id:
type: integer
format: int32
description: Assignee user ID.
assignee_ids:
type: array
description: The IDs of the users to assign the merge request to, as a comma-separated
list. Set to 0 or provide an empty value to unassign all assignees.
items:
type: integer
format: int32
reviewer_ids:
type: array
description: The IDs of the users to review the merge request, as a comma-separated
list. Set to 0 or provide an empty value to unassign all reviewers.
items:
type: integer
format: int32
description:
type: string
description: Description of the merge request. Limited to 1,048,576 characters.
labels:
type: array
description: Comma-separated label names for a merge request. Set to an empty
string to unassign all labels.
items:
type: string
add_labels:
type: array
description: Comma-separated label names to add to a merge request.
items:
type: string
remove_labels:
type: array
description: Comma-separated label names to remove from a merge request.
items:
type: string
milestone_id:
type: integer
format: int32
description: The global ID of a milestone to assign the merge reques to.
remove_source_branch:
type: boolean
description: Flag indicating if a merge request should remove the source branch
when merging.
allow_collaboration:
type: boolean
description: Allow commits from members who can merge to the target branch.
allow_maintainer_to_push:
type: boolean
description: "[deprecated] See allow_collaboration"
squash:
type: boolean
description: Squash commits into a single commit when merging.
merge_after:
type: string
description: Date after which the merge request can be merged.
approvals_before_merge:
type: integer
format: int32
description: Number of approvals required before this can be merged
required:
- title
- source_branch
- target_branch
description: Create merge request
API_Entities_MergeRequest:
type: object
properties:
id:
type: integer
format: int32
example: 84
iid:
type: integer
format: int32
example: 14
project_id:
type: integer
format: int32
example: 4
title:
type: string
example: Impedit et ut et dolores vero provident ullam est
description:
type: string
example: Repellendus impedit et vel velit dignissimos.
state:
type: string
example: closed
created_at:
type: string
format: date-time
example: '2022-08-17T12:46:35.053Z'
updated_at:
type: string
format: date-time
example: '2022-11-14T17:22:01.470Z'
merged_by:
"$ref": "#/definitions/API_Entities_UserBasic"
merge_user:
"$ref": "#/definitions/API_Entities_UserBasic"
merged_at:
type: string
closed_by:
"$ref": "#/definitions/API_Entities_UserBasic"
closed_at:
type: string
title_html:
type: string
description_html:
type: string
target_branch:
type: string
source_branch:
type: string
user_notes_count:
type: string
upvotes:
type: string
downvotes:
type: string
author:
"$ref": "#/definitions/API_Entities_UserBasic"
assignees:
"$ref": "#/definitions/API_Entities_UserBasic"
assignee:
"$ref": "#/definitions/API_Entities_UserBasic"
reviewers:
"$ref": "#/definitions/API_Entities_UserBasic"
source_project_id:
type: string
target_project_id:
type: string
labels:
type: string
draft:
type: string
imported:
type: string
imported_from:
type: string
example: bitbucket
work_in_progress:
type: string
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
merge_when_pipeline_succeeds:
type: string
merge_status:
type: string
detailed_merge_status:
type: string
merge_after:
type: string
sha:
type: string
merge_commit_sha:
type: string
squash_commit_sha:
type: string
discussion_locked:
type: string
should_remove_source_branch:
type: string
force_remove_source_branch:
type: string
prepared_at:
type: string
allow_collaboration:
type: string
allow_maintainer_to_push:
type: string
reference:
type: string
references:
"$ref": "#/definitions/API_Entities_IssuableReferences"
web_url:
type: string
time_stats:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
squash:
type: string
squash_on_merge:
type: string
task_completion_status:
type: string
has_conflicts:
type: string
blocking_discussions_resolved:
type: string
approvals_before_merge:
type: string
subscribed:
type: string
changes_count:
type: string
latest_build_started_at:
type: string
latest_build_finished_at:
type: string
first_deployed_to_production_at:
type: string
pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
head_pipeline:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
diff_refs:
"$ref": "#/definitions/API_Entities_DiffRefs"
merge_error:
type: string
rebase_in_progress:
type: string
diverged_commits_count:
type: string
first_contribution:
type: string
user:
type: object
properties:
can_merge:
type: string
description: API_Entities_MergeRequest model
API_Entities_DiffRefs:
type: object
properties:
base_sha:
type: string
head_sha:
type: string
start_sha:
type: string
API_Entities_MergeRequestReviewer:
type: object
properties:
user:
"$ref": "#/definitions/API_Entities_UserBasic"
state:
type: string
created_at:
type: string
description: API_Entities_MergeRequestReviewer model
postApiV4ProjectsIdMergeRequestsMergeRequestIidContextCommits:
type: object
properties:
commits:
type: array
description: The context commits SHA.
items:
type: string
required:
- commits
description: Create merge request context commits
API_Entities_MergeRequestChanges:
type: object
properties:
id:
type: integer
format: int32
example: 84
iid:
type: integer
format: int32
example: 14
project_id:
type: integer
format: int32
example: 4
title:
type: string
example: Impedit et ut et dolores vero provident ullam est
description:
type: string
example: Repellendus impedit et vel velit dignissimos.
state:
type: string
example: closed
created_at:
type: string
format: date-time
example: '2022-08-17T12:46:35.053Z'
updated_at:
type: string
format: date-time
example: '2022-11-14T17:22:01.470Z'
merged_by:
"$ref": "#/definitions/API_Entities_UserBasic"
merge_user:
"$ref": "#/definitions/API_Entities_UserBasic"
merged_at:
type: string
closed_by:
"$ref": "#/definitions/API_Entities_UserBasic"
closed_at:
type: string
title_html:
type: string
description_html:
type: string
target_branch:
type: string
source_branch:
type: string
user_notes_count:
type: string
upvotes:
type: string
downvotes:
type: string
author:
"$ref": "#/definitions/API_Entities_UserBasic"
assignees:
"$ref": "#/definitions/API_Entities_UserBasic"
assignee:
"$ref": "#/definitions/API_Entities_UserBasic"
reviewers:
"$ref": "#/definitions/API_Entities_UserBasic"
source_project_id:
type: string
target_project_id:
type: string
labels:
type: string
draft:
type: string
imported:
type: string
imported_from:
type: string
example: bitbucket
work_in_progress:
type: string
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
merge_when_pipeline_succeeds:
type: string
merge_status:
type: string
detailed_merge_status:
type: string
merge_after:
type: string
sha:
type: string
merge_commit_sha:
type: string
squash_commit_sha:
type: string
discussion_locked:
type: string
should_remove_source_branch:
type: string
force_remove_source_branch:
type: string
prepared_at:
type: string
allow_collaboration:
type: string
allow_maintainer_to_push:
type: string
reference:
type: string
references:
"$ref": "#/definitions/API_Entities_IssuableReferences"
web_url:
type: string
time_stats:
"$ref": "#/definitions/API_Entities_IssuableTimeStats"
squash:
type: string
squash_on_merge:
type: string
task_completion_status:
type: string
has_conflicts:
type: string
blocking_discussions_resolved:
type: string
approvals_before_merge:
type: string
subscribed:
type: string
changes_count:
type: string
latest_build_started_at:
type: string
latest_build_finished_at:
type: string
first_deployed_to_production_at:
type: string
pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
head_pipeline:
"$ref": "#/definitions/API_Entities_Ci_Pipeline"
diff_refs:
"$ref": "#/definitions/API_Entities_DiffRefs"
merge_error:
type: string
rebase_in_progress:
type: string
diverged_commits_count:
type: string
first_contribution:
type: string
user:
type: object
properties:
can_merge:
type: string
changes:
"$ref": "#/definitions/API_Entities_Diff"
overflow:
type: string
description: API_Entities_MergeRequestChanges model
postApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines:
type: object
properties:
async:
type: boolean
description: Indicates if the merge request pipeline creation should be performed
asynchronously. If set to `true`, the pipeline will be created outside of
the API request and the endpoint will return an empty response with a `202`
status code. When the response is `202`, the creation can still fail outside
of this request.
default: false
description: Create merge request pipeline
putApiV4ProjectsIdMergeRequestsMergeRequestIid:
type: object
properties:
title:
type: string
description: The title of the merge request.
target_branch:
type: string
description: The target branch.
state_event:
type: string
description: New state (close/reopen).
enum:
- close
- reopen
discussion_locked:
type: boolean
description: Flag indicating if the merge requests discussion is locked.
If the discussion is locked only project members can add, edit or resolve
comments.
assignee_id:
type: integer
format: int32
description: Assignee user ID.
assignee_ids:
type: array
description: The IDs of the users to assign the merge request to, as a comma-separated
list. Set to 0 or provide an empty value to unassign all assignees.
items:
type: integer
format: int32
reviewer_ids:
type: array
description: The IDs of the users to review the merge request, as a comma-separated
list. Set to 0 or provide an empty value to unassign all reviewers.
items:
type: integer
format: int32
description:
type: string
description: Description of the merge request. Limited to 1,048,576 characters.
labels:
type: array
description: Comma-separated label names for a merge request. Set to an empty
string to unassign all labels.
items:
type: string
add_labels:
type: array
description: Comma-separated label names to add to a merge request.
items:
type: string
remove_labels:
type: array
description: Comma-separated label names to remove from a merge request.
items:
type: string
milestone_id:
type: integer
format: int32
description: The global ID of a milestone to assign the merge reques to.
remove_source_branch:
type: boolean
description: Flag indicating if a merge request should remove the source branch
when merging.
allow_collaboration:
type: boolean
description: Allow commits from members who can merge to the target branch.
allow_maintainer_to_push:
type: boolean
description: "[deprecated] See allow_collaboration"
squash:
type: boolean
description: Squash commits into a single commit when merging.
merge_after:
type: string
description: Date after which the merge request can be merged.
approvals_before_merge:
type: integer
format: int32
description: Number of approvals required before this can be merged
description: Update merge request
putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge:
type: object
properties:
merge_commit_message:
type: string
description: Custom merge commit message.
squash_commit_message:
type: string
description: Custom squash commit message.
should_remove_source_branch:
type: boolean
description: If `true`, removes the source branch.
merge_when_pipeline_succeeds:
type: boolean
description: 'Deprecated: Use auto_merge instead.'
auto_merge:
type: boolean
description: If `true`, the merge request is set to auto merge.
sha:
type: string
description: If present, then this SHA must match the HEAD of the source branch,
otherwise the merge fails.
squash:
type: boolean
description: If `true`, the commits are squashed into a single commit on merge.
skip_merge_train:
type: boolean
description: If `true` skips train restart when merging immediately in a merge
train configured project.
description: Merge a merge request
putApiV4ProjectsIdMergeRequestsMergeRequestIidRebase:
type: object
properties:
skip_ci:
type: boolean
description: Set to true to skip creating a CI pipeline.
description: Rebase a merge request
API_Entities_MRNote:
type: object
properties:
note:
type: string
author:
"$ref": "#/definitions/API_Entities_UserBasic"
description: API_Entities_MRNote model
API_Entities_MergeRequestDiff:
type: object
properties:
id:
type: string
head_commit_sha:
type: string
base_commit_sha:
type: string
start_commit_sha:
type: string
created_at:
type: string
merge_request_id:
type: string
state:
type: string
real_size:
type: string
patch_id_sha:
type: string
description: API_Entities_MergeRequestDiff model
API_Entities_MergeRequestDiffFull:
type: object
properties:
id:
type: string
head_commit_sha:
type: string
base_commit_sha:
type: string
start_commit_sha:
type: string
created_at:
type: string
merge_request_id:
type: string
state:
type: string
real_size:
type: string
patch_id_sha:
type: string
commits:
"$ref": "#/definitions/API_Entities_Commit"
diffs:
"$ref": "#/definitions/API_Entities_Diff"
description: API_Entities_MergeRequestDiffFull model
putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileNameAuthorize:
type: object
properties:
path:
type: string
description: File directory path
status:
type: string
description: Package status
enum:
- default
- hidden
description: Workhorse authorize model package file
putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName:
type: object
properties:
path:
type: string
description: File directory path
status:
type: string
description: Package status
enum:
- default
- hidden
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Workhorse upload model package file
putApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag:
type: object
properties:
package_name:
type: string
description: Package name
required:
- package_name
description: Create or Update the given tag for the given NPM package and version
putApiV4ProjectsIdPackagesNpmPackageName:
type: object
properties:
versions:
type: object
description: Package version info
required:
- versions
description: Create or deprecate NPM package
API_Entities_Nuget_PackagesVersions:
type: object
properties:
versions:
type: array
items:
type: string
example: 1.3.0.17
description: API_Entities_Nuget_PackagesVersions model
putApiV4ProjectsIdPackagesNuget:
type: object
properties:
package:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- package
description: The NuGet V3 Feed Package Publish endpoint
putApiV4ProjectsIdPackagesNugetSymbolpackage:
type: object
properties:
package:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- package
description: The NuGet Symbol Package Publish endpoint
putApiV4ProjectsIdPackagesNugetV2:
type: object
properties:
package:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- package
description: The NuGet V2 Feed Package Publish endpoint
API_Entities_PackageFile:
type: object
properties:
id:
type: integer
format: int32
example: 225
package_id:
type: integer
format: int32
example: 4
created_at:
type: string
format: date-time
example: '2018-11-07T15:25:52.199Z'
file_name:
type: string
example: my-app-1.5-20181107.152550-1.jar
size:
type: integer
format: int32
example: '2421'
file_md5:
type: string
example: 58e6a45a629910c6ff99145a688971ac
file_sha1:
type: string
example: ebd193463d3915d7e22219f52740056dfd26cbfe
file_sha256:
type: string
example: a903393463d3915d7e22219f52740056dfd26cbfeff321b
pipelines:
"$ref": "#/definitions/API_Entities_Package_Pipeline"
description: API_Entities_PackageFile model
patchApiV4ProjectsIdPages:
type: object
properties:
pages_unique_domain_enabled:
type: boolean
description: Whether to use unique domain
pages_https_only:
type: boolean
description: Whether to force HTTPS
pages_primary_domain:
type: string
description: Set pages primary domain
description: Update pages settings
API_Entities_PagesDomain:
type: object
properties:
domain:
type: string
url:
type: string
verified:
type: string
verification_code:
type: string
enabled_until:
type: string
auto_ssl_enabled:
type: string
certificate:
"$ref": "#/definitions/API_Entities_PagesDomainCertificate"
description: API_Entities_PagesDomain model
API_Entities_PagesDomainCertificate:
type: object
properties:
subject:
type: string
expired:
type: string
certificate:
type: string
certificate_text:
type: string
postApiV4ProjectsIdPagesDomains:
type: object
properties:
domain:
type: string
description: The domain
certificate:
type: file
description: The certificate
key:
type: file
description: The key
auto_ssl_enabled:
type: boolean
description: Enables automatic generation of SSL certificates issued by Let's
Encrypt for custom domains.
default: false
user_provided_certificate:
type: string
user_provided_key:
type: string
required:
- domain
description: Create a new pages domain
putApiV4ProjectsIdPagesDomainsDomain:
type: object
properties:
certificate:
type: file
description: The certificate
key:
type: file
description: The key
auto_ssl_enabled:
type: boolean
description: Enables automatic generation of SSL certificates issued by Let's
Encrypt for custom domains.
description: Updates a pages domain
API_Entities_ClusterProject:
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": "#/definitions/API_Entities_UserBasic"
platform_kubernetes:
"$ref": "#/definitions/API_Entities_Platform_Kubernetes"
provider_gcp:
"$ref": "#/definitions/API_Entities_Provider_Gcp"
management_project:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
project:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
description: API_Entities_ClusterProject model
postApiV4ProjectsIdClustersUser:
type: object
properties:
name:
type: string
description: Cluster name
enabled:
type: boolean
description: Determines if cluster is active or not, defaults to true
default: true
domain:
type: string
description: Cluster base domain
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
management_project_id:
type: integer
format: int32
description: The ID of the management project
managed:
type: boolean
description: Determines if GitLab will manage namespaces and service accounts
for this cluster, defaults to true
default: true
platform_kubernetes_attributes:
type: object
description: Platform Kubernetes data
properties:
api_url:
type: string
description: URL to access the Kubernetes API
token:
type: string
description: Token to authenticate against Kubernetes
ca_cert:
type: string
description: TLS certificate (needed if API is using a self-signed TLS
certificate)
namespace:
type: string
description: Unique namespace related to Project
authorization_type:
type: string
description: Cluster authorization type, defaults to RBAC
enum:
- unknown_authorization
- rbac
- abac
default: rbac
required:
- api_url
- token
required:
- name
- platform_kubernetes_attributes
description: Add existing cluster to project
putApiV4ProjectsIdClustersClusterId:
type: object
properties:
name:
type: string
description: Cluster name
domain:
type: string
description: Cluster base domain
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
management_project_id:
type: integer
format: int32
description: The ID of the management project
enabled:
type: boolean
description: Determines if cluster is active or not
managed:
type: boolean
description: Determines if GitLab will manage namespaces and service accounts
for this cluster
platform_kubernetes_attributes:
type: object
description: Platform Kubernetes data
properties:
api_url:
type: string
description: URL to access the Kubernetes API
token:
type: string
description: Token to authenticate against Kubernetes
ca_cert:
type: string
description: TLS certificate (needed if API is using a self-signed TLS
certificate)
namespace:
type: string
description: Unique namespace related to Project
description: Edit project cluster
API_Entities_ContainerRegistry_TagDetails:
type: object
properties:
name:
type: string
example: latest
path:
type: string
example: namespace1/project1/test_image_1:latest
location:
type: string
example: registry.dev/namespace1/project1/test_image_1:latest
revision:
type: string
example: tagrevision
short_revision:
type: string
example: shortrevison
digest:
type: string
example: shadigest
created_at:
type: string
format: date-time
example: '2022-01-10T13:39:08.229Z'
total_size:
type: integer
format: int32
example: 3
description: API_Entities_ContainerRegistry_TagDetails model
API_Entities_Projects_ContainerRegistry_Protection_Rule:
type: object
properties:
id:
type: integer
format: int32
example: 1
project_id:
type: integer
format: int32
example: 1
repository_path_pattern:
type: string
example: flightjs/flight0
minimum_access_level_for_push:
type: string
example: maintainer
minimum_access_level_for_delete:
type: string
example: maintainer
description: API_Entities_Projects_ContainerRegistry_Protection_Rule model
postApiV4ProjectsIdRegistryProtectionRepositoryRules:
type: object
properties:
repository_path_pattern:
type: string
description: |-
Container repository path pattern protected by the protection rule.
For example `flight/flight-*`. Wildcard character `*` allowed.
minimum_access_level_for_push:
type: string
description: |-
Minimum GitLab access level to allow to push container images to the container registry.
For example maintainer, owner or admin.
enum:
- maintainer
- owner
- admin
minimum_access_level_for_delete:
type: string
description: |-
Minimum GitLab access level to allow to delete container images in the container registry.
For example maintainer, owner or admin.
enum:
- maintainer
- owner
- admin
required:
- repository_path_pattern
description: Create a container protection rule for a project
patchApiV4ProjectsIdRegistryProtectionRepositoryRulesProtectionRuleId:
type: object
properties:
repository_path_pattern:
type: string
description: |-
Container repository path pattern protected by the protection rule.
For example `flight/flight-*`. Wildcard character `*` allowed.
minimum_access_level_for_push:
type: string
description: |-
Minimum GitLab access level to allow to push container images to the container registry.
For example maintainer, owner or admin. To unset the value, use an empty string `""`.
enum:
- maintainer
- owner
- admin
- ''
minimum_access_level_for_delete:
type: string
description: |-
Minimum GitLab access level to allow to delete container images in the container registry.
For example maintainer, owner or admin. To unset the value, use an empty string `""`.
enum:
- maintainer
- owner
- admin
- ''
description: Update a container protection rule for a project
postApiV4ProjectsIdDebianDistributions:
type: object
properties:
codename:
type: string
description: The Debian Codename
example: sid
suite:
type: string
description: The Debian Suite
example: unstable
origin:
type: string
description: The Debian Origin
example: Grep
label:
type: string
description: The Debian Label
example: grep.be
version:
type: string
description: The Debian Version
example: '12'
description:
type: string
description: The Debian Description
example: My description
valid_time_duration_seconds:
type: integer
format: int32
description: The duration before the Release file should be considered expired
by the client
example: 604800
components:
type: array
description: The list of Components
example: main
items:
type: string
architectures:
type: array
description: The list of Architectures
example: amd64
items:
type: string
required:
- codename
description: Create a Debian Distribution
putApiV4ProjectsIdDebianDistributionsCodename:
type: object
properties:
suite:
type: string
description: The Debian Suite
example: unstable
origin:
type: string
description: The Debian Origin
example: Grep
label:
type: string
description: The Debian Label
example: grep.be
version:
type: string
description: The Debian Version
example: '12'
description:
type: string
description: The Debian Description
example: My description
valid_time_duration_seconds:
type: integer
format: int32
description: The duration before the Release file should be considered expired
by the client
example: 604800
components:
type: array
description: The list of Components
example: main
items:
type: string
architectures:
type: array
description: The list of Architectures
example: amd64
items:
type: string
description: Update a Debian Distribution
API_Entities_Event:
type: object
properties:
id:
type: integer
format: int32
example: 1
project_id:
type: integer
format: int32
example: 2
action_name:
type: string
example: closed
target_id:
type: integer
format: int32
example: 160
target_iid:
type: integer
format: int32
example: 157
target_type:
type: string
example: Issue
author_id:
type: integer
format: int32
example: 25
target_title:
type: string
example: Public project search field
created_at:
type: string
example: '2017-02-09T10:43:19.667Z'
note:
"$ref": "#/definitions/API_Entities_Note"
author:
"$ref": "#/definitions/API_Entities_UserBasic"
wiki_page:
"$ref": "#/definitions/API_Entities_WikiPageBasic"
imported:
type: boolean
example: false
imported_from:
type: string
example: none
push_data:
"$ref": "#/definitions/API_Entities_PushEventPayload"
author_username:
type: string
example: root
description: API_Entities_Event model
API_Entities_Note:
type: object
properties:
id:
type: string
type:
type: string
body:
type: string
author:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
updated_at:
type: string
system:
type: string
noteable_id:
type: string
noteable_type:
type: string
project_id:
type: string
commit_id:
type: string
position:
type: string
resolvable:
type: string
resolved:
type: string
resolved_by:
"$ref": "#/definitions/API_Entities_UserBasic"
resolved_at:
type: string
suggestions:
"$ref": "#/definitions/API_Entities_Suggestion"
confidential:
type: string
internal:
type: string
imported:
type: string
imported_from:
type: string
example: github
noteable_iid:
type: string
commands_changes:
type: string
API_Entities_Suggestion:
type: object
properties:
id:
type: string
from_line:
type: string
to_line:
type: string
appliable:
type: string
applied:
type: string
from_content:
type: string
to_content:
type: string
description: API_Entities_Suggestion model
API_Entities_PushEventPayload:
type: object
properties:
commit_count:
type: integer
format: int32
example: 1
action:
type: string
example: pushed
ref_type:
type: string
example: branch
commit_from:
type: string
example: 50d4420237a9de7be1304607147aec22e4a14af7
commit_to:
type: string
example: c5feabde2d8cd023215af4d2ceeb7a64839fc428
ref:
type: string
example: master
commit_title:
type: string
example: Add simple search to projects in public area
ref_count:
type: integer
format: int32
example: 1
API_Entities_ProjectExportStatus:
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'
export_status:
type: string
enum:
- queued
- started
- finished
- failed
example: finished
_links:
type: object
properties:
api_url:
type: string
example: https://gitlab.example.com/api/v4/projects/1/export/download
web_url:
type: string
example: https://gitlab.example.com/gitlab-org/gitlab-test/download_export
description: API_Entities_ProjectExportStatus model
postApiV4ProjectsIdExport:
type: object
properties:
description:
type: string
description: Override the project description
upload:
type: object
properties:
url:
type: string
description: The URL to upload the project
http_method:
type: string
description: HTTP method to upload the exported project
enum:
- PUT
- POST
default: PUT
description: Start export
postApiV4ProjectsIdExportRelations:
type: object
properties:
batched:
type: boolean
description: Whether to export in batches
description: Start relations export
putApiV4ProjectsIdHooksHookIdUrlVariablesKey:
type: object
properties:
value:
type: string
description: The value of the variable
required:
- value
description: Set a url variable
putApiV4ProjectsIdHooksHookIdCustomHeadersKey:
type: object
properties:
value:
type: string
description: The value of the custom header
required:
- value
description: Set a custom header
API_Entities_ProjectHook:
type: object
properties:
id:
type: string
example: 1
url:
type: string
example: https://webhook.site
name:
type: string
example: Hook name
description:
type: string
example: Hook description
created_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
push_events:
type: boolean
tag_push_events:
type: boolean
merge_requests_events:
type: boolean
repository_update_events:
type: boolean
enable_ssl_verification:
type: boolean
alert_status:
type: symbol
example: executable
disabled_until:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
url_variables:
type: array
items:
type: object
example:
token: secr3t
push_events_branch_filter:
type: string
example: my-branch-*
branch_filter_strategy:
type: string
example: wildcard
custom_webhook_template:
type: string
example: '{"event":"{{object_kind}}"}'
custom_headers:
type: array
items:
type: object
example:
X-Custom-Header: value
project_id:
type: string
example: 1
issues_events:
type: boolean
confidential_issues_events:
type: boolean
note_events:
type: boolean
confidential_note_events:
type: boolean
pipeline_events:
type: boolean
wiki_page_events:
type: boolean
deployment_events:
type: boolean
feature_flag_events:
type: boolean
job_events:
type: boolean
releases_events:
type: boolean
milestone_events:
type: boolean
emoji_events:
type: boolean
resource_access_token_events:
type: boolean
vulnerability_events:
type: boolean
description: API_Entities_ProjectHook model
putApiV4ProjectsIdHooksHookId:
type: object
properties:
url:
type: string
description: The URL to send the request to
name:
type: string
description: Name of the hook
description:
type: string
description: Description of the hook
push_events:
type: boolean
description: Trigger hook on push events
issues_events:
type: boolean
description: Trigger hook on issues events
confidential_issues_events:
type: boolean
description: Trigger hook on confidential issues events
merge_requests_events:
type: boolean
description: Trigger hook on merge request events
tag_push_events:
type: boolean
description: Trigger hook on tag push events
note_events:
type: boolean
description: Trigger hook on note (comment) events
confidential_note_events:
type: boolean
description: Trigger hook on confidential note (comment) events
job_events:
type: boolean
description: Trigger hook on job events
pipeline_events:
type: boolean
description: Trigger hook on pipeline events
wiki_page_events:
type: boolean
description: Trigger hook on wiki events
deployment_events:
type: boolean
description: Trigger hook on deployment events
feature_flag_events:
type: boolean
description: Trigger hook on feature flag events
releases_events:
type: boolean
description: Trigger hook on release events
milestone_events:
type: boolean
description: Trigger hook on milestone events
emoji_events:
type: boolean
description: Trigger hook on emoji events
resource_access_token_events:
type: boolean
description: Trigger hook on project access token expiry events
enable_ssl_verification:
type: boolean
description: Do SSL verification when triggering the hook
token:
type: string
description: Secret token to validate received payloads; this will not be
returned in the response
push_events_branch_filter:
type: string
description: Trigger hook on specified branch only
custom_webhook_template:
type: string
description: Custom template for the request payload
branch_filter_strategy:
type: string
description: Filter push events by branch. Possible values are `wildcard`
(default), `regex`, and `all_branches`
enum:
- wildcard
- regex
- all_branches
vulnerability_events:
type: boolean
description: Trigger hook on vulnerability events
url_variables:
type: array
description: URL variables for interpolation
items:
type: object
properties:
key:
type: string
description: Name of the variable
example: token
value:
type: string
description: Value of the variable
example: '123'
required:
- key
- value
custom_headers:
type: array
description: Custom headers
items:
type: object
properties:
key:
type: string
description: Name of the header
example: X-Custom-Header
value:
type: string
description: Value of the header
example: value
required:
- key
- value
description: Edit project hook
postApiV4ProjectsIdHooks:
type: object
properties:
url:
type: string
description: The URL to send the request to
example: http://example.com/hook
name:
type: string
description: Name of the hook
description:
type: string
description: Description of the hook
push_events:
type: boolean
description: Trigger hook on push events
issues_events:
type: boolean
description: Trigger hook on issues events
confidential_issues_events:
type: boolean
description: Trigger hook on confidential issues events
merge_requests_events:
type: boolean
description: Trigger hook on merge request events
tag_push_events:
type: boolean
description: Trigger hook on tag push events
note_events:
type: boolean
description: Trigger hook on note (comment) events
confidential_note_events:
type: boolean
description: Trigger hook on confidential note (comment) events
job_events:
type: boolean
description: Trigger hook on job events
pipeline_events:
type: boolean
description: Trigger hook on pipeline events
wiki_page_events:
type: boolean
description: Trigger hook on wiki events
deployment_events:
type: boolean
description: Trigger hook on deployment events
feature_flag_events:
type: boolean
description: Trigger hook on feature flag events
releases_events:
type: boolean
description: Trigger hook on release events
milestone_events:
type: boolean
description: Trigger hook on milestone events
emoji_events:
type: boolean
description: Trigger hook on emoji events
resource_access_token_events:
type: boolean
description: Trigger hook on project access token expiry events
enable_ssl_verification:
type: boolean
description: Do SSL verification when triggering the hook
token:
type: string
description: Secret token to validate received payloads; this will not be
returned in the response
push_events_branch_filter:
type: string
description: Trigger hook on specified branch only
custom_webhook_template:
type: string
description: Custom template for the request payload
branch_filter_strategy:
type: string
description: Filter push events by branch. Possible values are `wildcard`
(default), `regex`, and `all_branches`
enum:
- wildcard
- regex
- all_branches
vulnerability_events:
type: boolean
description: Trigger hook on vulnerability events
url_variables:
type: array
description: URL variables for interpolation
items:
type: object
properties:
key:
type: string
description: Name of the variable
example: token
value:
type: string
description: Value of the variable
example: '123'
required:
- key
- value
custom_headers:
type: array
description: Custom headers
items:
type: object
properties:
key:
type: string
description: Name of the header
example: X-Custom-Header
value:
type: string
description: Value of the header
example: value
required:
- key
- value
required:
- url
description: Add project hook
API_Entities_ProjectImportStatus:
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'
import_status:
type: string
example: scheduled
import_type:
type: string
example: gitlab_project
correlation_id:
type: string
example: dfcf583058ed4508e4c7c617bd7f0edd
failed_relations:
type: array
items:
"$ref": "#/definitions/API_Entities_ProjectImportFailedRelation"
import_error:
type: string
example: Error message
stats:
type: object
description: API_Entities_ProjectImportStatus model
API_Entities_ProjectImportFailedRelation:
type: object
properties:
id:
type: string
example: 1
created_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
exception_class:
type: string
example: StandardError
source:
type: string
example: ImportRepositoryWorker
exception_message:
type: string
relation_name:
type: string
example: issues
line_number:
type: integer
format: int32
example: 1
API_Entities_RelationImportTracker:
type: object
properties:
id:
type: integer
format: int32
example: 1
project_path:
type: string
example: namespace1/project1
relation:
type: string
example: issues
status:
type: string
example: pending
created_at:
type: string
format: date-time
example: '2022-01-31T15:10:45.080Z'
updated_at:
type: string
format: date-time
example: '2022-01-31T15:10:45.080Z'
description: API_Entities_RelationImportTracker model
API_Entities_ProjectJobTokenScope:
type: object
properties:
inbound_enabled:
type: boolean
outbound_enabled:
type: boolean
description: API_Entities_ProjectJobTokenScope model
patchApiV4ProjectsIdJobTokenScope:
type: object
properties:
enabled:
type: boolean
description: Indicates CI/CD job tokens generated in other projects have restricted
access to this project.
required:
- enabled
description: Patch CI_JOB_TOKEN access settings.
postApiV4ProjectsIdJobTokenScopeAllowlist:
type: object
properties:
target_project_id:
type: integer
format: int32
description: ID of target project
example: 2
required:
- target_project_id
description: Add target project to allowlist.
postApiV4ProjectsIdJobTokenScopeGroupsAllowlist:
type: object
properties:
target_group_id:
type: integer
format: int32
description: ID of target group
example: 2
required:
- target_group_id
description: Add target group to allowlist.
API_Entities_Projects_Packages_Protection_Rule:
type: object
properties:
id:
type: integer
format: int32
example: 1
project_id:
type: integer
format: int32
example: 1
package_name_pattern:
type: string
example: flightjs/flight
package_type:
type: string
example: npm
minimum_access_level_for_delete:
type: string
example: owner
minimum_access_level_for_push:
type: string
example: maintainer
description: API_Entities_Projects_Packages_Protection_Rule model
postApiV4ProjectsIdPackagesProtectionRules:
type: object
properties:
package_name_pattern:
type: string
description: |-
Package name protected by the rule. For example @my-scope/my-package-*.
Wildcard character * allowed.
package_type:
type: string
description: Package type protected by the rule. For example npm.
enum:
- conan
- generic
- helm
- maven
- npm
- nuget
- pypi
minimum_access_level_for_delete:
type: string
description: Minimum GitLab access level required to delete a package. Valid
values include `null`, `owner` or `admin`. If the value is `null`, the default
minimum access level is `maintainer`. Must be provided when `minimum_access_level_for_push`
is not set. Behind a feature flag named `packages_protected_packages_delete`.
Disabled by default.
enum:
- owner
- admin
minimum_access_level_for_push:
type: string
description: Minimum GitLab access level required to push a package. Valid
values include `null`, `maintainer`, `owner` or `admin`. If the value is
`null`, the default minimum access level is `developer`. Must be provided
when `minimum_access_level_for_delete` is not set.
enum:
- maintainer
- owner
- admin
required:
- package_name_pattern
- package_type
description: Create a package protection rule for a project
patchApiV4ProjectsIdPackagesProtectionRulesPackageProtectionRuleId:
type: object
properties:
package_name_pattern:
type: string
description: |-
Package name protected by the rule. For example @my-scope/my-package-*.
Wildcard character * allowed.
package_type:
type: string
description: Package type protected by the rule. For example npm.
enum:
- conan
- generic
- helm
- maven
- npm
- nuget
- pypi
minimum_access_level_for_delete:
type: string
description: Minimum GitLab access level required to delete a package. Valid
values include `null`, `owner` or `admin`. If the value is `null`, the default
minimum access level is `maintainer`. Must be provided when `minimum_access_level_for_push`
is not set. Behind a feature flag named `packages_protected_packages_delete`.
Disabled by default.
enum:
- owner
- admin
minimum_access_level_for_push:
type: string
description: Minimum GitLab access level required to push a package. Valid
values include `null`, `maintainer`, `owner` or `admin`. If the value is
`null`, the default minimum access level is `developer`. Must be provided
when `minimum_access_level_for_delete` is not set.
enum:
- maintainer
- owner
- admin
description: Update a package protection rule for a project
API_Entities_ProjectSnippet:
type: object
properties:
id:
type: integer
format: int32
example: 1
title:
type: string
example: test
description:
type: string
example: Ruby test snippet
visibility:
type: string
example: public
author:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2012-06-28T10:52:04Z'
updated_at:
type: string
format: date-time
example: '2012-06-28T10:52:04Z'
project_id:
type: integer
format: int32
example: 1
web_url:
type: string
example: http://example.com/example/example/snippets/1
raw_url:
type: string
example: http://example.com/example/example/snippets/1/raw
ssh_url_to_repo:
type: string
example: ssh://user@gitlab.example.com/snippets/65.git
http_url_to_repo:
type: string
example: https://gitlab.example.com/snippets/65.git
file_name:
type: string
example: add.rb
files:
type: array
items:
type: string
example: e0d123e5f316bef78bfdf5a008837577
imported:
type: boolean
example: false
imported_from:
type: string
example: none
repository_storage:
type: string
description: API_Entities_ProjectSnippet model
postApiV4ProjectsIdSnippets:
type: object
properties:
title:
type: string
description: The title of the snippet
description:
type: string
description: The description of a snippet
visibility:
type: string
description: The visibility of the snippet
enum:
- private
- internal
- public
files:
type: array
description: An array of files
items:
type: object
properties:
file_path:
type: string
description: The path of a snippet file
content:
type: string
description: The content of a snippet file
required:
- file_path
- content
content:
type: string
description: The content of a snippet
file_name:
type: string
description: The name of a snippet file
required:
- title
- visibility
- file_name
description: Create a new project snippet
putApiV4ProjectsIdSnippetsSnippetId:
type: object
properties:
content:
type: string
description: The content of the snippet
description:
type: string
description: The description of a snippet
file_name:
type: string
description: The file name of the snippet
title:
type: string
description: The title of the snippet
visibility:
type: string
description: The visibility of the snippet
enum:
- private
- internal
- public
files:
type: array
description: An array of files to update
items:
type: object
properties:
action:
type: string
description: 'The type of action to perform on the file, must be one
of: create, update, delete, move'
enum:
- create
- update
- delete
- move
content:
type: string
description: The content of a snippet
file_path:
type: string
description: The file path of a snippet file
previous_path:
type: string
description: The previous path of a snippet file
required:
- action
description: Update an existing project snippet
API_Entities_UserAgentDetail:
type: object
properties:
user_agent:
type: string
example: AppleWebKit/537.36
ip_address:
type: string
example: 127.0.0.1
akismet_submitted:
type: boolean
example: false
description: API_Entities_UserAgentDetail model
API_Entities_ProjectDailyStatistics:
type: object
properties:
fetches:
type: object
properties:
total:
type: integer
format: int32
example: 3
days:
type: array
items:
"$ref": "#/definitions/API_Entities_ProjectDailyFetches"
description: API_Entities_ProjectDailyStatistics model
API_Entities_ProjectDailyFetches:
type: object
properties:
count:
type: integer
format: int32
example: 3
date:
type: string
format: date
example: '2022-01-01'
API_Entities_TemplatesList:
type: object
properties:
key:
type: string
example: mit
name:
type: string
example: MIT License
description: API_Entities_TemplatesList model
API_Entities_License:
type: object
properties:
key:
type: string
example: gpl-3.0
name:
type: string
example: GNU General Public License v3.0
nickname:
type: string
example: GNU GPLv3
html_url:
type: string
example: http://choosealicense.com/licenses/gpl-3.0
source_url:
type: string
popular:
type: boolean
description:
type: string
example: A simple license
conditions:
type: array
items:
type: string
example: include-copyright
permissions:
type: array
items:
type: string
example: commercial-use
limitations:
type: array
items:
type: string
example: liability
content:
type: string
example: GNU GENERAL PUBLIC LICENSE
description: API_Entities_License model
putApiV4ProjectsIdCustomAttributesKey:
type: object
properties:
value:
type: string
description: The value of the custom attribute
required:
- value
description: Set a custom attribute on a project
postApiV4Projects:
type: object
properties:
name:
type: string
description: The name of the project
example: New Project
path:
type: string
description: The path of the repository
example: new_project
default_branch:
type: string
description: The default branch of the project
example: main
description:
type: string
description: The description of the project
build_git_strategy:
type: string
description: The Git strategy. Defaults to `fetch`
enum:
- fetch
- clone
build_timeout:
type: integer
format: int32
description: Build timeout
auto_cancel_pending_pipelines:
type: string
description: Auto-cancel pending pipelines
enum:
- disabled
- enabled
ci_config_path:
type: string
description: The path to CI config file. Defaults to `.gitlab-ci.yml`
service_desk_enabled:
type: boolean
description: Disable or enable the service desk
issues_enabled:
type: boolean
description: Flag indication if the issue tracker is enabled
merge_requests_enabled:
type: boolean
description: Flag indication if merge requests are enabled
wiki_enabled:
type: boolean
description: Flag indication if the wiki is enabled
jobs_enabled:
type: boolean
description: Flag indication if jobs are enabled
snippets_enabled:
type: boolean
description: Flag indication if snippets are enabled
issues_access_level:
type: string
description: Issues access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
repository_access_level:
type: string
description: Repository access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
merge_requests_access_level:
type: string
description: Merge requests access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
forking_access_level:
type: string
description: Forks access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
wiki_access_level:
type: string
description: Wiki access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
builds_access_level:
type: string
description: Builds access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
snippets_access_level:
type: string
description: Snippets access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
pages_access_level:
type: string
description: Pages access level. One of `disabled`, `private`, `enabled` or
`public`
enum:
- disabled
- private
- enabled
- public
analytics_access_level:
type: string
description: Analytics access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
container_registry_access_level:
type: string
description: Controls visibility of the container registry. One of `disabled`,
`private` or `enabled`. `private` will make the container registry accessible
only to project members (reporter role and above). `enabled` will make the
container registry accessible to everyone who has access to the project.
`disabled` will disable the container registry
enum:
- disabled
- private
- enabled
security_and_compliance_access_level:
type: string
description: Security and compliance access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
releases_access_level:
type: string
description: Releases access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
environments_access_level:
type: string
description: Environments access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
feature_flags_access_level:
type: string
description: Feature flags access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
infrastructure_access_level:
type: string
description: Infrastructure access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
monitor_access_level:
type: string
description: Monitor access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
model_experiments_access_level:
type: string
description: Model experiments access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
model_registry_access_level:
type: string
description: Model registry access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
emails_disabled:
type: boolean
description: 'Deprecated: Use emails_enabled instead.'
emails_enabled:
type: boolean
description: Enable email notifications
show_default_award_emojis:
type: boolean
description: Show default award emojis
show_diff_preview_in_email:
type: boolean
description: Include the code diff preview in merge request notification emails
warn_about_potentially_unwanted_characters:
type: boolean
description: Warn about potentially unwanted characters
enforce_auth_checks_on_uploads:
type: boolean
description: Enforce auth check on uploads
shared_runners_enabled:
type: boolean
description: Flag indication if shared runners are enabled for that project
group_runners_enabled:
type: boolean
description: Flag indication if group runners are enabled for that project
resolve_outdated_diff_discussions:
type: boolean
description: Automatically resolve merge request diff threads on lines changed
with a push
remove_source_branch_after_merge:
type: boolean
description: Remove the source branch by default after merge
container_registry_enabled:
type: boolean
description: 'Deprecated: Use :container_registry_access_level instead. Flag
indication if the container registry is enabled for that project'
container_expiration_policy_attributes:
type: object
properties:
cadence:
type: string
description: Container expiration policy cadence for recurring job
keep_n:
type: integer
format: int32
description: Container expiration policy number of images to keep
older_than:
type: string
description: Container expiration policy remove images older than value
name_regex:
type: string
description: Container expiration policy regex for image removal
name_regex_keep:
type: string
description: Container expiration policy regex for image retention
enabled:
type: boolean
description: Flag indication if container expiration policy is enabled
lfs_enabled:
type: boolean
description: Flag indication if Git LFS is enabled for that project
visibility:
type: string
description: The visibility of the project.
enum:
- private
- internal
- public
public_builds:
type: boolean
description: 'Deprecated: Use public_jobs instead.'
public_jobs:
type: boolean
description: Perform public builds
request_access_enabled:
type: boolean
description: Allow users to request member access
only_allow_merge_if_pipeline_succeeds:
type: boolean
description: Only allow to merge if builds succeed
allow_merge_on_skipped_pipeline:
type: boolean
description: Allow to merge if pipeline is skipped
only_allow_merge_if_all_discussions_are_resolved:
type: boolean
description: Only allow to merge if all threads are resolved
tag_list:
type: array
description: 'Deprecated: Use :topics instead'
items:
type: string
topics:
type: array
description: The list of topics for a project
items:
type: string
avatar:
type: file
description: Avatar image for project
printing_merge_request_link_enabled:
type: boolean
description: Show link to create/view merge request when pushing from the
command line
merge_method:
type: string
description: The merge method used when merging merge requests
enum:
- ff
- rebase_merge
- merge
suggestion_commit_message:
type: string
description: The commit message used to apply merge request suggestions
merge_commit_template:
type: string
description: Template used to create merge commit message
squash_commit_template:
type: string
description: Template used to create squash commit message
issue_branch_template:
type: string
description: Template used to create a branch from an issue
auto_devops_enabled:
type: boolean
description: Flag indication if Auto DevOps is enabled
auto_devops_deploy_strategy:
type: string
description: Auto Deploy strategy
enum:
- continuous
- manual
- timed_incremental
autoclose_referenced_issues:
type: boolean
description: Flag indication if referenced issues auto-closing is enabled
repository_storage:
type: string
description: Which storage shard the repository is on. Available only to admins
packages_enabled:
type: boolean
description: Enable project packages feature
squash_option:
type: string
description: Squash default for project. One of `never`, `always`, `default_on`,
or `default_off`.
enum:
- never
- always
- default_on
- default_off
mr_default_target_self:
type: boolean
description: Merge requests of this forked project targets itself by default
merge_request_title_regex:
type: string
description: The regex the Merge Request must adhere to
merge_request_title_regex_description:
type: string
description: The description for the regex the Merge Request must adhere to
only_allow_merge_if_all_status_checks_passed:
type: boolean
description: Blocks merge requests from merging unless all status checks have
passed
approvals_before_merge:
type: integer
format: int32
description: How many approvers should approve merge request by default
mirror:
type: boolean
description: "[Deprecated] Enables pull mirroring in a project"
mirror_trigger_builds:
type: boolean
description: "[Deprecated] Pull mirroring triggers builds"
external_authorization_classification_label:
type: string
description: The classification label for the project
requirements_access_level:
type: string
description: Requirements feature access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
prevent_merge_without_jira_issue:
type: boolean
description: Require an associated issue from Jira
auto_duo_code_review_enabled:
type: boolean
description: Enable automatic reviews by GitLab Duo on merge requests
repository_object_format:
type: string
description: The object format of the project repository
enum:
- sha1
- sha256
initialize_with_readme:
type: boolean
description: Initialize a project with a README.md
use_custom_template:
type: boolean
description: Use custom template
group_with_project_templates_id:
type: integer
format: int32
description: Group ID that serves as the template source
namespace_id:
type: integer
format: int32
description: Namespace ID for the new project. Default to the user namespace.
import_url:
type: string
description: URL from which the project is imported
template_name:
type: string
description: Name of template from which to create project
template_project_id:
type: integer
format: int32
description: Project ID of template from which to create project
description: Create new project
postApiV4ProjectsUserUserId:
type: object
properties:
name:
type: string
description: The name of the project
example: New Project
path:
type: string
description: The path of the repository
example: new_project
default_branch:
type: string
description: The default branch of the project
example: main
description:
type: string
description: The description of the project
build_git_strategy:
type: string
description: The Git strategy. Defaults to `fetch`
enum:
- fetch
- clone
build_timeout:
type: integer
format: int32
description: Build timeout
auto_cancel_pending_pipelines:
type: string
description: Auto-cancel pending pipelines
enum:
- disabled
- enabled
ci_config_path:
type: string
description: The path to CI config file. Defaults to `.gitlab-ci.yml`
service_desk_enabled:
type: boolean
description: Disable or enable the service desk
issues_enabled:
type: boolean
description: Flag indication if the issue tracker is enabled
merge_requests_enabled:
type: boolean
description: Flag indication if merge requests are enabled
wiki_enabled:
type: boolean
description: Flag indication if the wiki is enabled
jobs_enabled:
type: boolean
description: Flag indication if jobs are enabled
snippets_enabled:
type: boolean
description: Flag indication if snippets are enabled
issues_access_level:
type: string
description: Issues access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
repository_access_level:
type: string
description: Repository access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
merge_requests_access_level:
type: string
description: Merge requests access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
forking_access_level:
type: string
description: Forks access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
wiki_access_level:
type: string
description: Wiki access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
builds_access_level:
type: string
description: Builds access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
snippets_access_level:
type: string
description: Snippets access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
pages_access_level:
type: string
description: Pages access level. One of `disabled`, `private`, `enabled` or
`public`
enum:
- disabled
- private
- enabled
- public
analytics_access_level:
type: string
description: Analytics access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
container_registry_access_level:
type: string
description: Controls visibility of the container registry. One of `disabled`,
`private` or `enabled`. `private` will make the container registry accessible
only to project members (reporter role and above). `enabled` will make the
container registry accessible to everyone who has access to the project.
`disabled` will disable the container registry
enum:
- disabled
- private
- enabled
security_and_compliance_access_level:
type: string
description: Security and compliance access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
releases_access_level:
type: string
description: Releases access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
environments_access_level:
type: string
description: Environments access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
feature_flags_access_level:
type: string
description: Feature flags access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
infrastructure_access_level:
type: string
description: Infrastructure access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
monitor_access_level:
type: string
description: Monitor access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
model_experiments_access_level:
type: string
description: Model experiments access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
model_registry_access_level:
type: string
description: Model registry access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
emails_disabled:
type: boolean
description: 'Deprecated: Use emails_enabled instead.'
emails_enabled:
type: boolean
description: Enable email notifications
show_default_award_emojis:
type: boolean
description: Show default award emojis
show_diff_preview_in_email:
type: boolean
description: Include the code diff preview in merge request notification emails
warn_about_potentially_unwanted_characters:
type: boolean
description: Warn about potentially unwanted characters
enforce_auth_checks_on_uploads:
type: boolean
description: Enforce auth check on uploads
shared_runners_enabled:
type: boolean
description: Flag indication if shared runners are enabled for that project
group_runners_enabled:
type: boolean
description: Flag indication if group runners are enabled for that project
resolve_outdated_diff_discussions:
type: boolean
description: Automatically resolve merge request diff threads on lines changed
with a push
remove_source_branch_after_merge:
type: boolean
description: Remove the source branch by default after merge
container_registry_enabled:
type: boolean
description: 'Deprecated: Use :container_registry_access_level instead. Flag
indication if the container registry is enabled for that project'
container_expiration_policy_attributes:
type: object
properties:
cadence:
type: string
description: Container expiration policy cadence for recurring job
keep_n:
type: integer
format: int32
description: Container expiration policy number of images to keep
older_than:
type: string
description: Container expiration policy remove images older than value
name_regex:
type: string
description: Container expiration policy regex for image removal
name_regex_keep:
type: string
description: Container expiration policy regex for image retention
enabled:
type: boolean
description: Flag indication if container expiration policy is enabled
lfs_enabled:
type: boolean
description: Flag indication if Git LFS is enabled for that project
visibility:
type: string
description: The visibility of the project.
enum:
- private
- internal
- public
public_builds:
type: boolean
description: 'Deprecated: Use public_jobs instead.'
public_jobs:
type: boolean
description: Perform public builds
request_access_enabled:
type: boolean
description: Allow users to request member access
only_allow_merge_if_pipeline_succeeds:
type: boolean
description: Only allow to merge if builds succeed
allow_merge_on_skipped_pipeline:
type: boolean
description: Allow to merge if pipeline is skipped
only_allow_merge_if_all_discussions_are_resolved:
type: boolean
description: Only allow to merge if all threads are resolved
tag_list:
type: array
description: 'Deprecated: Use :topics instead'
items:
type: string
topics:
type: array
description: The list of topics for a project
items:
type: string
avatar:
type: file
description: Avatar image for project
printing_merge_request_link_enabled:
type: boolean
description: Show link to create/view merge request when pushing from the
command line
merge_method:
type: string
description: The merge method used when merging merge requests
enum:
- ff
- rebase_merge
- merge
suggestion_commit_message:
type: string
description: The commit message used to apply merge request suggestions
merge_commit_template:
type: string
description: Template used to create merge commit message
squash_commit_template:
type: string
description: Template used to create squash commit message
issue_branch_template:
type: string
description: Template used to create a branch from an issue
auto_devops_enabled:
type: boolean
description: Flag indication if Auto DevOps is enabled
auto_devops_deploy_strategy:
type: string
description: Auto Deploy strategy
enum:
- continuous
- manual
- timed_incremental
autoclose_referenced_issues:
type: boolean
description: Flag indication if referenced issues auto-closing is enabled
repository_storage:
type: string
description: Which storage shard the repository is on. Available only to admins
packages_enabled:
type: boolean
description: Enable project packages feature
squash_option:
type: string
description: Squash default for project. One of `never`, `always`, `default_on`,
or `default_off`.
enum:
- never
- always
- default_on
- default_off
mr_default_target_self:
type: boolean
description: Merge requests of this forked project targets itself by default
merge_request_title_regex:
type: string
description: The regex the Merge Request must adhere to
merge_request_title_regex_description:
type: string
description: The description for the regex the Merge Request must adhere to
only_allow_merge_if_all_status_checks_passed:
type: boolean
description: Blocks merge requests from merging unless all status checks have
passed
approvals_before_merge:
type: integer
format: int32
description: How many approvers should approve merge request by default
mirror:
type: boolean
description: "[Deprecated] Enables pull mirroring in a project"
mirror_trigger_builds:
type: boolean
description: "[Deprecated] Pull mirroring triggers builds"
external_authorization_classification_label:
type: string
description: The classification label for the project
requirements_access_level:
type: string
description: Requirements feature access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
prevent_merge_without_jira_issue:
type: boolean
description: Require an associated issue from Jira
auto_duo_code_review_enabled:
type: boolean
description: Enable automatic reviews by GitLab Duo on merge requests
repository_object_format:
type: string
description: The object format of the project repository
enum:
- sha1
- sha256
initialize_with_readme:
type: boolean
description: Initialize a project with a README.md
use_custom_template:
type: boolean
description: Use custom template
group_with_project_templates_id:
type: integer
format: int32
description: Group ID that serves as the template source
namespace_id:
type: integer
format: int32
description: Namespace ID for the new project. Default to the user namespace.
import_url:
type: string
description: URL from which the project is imported
template_name:
type: string
description: Name of template from which to create project
template_project_id:
type: integer
format: int32
description: Project ID of template from which to create project
required:
- name
description: Create new project for a specified user. Only available to admin
users.
API_Entities_ProjectWithAccess:
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'
default_branch:
type: string
example: main
tag_list:
type: array
items:
type: string
example: tag
topics:
type: array
items:
type: string
example: topic
ssh_url_to_repo:
type: string
example: git@gitlab.example.com:gitlab/gitlab.git
http_url_to_repo:
type: string
example: https://gitlab.example.com/gitlab/gitlab.git
web_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab
readme_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab/blob/master/README.md
forks_count:
type: integer
format: int32
example: 1
license_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab/blob/master/LICENCE
license:
"$ref": "#/definitions/API_Entities_LicenseBasic"
avatar_url:
type: string
example: http://example.com/uploads/project/avatar/3/uploads/avatar.png
star_count:
type: integer
format: int32
example: 1
last_activity_at:
type: string
format: date-time
example: '2013-09-30T13:46:02Z'
namespace:
"$ref": "#/definitions/API_Entities_NamespaceBasic"
custom_attributes:
"$ref": "#/definitions/API_Entities_CustomAttribute"
repository_storage:
type: string
example: default
forked_from_project:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
container_registry_image_prefix:
type: string
example: registry.gitlab.example.com/gitlab/gitlab-client
_links:
type: object
properties:
self:
type: string
example: https://gitlab.example.com/api/v4/projects/4
issues:
type: string
example: https://gitlab.example.com/api/v4/projects/4/issues
merge_requests:
type: string
example: https://gitlab.example.com/api/v4/projects/4/merge_requests
repo_branches:
type: string
example: https://gitlab.example.com/api/v4/projects/4/repository/branches
labels:
type: string
example: https://gitlab.example.com/api/v4/projects/4/labels
events:
type: string
example: https://gitlab.example.com/api/v4/projects/4/events
members:
type: string
example: https://gitlab.example.com/api/v4/projects/4/members
cluster_agents:
type: string
example: https://gitlab.example.com/api/v4/projects/4/cluster_agents
marked_for_deletion_at:
type: string
marked_for_deletion_on:
type: string
packages_enabled:
type: boolean
empty_repo:
type: boolean
archived:
type: boolean
visibility:
type: string
example: public
owner:
"$ref": "#/definitions/API_Entities_UserBasic"
resolve_outdated_diff_discussions:
type: boolean
container_expiration_policy:
"$ref": "#/definitions/API_Entities_ContainerExpirationPolicy"
repository_object_format:
type: string
example: sha1
issues_enabled:
type: boolean
merge_requests_enabled:
type: boolean
wiki_enabled:
type: boolean
jobs_enabled:
type: boolean
snippets_enabled:
type: boolean
container_registry_enabled:
type: boolean
service_desk_enabled:
type: boolean
service_desk_address:
type: string
example: address@example.com
can_create_merge_request_in:
type: boolean
issues_access_level:
type: string
example: enabled
repository_access_level:
type: string
example: enabled
merge_requests_access_level:
type: string
example: enabled
forking_access_level:
type: string
example: enabled
wiki_access_level:
type: string
example: enabled
builds_access_level:
type: string
example: enabled
snippets_access_level:
type: string
example: enabled
pages_access_level:
type: string
example: enabled
analytics_access_level:
type: string
example: enabled
container_registry_access_level:
type: string
example: enabled
security_and_compliance_access_level:
type: string
example: enabled
releases_access_level:
type: string
example: enabled
environments_access_level:
type: string
example: enabled
feature_flags_access_level:
type: string
example: enabled
infrastructure_access_level:
type: string
example: enabled
monitor_access_level:
type: string
example: enabled
model_experiments_access_level:
type: string
example: enabled
model_registry_access_level:
type: string
example: enabled
emails_disabled:
type: boolean
emails_enabled:
type: boolean
shared_runners_enabled:
type: boolean
lfs_enabled:
type: boolean
creator_id:
type: integer
format: int32
example: 1
mr_default_target_self:
type: boolean
import_url:
type: string
example: https://gitlab.com/gitlab/gitlab.git
import_type:
type: string
example: git
import_status:
type: string
example: none
import_error:
type: string
example: Import error
open_issues_count:
type: integer
format: int32
example: 1
description_html:
type: string
updated_at:
type: string
format: date-time
example: '2020-05-07T04:27:17.016Z'
ci_default_git_depth:
type: integer
format: int32
example: 20
ci_delete_pipelines_in_seconds:
type: integer
format: int32
example: 86400
ci_forward_deployment_enabled:
type: boolean
ci_forward_deployment_rollback_allowed:
type: boolean
ci_job_token_scope_enabled:
type: boolean
ci_separated_caches:
type: boolean
ci_allow_fork_pipelines_to_run_in_parent_project:
type: boolean
ci_id_token_sub_claim_components:
type: array
items:
type: string
build_git_strategy:
type: string
example: fetch
keep_latest_artifact:
type: boolean
restrict_user_defined_variables:
type: boolean
ci_pipeline_variables_minimum_override_role:
type: string
runner_token_expiration_interval:
type: integer
format: int32
example: 3600
group_runners_enabled:
type: boolean
auto_cancel_pending_pipelines:
type: string
example: enabled
build_timeout:
type: integer
format: int32
example: 3600
auto_devops_enabled:
type: boolean
auto_devops_deploy_strategy:
type: string
example: continuous
ci_push_repository_for_job_token_allowed:
type: boolean
runners_token:
type: string
example: b8547b1dc37721d05889db52fa2f02
ci_config_path:
type: string
example: ''
public_jobs:
type: boolean
shared_with_groups:
type: array
items:
type: string
only_allow_merge_if_pipeline_succeeds:
type: boolean
allow_merge_on_skipped_pipeline:
type: boolean
request_access_enabled:
type: boolean
only_allow_merge_if_all_discussions_are_resolved:
type: boolean
remove_source_branch_after_merge:
type: boolean
printing_merge_request_link_enabled:
type: boolean
merge_method:
type: string
example: merge
merge_request_title_regex:
type: string
example: "/Title of merge request/"
merge_request_title_regex_description:
type: string
example: This requires the title to include a Jira label
squash_option:
type: string
example: default_off
enforce_auth_checks_on_uploads:
type: boolean
suggestion_commit_message:
type: string
example: Suggestion message
merge_commit_template:
type: string
example: "%(title)"
squash_commit_template:
type: string
example: "%(source_branch)"
issue_branch_template:
type: string
example: "%(title)"
statistics:
"$ref": "#/definitions/API_Entities_ProjectStatistics"
warn_about_potentially_unwanted_characters:
type: boolean
autoclose_referenced_issues:
type: boolean
max_artifacts_size:
type: integer
format: int32
approvals_before_merge:
type: string
mirror:
type: string
mirror_user_id:
type: string
mirror_trigger_builds:
type: string
only_mirror_protected_branches:
type: string
mirror_overwrites_diverged_branches:
type: string
external_authorization_classification_label:
type: string
requirements_enabled:
type: string
requirements_access_level:
type: string
security_and_compliance_enabled:
type: string
secret_push_protection_enabled:
type: boolean
pre_receive_secret_detection_enabled:
type: boolean
compliance_frameworks:
type: string
issues_template:
type: string
merge_requests_template:
type: string
ci_restrict_pipeline_cancellation_role:
type: string
merge_pipelines_enabled:
type: string
merge_trains_enabled:
type: string
merge_trains_skip_train_allowed:
type: string
only_allow_merge_if_all_status_checks_passed:
type: string
allow_pipeline_trigger_approve_deployment:
type: boolean
prevent_merge_without_jira_issue:
type: string
auto_duo_code_review_enabled:
type: string
web_based_commit_signing_enabled:
type: string
permissions:
type: object
properties:
project_access:
"$ref": "#/definitions/API_Entities_ProjectAccess"
group_access:
"$ref": "#/definitions/API_Entities_GroupAccess"
description: API_Entities_ProjectWithAccess model
API_Entities_ProjectAccess:
type: object
properties:
access_level:
type: string
notification_level:
type: string
API_Entities_GroupAccess:
type: object
properties:
access_level:
type: string
notification_level:
type: string
postApiV4ProjectsIdFork:
type: object
properties:
namespace:
type: string
description: "(deprecated) The ID or name of the namespace that the project
will be forked into"
example: gitlab
namespace_id:
type: integer
format: int32
description: The ID of the namespace that the project will be forked into
example: 1
namespace_path:
type: string
description: The path of the namespace that the project will be forked into
example: new_path/gitlab
path:
type: string
description: The path that will be assigned to the fork
example: fork
name:
type: string
description: The name that will be assigned to the fork
example: Fork
description:
type: string
description: The description that will be assigned to the fork
example: Description
visibility:
type: string
description: The visibility of the fork
enum:
- private
- internal
- public
mr_default_target_self:
type: boolean
description: Merge requests of this forked project targets itself by default
branches:
type: string
description: Branches to fork
description: Fork new project for the current user or provided namespace.
putApiV4ProjectsId:
type: object
properties:
name:
type: string
description: The name of the project
example: project
default_branch:
type: string
description: The default branch of the project
example: main
path:
type: string
description: The path of the repository
example: group/project
description:
type: string
description: The description of the project
build_git_strategy:
type: string
description: The Git strategy. Defaults to `fetch`
enum:
- fetch
- clone
build_timeout:
type: integer
format: int32
description: Build timeout
auto_cancel_pending_pipelines:
type: string
description: Auto-cancel pending pipelines
enum:
- disabled
- enabled
ci_config_path:
type: string
description: The path to CI config file. Defaults to `.gitlab-ci.yml`
service_desk_enabled:
type: boolean
description: Disable or enable the service desk
issues_enabled:
type: boolean
description: Flag indication if the issue tracker is enabled
merge_requests_enabled:
type: boolean
description: Flag indication if merge requests are enabled
wiki_enabled:
type: boolean
description: Flag indication if the wiki is enabled
jobs_enabled:
type: boolean
description: Flag indication if jobs are enabled
snippets_enabled:
type: boolean
description: Flag indication if snippets are enabled
issues_access_level:
type: string
description: Issues access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
repository_access_level:
type: string
description: Repository access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
merge_requests_access_level:
type: string
description: Merge requests access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
forking_access_level:
type: string
description: Forks access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
wiki_access_level:
type: string
description: Wiki access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
builds_access_level:
type: string
description: Builds access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
snippets_access_level:
type: string
description: Snippets access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
pages_access_level:
type: string
description: Pages access level. One of `disabled`, `private`, `enabled` or
`public`
enum:
- disabled
- private
- enabled
- public
analytics_access_level:
type: string
description: Analytics access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
container_registry_access_level:
type: string
description: Controls visibility of the container registry. One of `disabled`,
`private` or `enabled`. `private` will make the container registry accessible
only to project members (reporter role and above). `enabled` will make the
container registry accessible to everyone who has access to the project.
`disabled` will disable the container registry
enum:
- disabled
- private
- enabled
security_and_compliance_access_level:
type: string
description: Security and compliance access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
releases_access_level:
type: string
description: Releases access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
environments_access_level:
type: string
description: Environments access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
feature_flags_access_level:
type: string
description: Feature flags access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
infrastructure_access_level:
type: string
description: Infrastructure access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
monitor_access_level:
type: string
description: Monitor access level. One of `disabled`, `private` or `enabled`
enum:
- disabled
- private
- enabled
model_experiments_access_level:
type: string
description: Model experiments access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
model_registry_access_level:
type: string
description: Model registry access level. One of `disabled`, `private` or
`enabled`
enum:
- disabled
- private
- enabled
emails_disabled:
type: boolean
description: 'Deprecated: Use emails_enabled instead.'
emails_enabled:
type: boolean
description: Enable email notifications
show_default_award_emojis:
type: boolean
description: Show default award emojis
show_diff_preview_in_email:
type: boolean
description: Include the code diff preview in merge request notification emails
warn_about_potentially_unwanted_characters:
type: boolean
description: Warn about potentially unwanted characters
enforce_auth_checks_on_uploads:
type: boolean
description: Enforce auth check on uploads
shared_runners_enabled:
type: boolean
description: Flag indication if shared runners are enabled for that project
group_runners_enabled:
type: boolean
description: Flag indication if group runners are enabled for that project
resolve_outdated_diff_discussions:
type: boolean
description: Automatically resolve merge request diff threads on lines changed
with a push
remove_source_branch_after_merge:
type: boolean
description: Remove the source branch by default after merge
container_registry_enabled:
type: boolean
description: 'Deprecated: Use :container_registry_access_level instead. Flag
indication if the container registry is enabled for that project'
container_expiration_policy_attributes:
type: object
properties:
cadence:
type: string
description: Container expiration policy cadence for recurring job
keep_n:
type: integer
format: int32
description: Container expiration policy number of images to keep
older_than:
type: string
description: Container expiration policy remove images older than value
name_regex:
type: string
description: Container expiration policy regex for image removal
name_regex_keep:
type: string
description: Container expiration policy regex for image retention
enabled:
type: boolean
description: Flag indication if container expiration policy is enabled
lfs_enabled:
type: boolean
description: Flag indication if Git LFS is enabled for that project
visibility:
type: string
description: The visibility of the project.
enum:
- private
- internal
- public
public_builds:
type: boolean
description: 'Deprecated: Use public_jobs instead.'
public_jobs:
type: boolean
description: Perform public builds
request_access_enabled:
type: boolean
description: Allow users to request member access
only_allow_merge_if_pipeline_succeeds:
type: boolean
description: Only allow to merge if builds succeed
allow_merge_on_skipped_pipeline:
type: boolean
description: Allow to merge if pipeline is skipped
only_allow_merge_if_all_discussions_are_resolved:
type: boolean
description: Only allow to merge if all threads are resolved
tag_list:
type: array
description: 'Deprecated: Use :topics instead'
items:
type: string
topics:
type: array
description: The list of topics for a project
items:
type: string
avatar:
type: file
description: Avatar image for project
printing_merge_request_link_enabled:
type: boolean
description: Show link to create/view merge request when pushing from the
command line
merge_method:
type: string
description: The merge method used when merging merge requests
enum:
- ff
- rebase_merge
- merge
suggestion_commit_message:
type: string
description: The commit message used to apply merge request suggestions
merge_commit_template:
type: string
description: Template used to create merge commit message
squash_commit_template:
type: string
description: Template used to create squash commit message
issue_branch_template:
type: string
description: Template used to create a branch from an issue
auto_devops_enabled:
type: boolean
description: Flag indication if Auto DevOps is enabled
auto_devops_deploy_strategy:
type: string
description: Auto Deploy strategy
enum:
- continuous
- manual
- timed_incremental
autoclose_referenced_issues:
type: boolean
description: Flag indication if referenced issues auto-closing is enabled
repository_storage:
type: string
description: Which storage shard the repository is on. Available only to admins
packages_enabled:
type: boolean
description: Enable project packages feature
squash_option:
type: string
description: Squash default for project. One of `never`, `always`, `default_on`,
or `default_off`.
enum:
- never
- always
- default_on
- default_off
mr_default_target_self:
type: boolean
description: Merge requests of this forked project targets itself by default
merge_request_title_regex:
type: string
description: The regex the Merge Request must adhere to
merge_request_title_regex_description:
type: string
description: The description for the regex the Merge Request must adhere to
only_allow_merge_if_all_status_checks_passed:
type: boolean
description: Blocks merge requests from merging unless all status checks have
passed
approvals_before_merge:
type: integer
format: int32
description: How many approvers should approve merge request by default
mirror:
type: boolean
description: "[Deprecated] Enables pull mirroring in a project"
mirror_trigger_builds:
type: boolean
description: "[Deprecated] Pull mirroring triggers builds"
external_authorization_classification_label:
type: string
description: The classification label for the project
requirements_access_level:
type: string
description: Requirements feature access level. One of `disabled`, `private`
or `enabled`
enum:
- disabled
- private
- enabled
prevent_merge_without_jira_issue:
type: boolean
description: Require an associated issue from Jira
auto_duo_code_review_enabled:
type: boolean
description: Enable automatic reviews by GitLab Duo on merge requests
ci_default_git_depth:
type: integer
format: int32
description: Default number of revisions for shallow cloning
keep_latest_artifact:
type: boolean
description: Indicates if the latest artifact should be kept for this project.
ci_forward_deployment_enabled:
type: boolean
description: Prevent older deployment jobs that are still pending
ci_forward_deployment_rollback_allowed:
type: boolean
description: Allow job retries for rollback deployments
ci_allow_fork_pipelines_to_run_in_parent_project:
type: boolean
description: Allow fork merge request pipelines to run in parent project
ci_separated_caches:
type: boolean
description: Enable or disable separated caches based on branch protection.
restrict_user_defined_variables:
type: boolean
description: Restrict use of user-defined variables when triggering a pipeline
ci_pipeline_variables_minimum_override_role:
type: string
description: Limit ability to override CI/CD variables when triggering a pipeline
to only users with at least the set minimum role
enum:
- no_one_allowed
- developer
- maintainer
- owner
ci_push_repository_for_job_token_allowed:
type: boolean
description: Allow pushing to this project's repository by authenticating
with a CI/CD job token generated in this project.
ci_id_token_sub_claim_components:
type: array
description: Claims that will be used to build the sub claim in id tokens
items:
type: string
ci_delete_pipelines_in_seconds:
type: integer
format: int32
description: Pipelines older than the configured time are deleted
max_artifacts_size:
type: integer
format: int32
description: Set the maximum file size for each job's artifacts
allow_pipeline_trigger_approve_deployment:
type: boolean
description: Allow pipeline triggerer to approve deployments
mirror_user_id:
type: integer
format: int32
description: "[Deprecated] User responsible for all the activity surrounding
a pull mirror event. Can only be set by admins"
only_mirror_protected_branches:
type: boolean
description: "[Deprecated] Only mirror protected branches"
mirror_branch_regex:
type: string
description: "[Deprecated] Only mirror branches match regex"
mirror_overwrites_diverged_branches:
type: boolean
description: "[Deprecated] Pull mirror overwrites diverged branches"
import_url:
type: string
description: URL from which the project is imported
fallback_approvals_required:
type: integer
format: int32
description: Overall approvals required when no rule is present
issues_template:
type: string
description: Default description for Issues. Description is parsed with GitLab
Flavored Markdown.
merge_requests_template:
type: string
description: Default description for merge requests. Description is parsed
with GitLab Flavored Markdown.
merge_pipelines_enabled:
type: boolean
description: Enable merged results pipelines.
merge_trains_enabled:
type: boolean
description: Enable merge trains.
merge_trains_skip_train_allowed:
type: boolean
description: Allow merge train merge requests to be merged without waiting
for pipelines to finish.
ci_restrict_pipeline_cancellation_role:
type: string
description: Roles allowed to cancel pipelines and jobs.
web_based_commit_signing_enabled:
type: boolean
description: Enable web based commit signing for this project
description: Update an existing project
postApiV4ProjectsIdShare:
type: object
properties:
group_id:
type: integer
format: int32
description: The ID of a group
example: 1
group_access:
type: integer
format: int32
description: The group access level
enum:
- 10
- 15
- 20
- 30
- 40
- 50
expires_at:
type: string
format: date
description: Share expiration date
member_role_id:
type: integer
format: int32
description: The ID of the Member Role to be assigned to the group
required:
- group_id
- group_access
description: Share the project with a group
API_Entities_ProjectGroupLink:
type: object
properties:
id:
type: integer
format: int32
example: 1
project_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
group_access:
type: integer
format: int32
example: 10
expires_at:
type: string
format: date
example: '2016-09-26'
member_role_id:
type: integer
format: int32
example: 12
description: API_Entities_ProjectGroupLink model
API_Entities_PublicGroupDetails:
type: object
properties:
id:
type: string
web_url:
type: string
name:
type: string
avatar_url:
type: string
full_name:
type: string
full_path:
type: string
description: API_Entities_PublicGroupDetails model
postApiV4ProjectsIdHousekeeping:
type: object
properties:
task:
type: string
description: "`prune` to trigger manual prune of unreachable objects or `eager`
to trigger eager housekeeping."
enum:
- eager
- prune
default: eager
description: Start the housekeeping task for a project
putApiV4ProjectsIdTransfer:
type: object
properties:
namespace:
type: string
description: The ID or path of the new namespace
example: gitlab
required:
- namespace
description: Transfer a project to a new namespace
API_Entities_ProjectRepositoryStorage:
type: object
properties:
disk_path:
type: string
example: "@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"
project_id:
type: integer
format: int32
example: 1
repository_storage:
type: string
example: default
created_at:
type: string
format: date-time
example: '2012-10-12T17:04:47Z'
description: API_Entities_ProjectRepositoryStorage model
API_Entities_ProtectedBranch:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: main
push_access_levels:
type: array
items:
"$ref": "#/definitions/API_Entities_ProtectedRefAccess"
merge_access_levels:
type: array
items:
"$ref": "#/definitions/API_Entities_ProtectedRefAccess"
allow_force_push:
type: boolean
unprotect_access_levels:
type: array
items:
"$ref": "#/definitions/API_Entities_ProtectedRefAccess"
code_owner_approval_required:
type: boolean
inherited:
type: boolean
description: API_Entities_ProtectedBranch model
API_Entities_ProtectedRefAccess:
type: object
properties:
id:
type: integer
format: int32
example: 1
access_level:
type: integer
format: int32
example: 40
access_level_description:
type: string
example: Maintainers
deploy_key_id:
type: integer
format: int32
example: 1
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
postApiV4ProjectsIdProtectedBranches:
type: object
properties:
name:
type: string
description: The name of the protected branch
example: main
push_access_level:
type: integer
format: int32
description: 'Access levels allowed to push (defaults: `40`, maintainer access
level)'
enum:
- 30
- 40
- 60
- 0
merge_access_level:
type: integer
format: int32
description: 'Access levels allowed to merge (defaults: `40`, maintainer access
level)'
enum:
- 30
- 40
- 60
- 0
allow_force_push:
type: boolean
description: Allow force push for all users with push access.
default: false
unprotect_access_level:
type: integer
format: int32
description: 'Access levels allowed to unprotect (defaults: `40`, maintainer
access level)'
enum:
- 30
- 40
- 60
allowed_to_push:
type: array
description: An array of users/groups allowed to push
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
- 0
deploy_key_id:
type: integer
format: int32
example: 1
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
id:
type: integer
format: int32
example: 1
_destroy:
type: boolean
description: Delete the object when true
allowed_to_merge:
type: array
description: An array of users/groups allowed to merge
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
- 0
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
id:
type: integer
format: int32
example: 1
_destroy:
type: boolean
description: Delete the object when true
allowed_to_unprotect:
type: array
description: An array of users/groups allowed to unprotect
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
id:
type: integer
format: int32
example: 1
_destroy:
type: boolean
description: Delete the object when true
code_owner_approval_required:
type: boolean
description: Prevent pushes to this branch if it matches an item in CODEOWNERS
required:
- name
description: Protect a single branch
patchApiV4ProjectsIdProtectedBranchesName:
type: object
properties:
allow_force_push:
type: boolean
description: Allow force push for all users with push access.
unprotect_access_level:
type: integer
format: int32
description: 'Access levels allowed to unprotect (defaults: `40`, maintainer
access level)'
enum:
- 30
- 40
- 60
allowed_to_push:
type: array
description: An array of users/groups allowed to push
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
- 0
deploy_key_id:
type: integer
format: int32
example: 1
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
id:
type: integer
format: int32
example: 1
_destroy:
type: boolean
description: Delete the object when true
allowed_to_merge:
type: array
description: An array of users/groups allowed to merge
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
- 0
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
id:
type: integer
format: int32
example: 1
_destroy:
type: boolean
description: Delete the object when true
allowed_to_unprotect:
type: array
description: An array of users/groups allowed to unprotect
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
user_id:
type: integer
format: int32
example: 1
group_id:
type: integer
format: int32
example: 1
id:
type: integer
format: int32
example: 1
_destroy:
type: boolean
description: Delete the object when true
code_owner_approval_required:
type: boolean
description: Prevent pushes to this branch if it matches an item in CODEOWNERS
description: Update a protected branch
API_Entities_ProtectedTag:
type: object
properties:
name:
type: string
example: release-1-0
create_access_levels:
"$ref": "#/definitions/API_Entities_ProtectedRefAccess"
description: API_Entities_ProtectedTag model
postApiV4ProjectsIdProtectedTags:
type: object
properties:
name:
type: string
description: The name of the protected tag
example: release-1-0
create_access_level:
type: integer
format: int32
description: 'Access levels allowed to create (defaults: `40`, maintainer
access level)'
enum:
- 30
- 40
- 60
- 0
example: 30
allowed_to_create:
type: array
description: An array of users/groups allowed to create
items:
type: object
properties:
access_level:
type: integer
format: int32
enum:
- 30
- 40
- 60
- 0
user_id:
type: integer
format: int32
group_id:
type: integer
format: int32
deploy_key_id:
type: integer
format: int32
required:
- name
description: Protect a single tag or wildcard
postApiV4ProjectsIdPackagesPypi:
type: object
properties:
content:
type: file
description: The package file to be published (generated by Multipart middleware)
name:
type: string
example: my.pypi.package
version:
type: string
example: 1.3.7
requires_python:
type: string
example: ">=3.7"
md5_digest:
type: string
example: 900150983cd24fb0d6963f7d28e17f72
sha256_digest:
type: string
example: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
metadata_version:
type: string
example: '2.3'
author_email:
type: string
example: cschultz@example.com, snoopy@peanuts.com
description:
type: string
description_content_type:
type: string
example: text/markdown; charset=UTF-8; variant=GFM
summary:
type: string
example: A module for collecting votes from beagles.
keywords:
type: string
example: dog,puppy,voting,election
required:
- content
- name
- version
description: The PyPi Package upload endpoint
postApiV4ProjectsIdReleases:
type: object
properties:
tag_name:
type: string
description: The tag where the release is created from
tag_message:
type: string
description: Message to use if creating a new annotated tag
name:
type: string
description: The release name
description:
type: string
description: The description of the release. You can use Markdown
ref:
type: string
description: If a tag specified in `tag_name` doesn't exist, the release is
created from `ref` and tagged with `tag_name`. It can be a commit SHA, another
tag name, or a branch name.
assets:
type: object
properties:
links:
type: array
items:
type: object
properties:
name:
type: string
description: The name of the link. Link names must be unique within
the release
url:
type: string
description: The URL of the link. Link URLs must be unique within
the release
direct_asset_path:
type: string
description: Optional path for a direct asset link
filepath:
type: string
description: 'Deprecated: optional path for a direct asset link'
link_type:
type: string
description: 'The type of the link: `other`, `runbook`, `image`,
`package`. Defaults to `other`'
required:
- name
- url
milestones:
type: array
description: The title of each milestone the release is associated with. GitLab
Premium customers can specify group milestones. Cannot be combined with
`milestone_ids` parameter.
items:
type: string
milestone_ids:
type: string
description: The ID of each milestone the release is associated with. GitLab
Premium customers can specify group milestones. Cannot be combined with
`milestones` parameter.
released_at:
type: string
format: date-time
description: Date and time for the release. Defaults to the current time.
Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Only provide this
field if creating an upcoming or historical release.
legacy_catalog_publish:
type: boolean
description: If true, the release will be published to the CI catalog. This
parameter is for internal use only and will be removed in a future release.
If the feature flag ci_release_cli_catalog_publish_option is disabled, this
parameter will be ignored and the release will published to the CI catalog
as it was before this parameter was introduced.
required:
- tag_name
description: Create a release
putApiV4ProjectsIdReleasesTagName:
type: object
properties:
name:
type: string
description: The release name
description:
type: string
description: The description of the release. You can use Markdown
released_at:
type: string
format: date-time
description: The date when the release is/was ready. Expected in ISO 8601
format (`2019-03-15T08:00:00Z`)
milestones:
type: array
description: The title of each milestone to associate with the release. GitLab
Premium customers can specify group milestones. Cannot be combined with
`milestone_ids` parameter. To remove all milestones from the release, specify
`[]`
items:
type: string
milestone_ids:
type: string
description: The ID of each milestone the release is associated with. GitLab
Premium customers can specify group milestones. Cannot be combined with
`milestones` parameter. To remove all milestones from the release, specify
`[]`
description: Update a release
postApiV4ProjectsIdReleasesTagNameAssetsLinks:
type: object
properties:
name:
type: string
description: The name of the link. Link names must be unique in the release
url:
type: string
description: The URL of the link. Link URLs must be unique in the release.
direct_asset_path:
type: string
description: Optional path for a direct asset link
filepath:
type: string
description: 'Deprecated: optional path for a direct asset link'
link_type:
type: string
description: 'The type of the link: `other`, `runbook`, `image`, or `package`.
Defaults to `other`'
enum:
- other
- runbook
- image
- package
default: other
required:
- name
- url
description: Create a release link
putApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId:
type: object
properties:
name:
type: string
description: The name of the link
url:
type: string
description: The URL of the link
direct_asset_path:
type: string
description: Optional path for a direct asset link
filepath:
type: string
description: 'Deprecated: optional path for a direct asset link'
link_type:
type: string
description: 'The type of the link: `other`, `runbook`, `image`, or `package`.
Defaults to `other`'
enum:
- other
- runbook
- image
- package
default: other
description: Update a release link
API_Entities_RemoteMirror:
type: object
properties:
id:
type: integer
format: int32
example: 101486
enabled:
type: boolean
example: true
url:
type: string
example: https://*****:*****@example.com/gitlab/example.git
update_status:
type: string
example: finished
last_update_at:
type: string
format: date-time
example: '2020-01-06T17:32:02.823Z'
last_update_started_at:
type: string
format: date-time
example: '2020-01-06T17:32:02.823Z'
last_successful_update_at:
type: string
format: date-time
example: '2020-01-06T17:31:55.864Z'
last_error:
type: integer
format: int32
example: The remote mirror URL is invalid.
only_protected_branches:
type: boolean
keep_divergent_refs:
type: boolean
auth_method:
type: string
example: password
mirror_branch_regex:
type: string
description: API_Entities_RemoteMirror model
postApiV4ProjectsIdRemoteMirrors:
type: object
properties:
url:
type: string
description: The URL for a remote mirror
example: https://*****:*****@example.com/gitlab/example.git
enabled:
type: boolean
description: Determines if the mirror is enabled
auth_method:
type: string
description: Determines the mirror authentication method
enum:
- ssh_public_key
- password
keep_divergent_refs:
type: boolean
description: Determines if divergent refs are kept on the target
only_protected_branches:
type: boolean
description: Determines if only protected branches are mirrored
mirror_branch_regex:
type: string
description: Determines if only matched branches are mirrored
required:
- url
description: Create remote mirror for a project
putApiV4ProjectsIdRemoteMirrorsMirrorId:
type: object
properties:
enabled:
type: boolean
description: Determines if the mirror is enabled
example: true
auth_method:
type: string
description: Determines the mirror authentication method
keep_divergent_refs:
type: boolean
description: Determines if divergent refs are kept on the target
only_protected_branches:
type: boolean
description: Determines if only protected branches are mirrored
mirror_branch_regex:
type: string
description: Determines if only matched branches are mirrored
description: Update the attributes of a single remote mirror
API_Entities_TreeObject:
type: object
properties:
id:
type: string
example: a1e8f8d745cc87e3a9248358d9352bb7f9a0aeba
name:
type: string
example: html
type:
type: string
example: tree
path:
type: string
example: files/html
mode:
type: string
example: '040000'
description: API_Entities_TreeObject model
API_Entities_Compare:
type: object
properties:
commit:
"$ref": "#/definitions/API_Entities_Commit"
commits:
type: array
items:
"$ref": "#/definitions/API_Entities_Commit"
diffs:
type: array
items:
"$ref": "#/definitions/API_Entities_Diff"
compare_timeout:
type: boolean
compare_same_ref:
type: boolean
web_url:
type: string
example: https://gitlab.example.com/gitlab/gitlab-foss/-/compare/main...feature
description: API_Entities_Compare model
API_Entities_RepositoryHealth:
type: object
properties:
size:
type: integer
format: int32
references:
"$ref": "#/definitions/API_Entities_RepositoryHealth_References"
objects:
"$ref": "#/definitions/API_Entities_RepositoryHealth_Objects"
commit_graph:
"$ref": "#/definitions/API_Entities_RepositoryHealth_CommitGraph"
bitmap:
"$ref": "#/definitions/API_Entities_RepositoryHealth_Bitmap"
multi_pack_index:
"$ref": "#/definitions/API_Entities_RepositoryHealth_MultiPackIndex"
multi_pack_index_bitmap:
"$ref": "#/definitions/API_Entities_RepositoryHealth_Bitmap"
alternates:
type: object
is_object_pool:
type: boolean
last_full_repack:
"$ref": "#/definitions/API_Entities_RepositoryHealth_LastFullRepack"
updated_at:
type: string
format: date-time
example: '2025-02-24T09:05:50.355Z'
description: API_Entities_RepositoryHealth model
API_Entities_RepositoryHealth_References:
type: object
properties:
loose_count:
type: integer
format: int32
packed_size:
type: integer
format: int32
reference_backend:
type: string
API_Entities_RepositoryHealth_Objects:
type: object
properties:
size:
type: integer
format: int32
recent_size:
type: integer
format: int32
stale_size:
type: integer
format: int32
keep_size:
type: integer
format: int32
packfile_count:
type: integer
format: int32
reverse_index_count:
type: integer
format: int32
cruft_count:
type: integer
format: int32
keep_count:
type: integer
format: int32
loose_objects_count:
type: integer
format: int32
stale_loose_objects_count:
type: integer
format: int32
loose_objects_garbage_count:
type: integer
format: int32
API_Entities_RepositoryHealth_CommitGraph:
type: object
properties:
commit_graph_chain_length:
type: integer
format: int32
has_bloom_filters:
type: boolean
has_generation_data:
type: boolean
has_generation_data_overflow:
type: boolean
API_Entities_RepositoryHealth_Bitmap:
type: object
properties:
has_hash_cache:
type: boolean
has_lookup_table:
type: boolean
version:
type: integer
format: int32
API_Entities_RepositoryHealth_MultiPackIndex:
type: object
properties:
packfile_count:
type: integer
format: int32
version:
type: integer
format: int32
API_Entities_RepositoryHealth_LastFullRepack:
type: object
properties:
seconds:
type: integer
format: int32
nanos:
type: integer
format: int32
API_Entities_Contributor:
type: object
properties:
name:
type: string
example: John Doe
email:
type: string
example: johndoe@example.com
commits:
type: integer
format: int32
example: 117
additions:
type: integer
format: int32
example: 3
deletions:
type: integer
format: int32
example: 5
description: API_Entities_Contributor model
API_Entities_Changelog:
type: object
properties:
notes:
type: string
description: API_Entities_Changelog model
postApiV4ProjectsIdRepositoryChangelog:
type: object
properties:
version:
type: string
description: The version of the release, using the semantic versioning format
example: 1.0.0
from:
type: string
description: The first commit in the range of commits to use for the changelog
example: ed899a2f4b50b4370feeea94676502b42383c746
to:
type: string
description: The last commit in the range of commits to use for the changelog
example: 6104942438c14ec7bd21c6cd5bd995272b3faff6
date:
type: string
format: date-time
description: The date and time of the release
example: '2021-09-20T11:50:22.001+00:00'
trailer:
type: string
description: The Git trailer to use for determining if commits are to be included
in the changelog
default: Changelog
example: Changelog
config_file:
type: string
description: The file path to the configuration file as stored in the project's
Git repository. Defaults to '.gitlab/changelog_config.yml'
example: ".gitlab/changelog_config.yml"
config_file_ref:
type: string
description: The git reference (for example, branch) where the changelog configuration
file is defined. Defaults to the default repository branch.
example: main
branch:
type: string
description: The branch to commit the changelog changes to
example: main
file:
type: string
description: The file to commit the changelog changes to
default: CHANGELOG.md
example: CHANGELOG.md
message:
type: string
description: The commit message to use when committing the changelog
example: Initial commit
required:
- version
description: Generates a changelog section for a release and commits it in a changelog
file
postApiV4ProjectsIdAccessTokensSelfRotate:
type: object
properties:
expires_at:
type: string
format: date
description: The expiration date of the token
example: '2021-01-31'
description: Rotate a resource access token
API_Entities_ResourceMilestoneEvent:
type: object
properties:
id:
type: integer
format: int32
example: 142
user:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2018-08-20T13:38:20.077Z'
resource_type:
type: string
example: Issue
resource_id:
type: integer
format: int32
example: 253
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
action:
type: string
example: add
state:
type: string
example: active
description: API_Entities_ResourceMilestoneEvent model
postApiV4ProjectsIdPackagesRubygemsApiV1Gems:
type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload a gem
putApiV4ProjectsIdRepositorySubmodulesSubmodule:
type: object
properties:
commit_sha:
type: string
description: Commit sha to update the submodule to.
example: ed899a2f4b50b4370feeea94676502b42383c746
branch:
type: string
description: Name of the branch to commit into.
example: main
commit_message:
type: string
description: Commit message. If no message is provided a default one will
be set.
example: Commit message
required:
- commit_sha
- branch
description: Update existing submodule reference in repository
API_Entities_Tag:
type: object
properties:
name:
type: string
example: v1.0.0
message:
type: string
example: Release v1.0.0
target:
type: string
example: 2695effb5807a22ff3d138d593fd856244e155e7
commit:
"$ref": "#/definitions/API_Entities_Commit"
release:
"$ref": "#/definitions/API_Entities_TagRelease"
protected:
type: boolean
example: true
created_at:
type: string
format: date-time
example: '2023-10-12T02:16:52.000Z'
description: API_Entities_Tag model
API_Entities_TagRelease:
type: object
properties:
tag_name:
type: string
example: 1.0.0
description:
type: string
example: Amazing release. Wow
postApiV4ProjectsIdRepositoryTags:
type: object
properties:
tag_name:
type: string
description: The name of the tag
example: v.1.0.0
ref:
type: string
description: The commit sha or branch name
example: 2695effb5807a22ff3d138d593fd856244e155e7
message:
type: string
description: Specifying a message creates an annotated tag
example: Release 1.0.0
required:
- tag_name
- ref
description: Create a new repository tag
API_Entities_TagSignature:
type: object
properties:
signature_type:
type: string
example: PGP
signature:
type: string
description: API_Entities_TagSignature model
putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFileAuthorize:
type: object
properties:
module_version:
type: string
description: Module version
required:
- module_version
description: Workhorse authorize Terraform Module package file
postApiV4ProjectsIdTerraformStateNameLock:
type: object
properties:
ID:
type: string
description: Terraform state lock ID
Operation:
type: string
description: Terraform operation
Info:
type: string
description: Terraform info
Who:
type: string
description: Terraform state lock owner
Version:
type: string
description: Terraform version
Created:
type: string
description: Terraform state lock timestamp
Path:
type: string
description: Terraform path
required:
- ID
- Operation
- Info
- Who
- Version
- Created
- Path
description: Lock a Terraform state of a certain name
postApiV4ProjectsIdWikis:
type: object
properties:
title:
type: string
description: Title of a wiki page
front_matter:
type: object
properties:
title:
type: string
description: Front matter title of a wiki page
content:
type: string
description: Content of a wiki page
format:
type: string
description: Format of a wiki page. Available formats are markdown, rdoc,
asciidoc and org
enum:
- markdown
- rdoc
- asciidoc
- org
default: markdown
required:
- title
- content
description: Create a wiki page
putApiV4ProjectsIdWikisSlug:
type: object
properties:
title:
type: string
description: Title of a wiki page
front_matter:
type: object
properties:
title:
type: string
description: Front matter title of a wiki page
content:
type: string
description: Content of a wiki page
format:
type: string
description: Format of a wiki page. Available formats are markdown, rdoc,
asciidoc and org
enum:
- markdown
- rdoc
- asciidoc
- org
default: markdown
description: Update a wiki page
postApiV4ProjectsIdWikisAttachments:
type: object
properties:
file:
type: file
description: The attachment file to be uploaded
branch:
type: string
description: The name of the branch
required:
- file
description: Upload an attachment to the wiki repository
API_Entities_BatchedBackgroundMigration:
type: object
properties:
id:
type: string
example: '1234'
job_class_name:
type: string
example: CopyColumnUsingBackgroundMigrationJob
table_name:
type: string
example: events
column_name:
type: string
example: id
status:
type: string
example: active
progress:
type: number
format: float
example: 50
created_at:
type: string
format: date-time
example: '2022-11-28T16:26:39+02:00'
description: API_Entities_BatchedBackgroundMigration model
putApiV4AdminBatchedBackgroundMigrationsIdResume:
type: object
properties:
database:
type: string
description: The name of the database
enum:
- main
- ci
- sec
- embedding
- geo
default: main
description: Resume a batched background migration
putApiV4AdminBatchedBackgroundMigrationsIdPause:
type: object
properties:
database:
type: string
description: The name of the database
enum:
- main
- ci
- sec
- embedding
- geo
default: main
description: Pause a batched background migration
postApiV4AdminCiVariables:
type: object
properties:
key:
type: string
description: The key of the variable. Max 255 characters
description:
type: string
description: The description of the variable
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:
- key
- value
description: Create a new instance-level variable
putApiV4AdminCiVariablesKey:
type: object
properties:
description:
type: string
description: The description of the variable
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
description: Update an instance-level variable
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
postApiV4AdminClustersAdd:
type: object
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
format: int32
description: The ID of the management project
managed:
type: boolean
description: Determines if GitLab will manage namespaces and service accounts
for this cluster, defaults to true
default: true
platform_kubernetes_attributes:
type: object
description: Platform Kubernetes data
properties:
api_url:
type: string
description: URL to access the Kubernetes API
token:
type: string
description: Token to authenticate against Kubernetes
ca_cert:
type: string
description: TLS certificate (needed if API is using a self-signed TLS
certificate)
namespace:
type: string
description: Unique namespace related to Project
authorization_type:
type: string
description: Cluster authorization type, defaults to RBAC
enum:
- unknown_authorization
- rbac
- abac
default: rbac
required:
- api_url
- token
required:
- name
- platform_kubernetes_attributes
description: Add existing instance cluster
putApiV4AdminClustersClusterId:
type: object
properties:
name:
type: string
description: Cluster name
enabled:
type: boolean
description: Enable or disable Gitlab's connection to your Kubernetes cluster
environment_scope:
type: string
description: The associated environment to the cluster
namespace_per_environment:
type: boolean
description: Deploy each environment to a separate Kubernetes namespace
default: true
domain:
type: string
description: Cluster base domain
management_project_id:
type: integer
format: int32
description: The ID of the management project
managed:
type: boolean
description: Determines if GitLab will manage namespaces and service accounts
for this cluster
platform_kubernetes_attributes:
type: object
description: Platform Kubernetes data
properties:
api_url:
type: string
description: URL to access the Kubernetes API
token:
type: string
description: Token to authenticate against Kubernetes
ca_cert:
type: string
description: TLS certificate (needed if API is using a self-signed TLS
certificate)
namespace:
type: string
description: Unique namespace related to Project
description: Edit instance cluster
postApiV4AdminMigrationsTimestampMark:
type: object
properties:
database:
type: string
description: The name of the database
enum:
- main
- ci
- sec
- embedding
- geo
default: main
description: Mark the migration as successfully executed
API_Entities_System_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
theme:
type: string
active:
type: string
description: API_Entities_System_BroadcastMessage model
postApiV4BroadcastMessages:
type: object
properties:
message:
type: string
description: Message to display
starts_at:
type: string
format: date-time
description: Starting time
default: {}
ends_at:
type: string
format: date-time
description: Ending time
default: {}
color:
type: string
description: Background color (Deprecated. Use "theme" instead.)
font:
type: string
description: Foreground color (Deprecated. Use "theme" instead.)
target_access_levels:
type: array
description: Target user roles
items:
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
target_path:
type: string
description: Target path
broadcast_type:
type: string
description: Broadcast type. Defaults to banner
enum:
- banner
- notification
default: {}
dismissable:
type: boolean
description: Is dismissable
theme:
type: string
description: The theme for the message
enum:
- indigo
- light-indigo
- blue
- light-blue
- green
- light-green
- red
- light-red
- dark
- light
required:
- message
description: Create a broadcast message
putApiV4BroadcastMessagesId:
type: object
properties:
message:
type: string
description: Message to display
starts_at:
type: string
format: date-time
description: Starting time
ends_at:
type: string
format: date-time
description: Ending time
color:
type: string
description: Background color (Deprecated. Use "theme" instead.)
font:
type: string
description: Foreground color (Deprecated. Use "theme" instead.)
target_access_levels:
type: array
description: Target user roles
items:
type: integer
format: int32
enum:
- 10
- 15
- 20
- 30
- 40
- 50
target_path:
type: string
description: Target path
broadcast_type:
type: string
description: Broadcast Type
enum:
- banner
- notification
dismissable:
type: boolean
description: Is dismissable
theme:
type: string
description: The theme for the message
enum:
- indigo
- light-indigo
- blue
- light-blue
- green
- light-green
- red
- light-red
- dark
- light
description: Update a broadcast message
postApiV4Applications:
type: object
properties:
name:
type: string
description: Name of the application.
example: MyApplication
redirect_uri:
type: string
description: Redirect URI of the application.
example: https://redirect.uri
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:
- name
- redirect_uri
- scopes
description: Create a new application
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_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_Avatar:
type: object
properties:
avatar_url:
type: string
description: API_Entities_Avatar model
API_Entities_BulkImport:
type: object
properties:
id:
type: integer
format: int32
example: 1
status:
type: string
enum:
- created
- started
- finished
- timeout
- failed
example: finished
source_type:
type: string
example: gitlab
source_url:
type: string
example: https://source.gitlab.com/
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'
has_failures:
type: boolean
example: false
description: API_Entities_BulkImport 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
enum:
- created
- started
- finished
- timeout
- failed
example: created
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": "#/definitions/API_Entities_BulkImports_EntityFailure"
migrate_projects:
type: boolean
example: true
migrate_memberships:
type: boolean
example: true
has_failures:
type: boolean
example: false
stats:
type: object
description: API_Entities_BulkImports model
API_Entities_BulkImports_EntityFailure:
type: object
properties:
relation:
type: string
example: label
exception_message:
type: string
example: error message
exception_class:
type: string
example: Exception
correlation_id_value:
type: string
example: dfcf583058ed4508e4c7c617bd7f0edd
source_url:
type: string
example: https://source.gitlab.com/group/-/epics/1
source_title:
type: string
example: title
description: API_Entities_BulkImports_EntityFailure model
postApiV4Runners:
type: object
properties:
token:
type: string
description: Registration token
description:
type: string
description: Description of the runner
maintainer_note:
type: string
description: 'Deprecated: see `maintenance_note`'
maintenance_note:
type: string
description: Free-form maintenance notes for the runner (1024 characters)
info:
type: object
description: Runner's metadata
properties:
name:
type: string
description: Runner's name
version:
type: string
description: Runner's version
revision:
type: string
description: Runner's revision
platform:
type: string
description: Runner's platform
architecture:
type: string
description: Runner's architecture
active:
type: boolean
description: 'Deprecated: Use `paused` instead. Specifies if the runner is
allowed to receive new jobs'
paused:
type: boolean
description: Specifies if the runner should ignore new jobs
locked:
type: boolean
description: Specifies if the runner should be locked for the current project
access_level:
type: string
description: The access level of the runner
enum:
- not_protected
- ref_protected
run_untagged:
type: boolean
description: Specifies if the runner should handle untagged jobs
tag_list:
type: array
description: A list of runner tags
items:
type: string
maximum_timeout:
type: integer
format: int32
description: Maximum timeout that limits the amount of time (in seconds) that
runners can run jobs
required:
- token
description: Register a new runner
API_Entities_Ci_RunnerRegistrationDetails:
type: object
properties:
id:
type: string
token:
type: string
token_expires_at:
type: string
description: API_Entities_Ci_RunnerRegistrationDetails model
postApiV4RunnersVerify:
type: object
properties:
token:
type: string
description: The runner's authentication token
system_id:
type: string
description: The runner's system identifier
required:
- token
description: Validate authentication credentials
postApiV4RunnersResetAuthenticationToken:
type: object
properties:
token:
type: string
description: The current authentication token of the runner
required:
- token
description: Reset runner authentication token with current token
API_Entities_Ci_RunnerDetails:
type: object
properties:
id:
type: integer
format: int32
example: 8
description:
type: string
example: test-1-20150125
ip_address:
type: string
example: 127.0.0.1
active:
type: boolean
example: true
paused:
type: boolean
example: false
is_shared:
type: boolean
example: true
runner_type:
type: string
enum:
- instance_type
- group_type
- project_type
example: instance_type
name:
type: string
example: test
online:
type: boolean
example: true
created_by:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2025-05-03T00:00:00.000Z'
status:
type: string
example: online
job_execution_status:
type: string
enum:
- active
- idle
example: idle
tag_list:
type: string
run_untagged:
type: string
locked:
type: string
maximum_timeout:
type: string
access_level:
type: string
version:
type: string
revision:
type: string
platform:
type: string
architecture:
type: string
contacted_at:
type: string
maintenance_note:
type: string
projects:
"$ref": "#/definitions/API_Entities_BasicProjectDetails"
groups:
"$ref": "#/definitions/API_Entities_BasicGroupDetails"
description: API_Entities_Ci_RunnerDetails model
putApiV4RunnersId:
type: object
properties:
description:
type: string
description: The description of the runner
active:
type: boolean
description: 'Deprecated: Use `paused` instead. Flag indicating whether the
runner is allowed to receive jobs'
paused:
type: boolean
description: Specifies if the runner should ignore new jobs
tag_list:
type: array
description: The list of tags for a runner
example: "['macos', 'shell']"
items:
type: string
run_untagged:
type: boolean
description: Specifies if the runner can execute untagged jobs
locked:
type: boolean
description: Specifies if the runner is locked
access_level:
type: string
description: The access level of the runner
enum:
- not_protected
- ref_protected
maximum_timeout:
type: integer
format: int32
description: Maximum timeout that limits the amount of time (in seconds) that
runners can run jobs
maintenance_note:
type: string
description: Free-form maintenance notes for the runner (1024 characters)
description: Update runner's details
API_Entities_Ci_JobBasicWithProject:
type: object
properties:
id:
type: integer
format: int32
example: 1
status:
type: string
example: waiting_for_resource
stage:
type: string
example: deploy
name:
type: string
example: deploy_to_production
ref:
type: string
example: main
tag:
type: boolean
coverage:
type: number
format: float
example: 98.29
allow_failure:
type: boolean
created_at:
type: string
format: date-time
example: '2015-12-24T15:51:21.880Z'
started_at:
type: string
format: date-time
example: '2015-12-24T17:54:30.733Z'
finished_at:
type: string
format: date-time
example: '2015-12-24T17:54:31.198Z'
erased_at:
type: string
format: date-time
example: '2015-12-24T18:00:29.728Z'
duration:
type: number
format: float
example: 0.465
description: Time spent running
queued_duration:
type: number
format: float
example: 0.123
description: Time spent enqueued
user:
"$ref": "#/definitions/API_Entities_User"
commit:
"$ref": "#/definitions/API_Entities_Commit"
pipeline:
"$ref": "#/definitions/API_Entities_Ci_PipelineBasic"
failure_reason:
type: string
example: script_failure
web_url:
type: string
example: https://example.com/foo/bar/-/jobs/1
project:
"$ref": "#/definitions/API_Entities_ProjectIdentity"
description: API_Entities_Ci_JobBasicWithProject model
postApiV4JobsRequest:
type: object
properties:
token:
type: string
description: Runner's authentication token
system_id:
type: string
description: Runner's system identifier
last_update:
type: string
description: Runner's queue last_update token
info:
type: object
description: Runner's metadata
properties:
name:
type: string
description: Runner's name
version:
type: string
description: Runner's version
revision:
type: string
description: Runner's revision
platform:
type: string
description: Runner's platform
architecture:
type: string
description: Runner's architecture
executor:
type: string
description: Runner's executor
features:
type: object
description: Runner's features
config:
type: object
description: Runner's config
properties:
gpus:
type: string
description: GPUs enabled
session:
type: object
description: Runner's session data
properties:
url:
type: string
description: Session's url
certificate:
type: string
description: Session's certificate
authorization:
type: string
description: Session's authorization
required:
- token
description: Request a job
putApiV4JobsId:
type: object
properties:
token:
type: string
description: Job token
state:
type: string
description: 'Job''s status: success, failed'
checksum:
type: string
description: Job's trace CRC32 checksum
failure_reason:
type: string
description: Job's failure_reason
output:
type: object
description: Build log state
properties:
checksum:
type: string
description: Job's trace CRC32 checksum
bytesize:
type: integer
format: int32
description: Job's trace size in bytes
exit_code:
type: integer
format: int32
description: Job's exit code
required:
- token
description: Update a job
patchApiV4JobsIdTrace:
type: object
properties:
token:
type: string
description: Job's authentication token
debug_trace:
type: boolean
description: Enable or Disable the debug trace
description: Append a patch to the job trace
postApiV4JobsIdArtifactsAuthorize:
type: object
properties:
token:
type: string
description: Job's authentication token
filesize:
type: integer
format: int32
description: Size of artifact file
artifact_type:
type: string
description: The type of artifact
enum:
- archive
- metadata
- trace
- junit
- sast
- dependency_scanning
- container_scanning
- dast
- codequality
- license_scanning
- performance
- metrics
- metrics_referee
- network_referee
- lsif
- dotenv
- cobertura
- terraform
- accessibility
- cluster_applications
- secret_detection
- requirements
- coverage_fuzzing
- browser_performance
- load_performance
- api_fuzzing
- cluster_image_scanning
- cyclonedx
- requirements_v2
- annotations
- repository_xray
- jacoco
default: archive
description: Authorize uploading job artifact
postApiV4JobsIdArtifacts:
type: object
properties:
file:
type: file
description: The artifact file to store (generated by Multipart middleware)
token:
type: string
description: Job's authentication token
expire_in:
type: string
description: Specify when artifact should expire
artifact_type:
type: string
description: The type of artifact
enum:
- archive
- metadata
- trace
- junit
- sast
- dependency_scanning
- container_scanning
- dast
- codequality
- license_scanning
- performance
- metrics
- metrics_referee
- network_referee
- lsif
- dotenv
- cobertura
- terraform
- accessibility
- cluster_applications
- secret_detection
- requirements
- coverage_fuzzing
- browser_performance
- load_performance
- api_fuzzing
- cluster_image_scanning
- cyclonedx
- requirements_v2
- annotations
- repository_xray
- jacoco
default: archive
artifact_format:
type: string
description: The format of artifact
enum:
- raw
- zip
- gzip
default: zip
metadata:
type: file
description: The artifact metadata to store (generated by Multipart middleware)
accessibility:
type: string
description: Specify accessibility level of artifact private/public
required:
- file
description: Upload a job artifact
putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName:
type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload recipe package files
? putApiV4PackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
: type: object
properties:
file:
type: file
description: The package file to be published (generated by Multipart middleware)
required:
- file
description: Upload package files
putApiV4PackagesNpmPackage*packageNameDistTagsTag:
type: object
properties:
package_name:
type: string
description: Package name
required:
- package_name
description: Create or Update the given tag for the given NPM package and version
API_Entities_Terraform_ModuleVersions:
type: object
properties:
modules:
type: string
description: API_Entities_Terraform_ModuleVersions model
API_Entities_Terraform_ModuleVersion:
type: object
properties:
name:
type: string
provider:
type: string
providers:
type: string
root:
type: string
source:
type: string
submodules:
type: string
version:
type: string
versions:
type: string
description: API_Entities_Terraform_ModuleVersion model
API_Entities_Feature:
type: object
properties:
name:
type: string
example: experimental_feature
state:
type: string
example: 'off'
gates:
"$ref": "#/definitions/API_Entities_FeatureGate"
definition:
"$ref": "#/definitions/API_Entities_Feature_Definition"
description: API_Entities_Feature model
API_Entities_FeatureGate:
type: object
properties:
key:
type: string
example: percentage_of_actors
value:
type: integer
format: int32
example: 34
API_Entities_Feature_Definition:
type: object
properties:
name:
type: string
feature_issue_url:
type: string
introduced_by_url:
type: string
rollout_issue_url:
type: string
milestone:
type: string
log_state_changes:
type: string
type:
type: string
group:
type: string
default_enabled:
type: string
intended_to_rollout_by:
type: string
description: API_Entities_Feature_Definition model
postApiV4FeaturesName:
type: object
properties:
value:
type: string
description: "`true` or `false` to enable/disable, or an integer for percentage
of time"
key:
type: string
description: "`percentage_of_actors` or `percentage_of_time` (default)"
feature_group:
type: string
description: A Feature group name
user:
type: string
description: A GitLab username or comma-separated multiple usernames
group:
type: string
description: A GitLab group's path, for example `gitlab-org`, or comma-separated
multiple group paths
namespace:
type: string
description: A GitLab group or user namespace's path, for example `john-doe`,
or comma-separated multiple namespace paths. Introduced in GitLab 15.0.
project:
type: string
description: A projects path, for example `gitlab-org/gitlab-foss`, or comma-separated
multiple project paths
repository:
type: string
description: A repository path, for example `gitlab-org/gitlab-test.git`,
`gitlab-org/gitlab-test.wiki.git`, `snippets/21.git`, to name a few. Use
comma to separate multiple repository paths
force:
type: boolean
description: Skip feature flag validation checks, such as a YAML definition
required:
- value
description: Set or create a feature
EE_API_Entities_Geo_PipelineRefs:
type: object
properties:
pipeline_refs:
type: array
items:
type: string
example:
- refs/pipelines/1
description: EE_API_Entities_Geo_PipelineRefs model
postApiV4GeoStatus:
type: object
properties:
data:
type: object
properties:
geo_node_id:
type: integer
format: int32
description: Geo Node ID to look up its status
db_replication_lag_seconds:
type: integer
format: int32
description: DB replication lag in seconds
last_event_id:
type: integer
format: int32
description: Last event ID
last_event_date:
type: string
format: date-time
description: Last event date
cursor_last_event_id:
type: integer
format: int32
description: Cursor last event ID
cursor_last_event_date:
type: string
format: date-time
description: Cursor last event date
last_successful_status_check_at:
type: string
format: date-time
description: Last successful status check date
status_message:
type: string
description: Status message
replication_slots_count:
type: integer
format: int32
description: Replication slots count
replication_slots_used_count:
type: integer
format: int32
description: Replication slots used count
replication_slots_max_retained_wal_bytes:
type: integer
format: int32
description: Maximum number of bytes retained in the WAL on the primary
version:
type: string
description: Gitlab version
revision:
type: string
description: Gitlab revision
status:
type: object
properties:
projects_count:
type: integer
format: int32
description: Projects count
container_repositories_replication_enabled:
type: boolean
description: Container repositories replication enabled
lfs_objects_count:
type: integer
format: int32
description: LFS objects count
lfs_objects_checksum_total_count:
type: integer
format: int32
description: LFS objects checksum total count
lfs_objects_checksummed_count:
type: integer
format: int32
description: LFS objects checksummed count
lfs_objects_checksum_failed_count:
type: integer
format: int32
description: LFS objects checksum failed count
lfs_objects_synced_count:
type: integer
format: int32
description: LFS objects synced count
lfs_objects_failed_count:
type: integer
format: int32
description: LFS objects failed count
lfs_objects_registry_count:
type: integer
format: int32
description: LFS objects registry count
lfs_objects_verification_total_count:
type: integer
format: int32
description: LFS objects verification total count
lfs_objects_verified_count:
type: integer
format: int32
description: LFS objects verified count
lfs_objects_verification_failed_count:
type: integer
format: int32
description: LFS objects verification failed count
merge_request_diffs_count:
type: integer
format: int32
description: Merge request diffs count
merge_request_diffs_checksum_total_count:
type: integer
format: int32
description: Merge request diffs checksum total count
merge_request_diffs_checksummed_count:
type: integer
format: int32
description: Merge request diffs checksummed count
merge_request_diffs_checksum_failed_count:
type: integer
format: int32
description: Merge request diffs checksum failed count
merge_request_diffs_synced_count:
type: integer
format: int32
description: Merge request diffs synced count
merge_request_diffs_failed_count:
type: integer
format: int32
description: Merge request diffs failed count
merge_request_diffs_registry_count:
type: integer
format: int32
description: Merge request diffs registry count
merge_request_diffs_verification_total_count:
type: integer
format: int32
description: Merge request diffs verification total count
merge_request_diffs_verified_count:
type: integer
format: int32
description: Merge request diffs verified count
merge_request_diffs_verification_failed_count:
type: integer
format: int32
description: Merge request diffs verified count
package_files_count:
type: integer
format: int32
description: Packages files count
package_files_checksum_total_count:
type: integer
format: int32
description: Packages files checksum total count
package_files_checksummed_count:
type: integer
format: int32
description: Packages files checksummed count
package_files_checksum_failed_count:
type: integer
format: int32
description: Packages files checksum failed count
package_files_synced_count:
type: integer
format: int32
description: Packages files synced count
package_files_failed_count:
type: integer
format: int32
description: Packages files failed count
package_files_registry_count:
type: integer
format: int32
description: Packages files registry count
package_files_verification_total_count:
type: integer
format: int32
description: Packages files verification total count
package_files_verified_count:
type: integer
format: int32
description: Packages files verified count
package_files_verification_failed_count:
type: integer
format: int32
description: Packages files verification failed count
terraform_state_versions_count:
type: integer
format: int32
description: Terraform state versions count
terraform_state_versions_checksum_total_count:
type: integer
format: int32
description: Terraform state versions checksum total count
terraform_state_versions_checksummed_count:
type: integer
format: int32
description: Terraform state versions checksummed count
terraform_state_versions_checksum_failed_count:
type: integer
format: int32
description: Terraform state versions checksum failed count
terraform_state_versions_synced_count:
type: integer
format: int32
description: Terraform state versions synced count
terraform_state_versions_failed_count:
type: integer
format: int32
description: Terraform state versions failed count
terraform_state_versions_registry_count:
type: integer
format: int32
description: Terraform state versions registry count
terraform_state_versions_verification_total_count:
type: integer
format: int32
description: Terraform state versions verification total count
terraform_state_versions_verified_count:
type: integer
format: int32
description: Terraform state versions verified count
terraform_state_versions_verification_failed_count:
type: integer
format: int32
description: Terraform state versions verification failed count
snippet_repositories_count:
type: integer
format: int32
description: Snippet repositories count
snippet_repositories_checksum_total_count:
type: integer
format: int32
description: Snippet repositories checksum total count
snippet_repositories_checksummed_count:
type: integer
format: int32
description: Snippet repositories checksummed count
snippet_repositories_checksum_failed_count:
type: integer
format: int32
description: Snippet repositories checksum failed count
snippet_repositories_synced_count:
type: integer
format: int32
description: Snippet repositories synced count
snippet_repositories_failed_count:
type: integer
format: int32
description: Snippet repositories failed count
snippet_repositories_registry_count:
type: integer
format: int32
description: Snippet repositories registry count
snippet_repositories_verification_total_count:
type: integer
format: int32
description: Snippet repositories verification total count
snippet_repositories_verified_count:
type: integer
format: int32
description: Snippet repositories verified count
snippet_repositories_verification_failed_count:
type: integer
format: int32
description: Snippet repositories verification failed count
group_wiki_repositories_count:
type: integer
format: int32
description: Group wiki repositories count
group_wiki_repositories_checksum_total_count:
type: integer
format: int32
description: Group wiki repositories checksum total count
group_wiki_repositories_checksummed_count:
type: integer
format: int32
description: Group wiki repositories checksummed count
group_wiki_repositories_checksum_failed_count:
type: integer
format: int32
description: Group wiki repositories checksum failed count
group_wiki_repositories_synced_count:
type: integer
format: int32
description: Group wiki repositories synced count
group_wiki_repositories_failed_count:
type: integer
format: int32
description: Group wiki repositories failed count
group_wiki_repositories_registry_count:
type: integer
format: int32
description: Group wiki repositories registry count
group_wiki_repositories_verification_total_count:
type: integer
format: int32
description: Group wiki repositories verification total count
group_wiki_repositories_verified_count:
type: integer
format: int32
description: Group wiki repositories verified count
group_wiki_repositories_verification_failed_count:
type: integer
format: int32
description: Group wiki repositories verification failed count
pipeline_artifacts_count:
type: integer
format: int32
description: Pipeline artifacts count
pipeline_artifacts_checksum_total_count:
type: integer
format: int32
description: Pipeline artifacts checksum total count
pipeline_artifacts_checksummed_count:
type: integer
format: int32
description: Pipeline artifacts checksummed count
pipeline_artifacts_checksum_failed_count:
type: integer
format: int32
description: Pipeline artifacts checksum failed count
pipeline_artifacts_synced_count:
type: integer
format: int32
description: Pipeline artifacts synced count
pipeline_artifacts_failed_count:
type: integer
format: int32
description: Pipeline artifacts failed count
pipeline_artifacts_registry_count:
type: integer
format: int32
description: Pipeline artifacts registry count
pipeline_artifacts_verification_total_count:
type: integer
format: int32
description: Pipeline artifacts verification total count
pipeline_artifacts_verified_count:
type: integer
format: int32
description: Pipeline artifacts verified count
pipeline_artifacts_verification_failed_count:
type: integer
format: int32
description: Pipeline artifacts verification failed count
pages_deployments_count:
type: integer
format: int32
description: Pages deployments count
pages_deployments_checksum_total_count:
type: integer
format: int32
description: Pages deployments checksum total count
pages_deployments_checksummed_count:
type: integer
format: int32
description: Pages deployments checksummed count
pages_deployments_checksum_failed_count:
type: integer
format: int32
description: Pages deployments checksum failed count
pages_deployments_synced_count:
type: integer
format: int32
description: Pages deployments synced count
pages_deployments_failed_count:
type: integer
format: int32
description: Pages deployments failed count
pages_deployments_registry_count:
type: integer
format: int32
description: Pages deployments registry count
pages_deployments_verification_total_count:
type: integer
format: int32
description: Pages deployments verification total count
pages_deployments_verified_count:
type: integer
format: int32
description: Pages deployments verified count
pages_deployments_verification_failed_count:
type: integer
format: int32
description: Pages deployments verification failed count
uploads_count:
type: integer
format: int32
description: Uploads count
uploads_checksum_total_count:
type: integer
format: int32
description: Uploads checksum total count
uploads_checksummed_count:
type: integer
format: int32
description: Uploads checksummed count
uploads_checksum_failed_count:
type: integer
format: int32
description: Uploads checksum failed count
uploads_synced_count:
type: integer
format: int32
description: Uploads synced count
uploads_failed_count:
type: integer
format: int32
description: Uploads failed count
uploads_registry_count:
type: integer
format: int32
description: Uploads registry count
uploads_verification_total_count:
type: integer
format: int32
description: Uploads verification total count
uploads_verified_count:
type: integer
format: int32
description: Uploads verified count
uploads_verification_failed_count:
type: integer
format: int32
description: Uploads verification failed count
job_artifacts_count:
type: integer
format: int32
description: Job artifacts count
job_artifacts_checksum_total_count:
type: integer
format: int32
description: Job artifacts checksum total count
job_artifacts_checksummed_count:
type: integer
format: int32
description: Job artifacts checksummed count
job_artifacts_checksum_failed_count:
type: integer
format: int32
description: Job artifacts checksum failed count
job_artifacts_synced_count:
type: integer
format: int32
description: Job artifacts synced count
job_artifacts_failed_count:
type: integer
format: int32
description: Job artifacts failed count
job_artifacts_registry_count:
type: integer
format: int32
description: Job artifacts registry count
job_artifacts_verification_total_count:
type: integer
format: int32
description: Job artifacts verification total count
job_artifacts_verified_count:
type: integer
format: int32
description: Job artifacts verified count
job_artifacts_verification_failed_count:
type: integer
format: int32
description: Job artifacts verification failed count
ci_secure_files_count:
type: integer
format: int32
description: CI secure files count
ci_secure_files_checksum_total_count:
type: integer
format: int32
description: CI secure files checksum total count
ci_secure_files_checksummed_count:
type: integer
format: int32
description: CI secure files checksummed count
ci_secure_files_checksum_failed_count:
type: integer
format: int32
description: CI secure files checksum failed count
ci_secure_files_synced_count:
type: integer
format: int32
description: CI secure files synced count
ci_secure_files_failed_count:
type: integer
format: int32
description: CI secure files failed count
ci_secure_files_registry_count:
type: integer
format: int32
description: CI secure files registry count
ci_secure_files_verification_total_count:
type: integer
format: int32
description: CI secure files verification total count
ci_secure_files_verified_count:
type: integer
format: int32
description: CI secure files verified count
ci_secure_files_verification_failed_count:
type: integer
format: int32
description: CI secure files verification failed count
container_repositories_count:
type: integer
format: int32
description: Container repositories count
container_repositories_checksum_total_count:
type: integer
format: int32
description: Container repositories checksum total count
container_repositories_checksummed_count:
type: integer
format: int32
description: Container repositories checksummed count
container_repositories_checksum_failed_count:
type: integer
format: int32
description: Container repositories checksum failed count
container_repositories_synced_count:
type: integer
format: int32
description: Container repositories synced count
container_repositories_failed_count:
type: integer
format: int32
description: Container repositories failed count
container_repositories_registry_count:
type: integer
format: int32
description: Container repositories registry count
container_repositories_verification_total_count:
type: integer
format: int32
description: Container repositories verification total count
container_repositories_verified_count:
type: integer
format: int32
description: Container repositories verified count
container_repositories_verification_failed_count:
type: integer
format: int32
description: Container repositories verification failed count
git_fetch_event_count_weekly:
type: integer
format: int32
description: Git fetch event count weekly
git_push_event_count_weekly:
type: integer
format: int32
description: Git push event count weekly
proxy_remote_requests_event_count_weekly:
type: integer
format: int32
description: Proxy remote requests event count weekly
proxy_local_requests_event_count_weekly:
type: integer
format: int32
description: Proxy local requests event count weekly
required:
- geo_node_id
description: Posts the current node status to the primary site
EE_API_Entities_GeoNodeStatus:
type: object
properties:
geo_node_id:
type: string
projects_count:
type: string
container_repositories_replication_enabled:
type: string
ci_secure_files_count:
type: string
ci_secure_files_checksum_total_count:
type: string
ci_secure_files_checksummed_count:
type: string
ci_secure_files_checksum_failed_count:
type: string
ci_secure_files_synced_count:
type: string
ci_secure_files_failed_count:
type: string
ci_secure_files_registry_count:
type: string
ci_secure_files_verification_total_count:
type: string
ci_secure_files_verified_count:
type: string
ci_secure_files_verification_failed_count:
type: string
container_repositories_count:
type: string
container_repositories_checksum_total_count:
type: string
container_repositories_checksummed_count:
type: string
container_repositories_checksum_failed_count:
type: string
container_repositories_synced_count:
type: string
container_repositories_failed_count:
type: string
container_repositories_registry_count:
type: string
container_repositories_verification_total_count:
type: string
container_repositories_verified_count:
type: string
container_repositories_verification_failed_count:
type: string
dependency_proxy_blobs_count:
type: string
dependency_proxy_blobs_checksum_total_count:
type: string
dependency_proxy_blobs_checksummed_count:
type: string
dependency_proxy_blobs_checksum_failed_count:
type: string
dependency_proxy_blobs_synced_count:
type: string
dependency_proxy_blobs_failed_count:
type: string
dependency_proxy_blobs_registry_count:
type: string
dependency_proxy_blobs_verification_total_count:
type: string
dependency_proxy_blobs_verified_count:
type: string
dependency_proxy_blobs_verification_failed_count:
type: string
dependency_proxy_manifests_count:
type: string
dependency_proxy_manifests_checksum_total_count:
type: string
dependency_proxy_manifests_checksummed_count:
type: string
dependency_proxy_manifests_checksum_failed_count:
type: string
dependency_proxy_manifests_synced_count:
type: string
dependency_proxy_manifests_failed_count:
type: string
dependency_proxy_manifests_registry_count:
type: string
dependency_proxy_manifests_verification_total_count:
type: string
dependency_proxy_manifests_verified_count:
type: string
dependency_proxy_manifests_verification_failed_count:
type: string
design_management_repositories_count:
type: string
design_management_repositories_checksum_total_count:
type: string
design_management_repositories_checksummed_count:
type: string
design_management_repositories_checksum_failed_count:
type: string
design_management_repositories_synced_count:
type: string
design_management_repositories_failed_count:
type: string
design_management_repositories_registry_count:
type: string
design_management_repositories_verification_total_count:
type: string
design_management_repositories_verified_count:
type: string
design_management_repositories_verification_failed_count:
type: string
group_wiki_repositories_count:
type: string
group_wiki_repositories_checksum_total_count:
type: string
group_wiki_repositories_checksummed_count:
type: string
group_wiki_repositories_checksum_failed_count:
type: string
group_wiki_repositories_synced_count:
type: string
group_wiki_repositories_failed_count:
type: string
group_wiki_repositories_registry_count:
type: string
group_wiki_repositories_verification_total_count:
type: string
group_wiki_repositories_verified_count:
type: string
group_wiki_repositories_verification_failed_count:
type: string
job_artifacts_count:
type: string
job_artifacts_checksum_total_count:
type: string
job_artifacts_checksummed_count:
type: string
job_artifacts_checksum_failed_count:
type: string
job_artifacts_synced_count:
type: string
job_artifacts_failed_count:
type: string
job_artifacts_registry_count:
type: string
job_artifacts_verification_total_count:
type: string
job_artifacts_verified_count:
type: string
job_artifacts_verification_failed_count:
type: string
lfs_objects_count:
type: string
lfs_objects_checksum_total_count:
type: string
lfs_objects_checksummed_count:
type: string
lfs_objects_checksum_failed_count:
type: string
lfs_objects_synced_count:
type: string
lfs_objects_failed_count:
type: string
lfs_objects_registry_count:
type: string
lfs_objects_verification_total_count:
type: string
lfs_objects_verified_count:
type: string
lfs_objects_verification_failed_count:
type: string
merge_request_diffs_count:
type: string
merge_request_diffs_checksum_total_count:
type: string
merge_request_diffs_checksummed_count:
type: string
merge_request_diffs_checksum_failed_count:
type: string
merge_request_diffs_synced_count:
type: string
merge_request_diffs_failed_count:
type: string
merge_request_diffs_registry_count:
type: string
merge_request_diffs_verification_total_count:
type: string
merge_request_diffs_verified_count:
type: string
merge_request_diffs_verification_failed_count:
type: string
package_files_count:
type: string
package_files_checksum_total_count:
type: string
package_files_checksummed_count:
type: string
package_files_checksum_failed_count:
type: string
package_files_synced_count:
type: string
package_files_failed_count:
type: string
package_files_registry_count:
type: string
package_files_verification_total_count:
type: string
package_files_verified_count:
type: string
package_files_verification_failed_count:
type: string
pages_deployments_count:
type: string
pages_deployments_checksum_total_count:
type: string
pages_deployments_checksummed_count:
type: string
pages_deployments_checksum_failed_count:
type: string
pages_deployments_synced_count:
type: string
pages_deployments_failed_count:
type: string
pages_deployments_registry_count:
type: string
pages_deployments_verification_total_count:
type: string
pages_deployments_verified_count:
type: string
pages_deployments_verification_failed_count:
type: string
pipeline_artifacts_count:
type: string
pipeline_artifacts_checksum_total_count:
type: string
pipeline_artifacts_checksummed_count:
type: string
pipeline_artifacts_checksum_failed_count:
type: string
pipeline_artifacts_synced_count:
type: string
pipeline_artifacts_failed_count:
type: string
pipeline_artifacts_registry_count:
type: string
pipeline_artifacts_verification_total_count:
type: string
pipeline_artifacts_verified_count:
type: string
pipeline_artifacts_verification_failed_count:
type: string
project_repositories_count:
type: string
project_repositories_checksum_total_count:
type: string
project_repositories_checksummed_count:
type: string
project_repositories_checksum_failed_count:
type: string
project_repositories_synced_count:
type: string
project_repositories_failed_count:
type: string
project_repositories_registry_count:
type: string
project_repositories_verification_total_count:
type: string
project_repositories_verified_count:
type: string
project_repositories_verification_failed_count:
type: string
project_wiki_repositories_count:
type: string
project_wiki_repositories_checksum_total_count:
type: string
project_wiki_repositories_checksummed_count:
type: string
project_wiki_repositories_checksum_failed_count:
type: string
project_wiki_repositories_synced_count:
type: string
project_wiki_repositories_failed_count:
type: string
project_wiki_repositories_registry_count:
type: string
project_wiki_repositories_verification_total_count:
type: string
project_wiki_repositories_verified_count:
type: string
project_wiki_repositories_verification_failed_count:
type: string
snippet_repositories_count:
type: string
snippet_repositories_checksum_total_count:
type: string
snippet_repositories_checksummed_count:
type: string
snippet_repositories_checksum_failed_count:
type: string
snippet_repositories_synced_count:
type: string
snippet_repositories_failed_count:
type: string
snippet_repositories_registry_count:
type: string
snippet_repositories_verification_total_count:
type: string
snippet_repositories_verified_count:
type: string
snippet_repositories_verification_failed_count:
type: string
terraform_state_versions_count:
type: string
terraform_state_versions_checksum_total_count:
type: string
terraform_state_versions_checksummed_count:
type: string
terraform_state_versions_checksum_failed_count:
type: string
terraform_state_versions_synced_count:
type: string
terraform_state_versions_failed_count:
type: string
terraform_state_versions_registry_count:
type: string
terraform_state_versions_verification_total_count:
type: string
terraform_state_versions_verified_count:
type: string
terraform_state_versions_verification_failed_count:
type: string
uploads_count:
type: string
uploads_checksum_total_count:
type: string
uploads_checksummed_count:
type: string
uploads_checksum_failed_count:
type: string
uploads_synced_count:
type: string
uploads_failed_count:
type: string
uploads_registry_count:
type: string
uploads_verification_total_count:
type: string
uploads_verified_count:
type: string
uploads_verification_failed_count:
type: string
git_fetch_event_count_weekly:
type: string
git_push_event_count_weekly:
type: string
proxy_remote_requests_event_count_weekly:
type: string
proxy_local_requests_event_count_weekly:
type: string
repositories_checked_in_percentage:
type: string
replication_slots_used_in_percentage:
type: string
ci_secure_files_synced_in_percentage:
type: string
ci_secure_files_verified_in_percentage:
type: string
container_repositories_synced_in_percentage:
type: string
container_repositories_verified_in_percentage:
type: string
dependency_proxy_blobs_synced_in_percentage:
type: string
dependency_proxy_blobs_verified_in_percentage:
type: string
dependency_proxy_manifests_synced_in_percentage:
type: string
dependency_proxy_manifests_verified_in_percentage:
type: string
design_management_repositories_synced_in_percentage:
type: string
design_management_repositories_verified_in_percentage:
type: string
group_wiki_repositories_synced_in_percentage:
type: string
group_wiki_repositories_verified_in_percentage:
type: string
job_artifacts_synced_in_percentage:
type: string
job_artifacts_verified_in_percentage:
type: string
lfs_objects_synced_in_percentage:
type: string
lfs_objects_verified_in_percentage:
type: string
merge_request_diffs_synced_in_percentage:
type: string
merge_request_diffs_verified_in_percentage:
type: string
package_files_synced_in_percentage:
type: string
package_files_verified_in_percentage:
type: string
pages_deployments_synced_in_percentage:
type: string
pages_deployments_verified_in_percentage:
type: string
pipeline_artifacts_synced_in_percentage:
type: string
pipeline_artifacts_verified_in_percentage:
type: string
project_repositories_synced_in_percentage:
type: string
project_repositories_verified_in_percentage:
type: string
project_wiki_repositories_synced_in_percentage:
type: string
project_wiki_repositories_verified_in_percentage:
type: string
snippet_repositories_synced_in_percentage:
type: string
snippet_repositories_verified_in_percentage:
type: string
terraform_state_versions_synced_in_percentage:
type: string
terraform_state_versions_verified_in_percentage:
type: string
uploads_synced_in_percentage:
type: string
uploads_verified_in_percentage:
type: string
repositories_count:
type: string
replication_slots_count:
type: string
replication_slots_used_count:
type: string
healthy:
type: string
health:
type: string
health_status:
type: string
missing_oauth_application:
type: string
db_replication_lag_seconds:
type: string
replication_slots_max_retained_wal_bytes:
type: string
repositories_checked_count:
type: string
repositories_checked_failed_count:
type: string
last_event_id:
type: string
last_event_timestamp:
type: string
cursor_last_event_id:
type: string
cursor_last_event_timestamp:
type: string
last_successful_status_check_timestamp:
type: string
version:
type: string
revision:
type: string
selective_sync_type:
type: string
namespaces:
"$ref": "#/definitions/API_Entities_NamespaceBasic"
updated_at:
type: string
storage_shards:
"$ref": "#/definitions/StorageShardEntity"
storage_shards_match:
type: string
_links:
type: object
properties:
self:
type: string
node:
type: string
description: EE_API_Entities_GeoNodeStatus model
StorageShardEntity:
type: object
properties:
name:
type: string
postApiV4GeoProxyGitSshInfoRefsUploadPack:
type: object
properties:
secret_token:
type: string
description: Secret token to authenticate by gitlab shell
data:
type: object
properties:
gl_id:
type: string
description: GitLab identifier of user that initiated the clone/pull
primary_repo:
type: string
description: Primary repository to clone/pull
required:
- gl_id
- primary_repo
required:
- secret_token
- data
description: |-
Responsible for making HTTP GET /repo.git/info/refs?service=git-upload-pack
request from secondary gitlab-shell to primary
postApiV4GeoProxyGitSshUploadPack:
type: object
properties:
secret_token:
type: string
data:
type: object
properties:
gl_id:
type: string
primary_repo:
type: string
required:
- gl_id
- primary_repo
output:
type: string
description: Output from git-upload-pack
required:
- secret_token
- data
- output
description: |-
Responsible for making HTTP POST /repo.git/git-upload-pack
request from secondary gitlab-shell to primary
postApiV4GeoProxyGitSshInfoRefsReceivePack:
type: object
properties:
secret_token:
type: string
data:
type: object
properties:
gl_id:
type: string
primary_repo:
type: string
required:
- gl_id
- primary_repo
required:
- secret_token
- data
description: |-
Responsible for making HTTP GET /repo.git/info/refs?service=git-receive-pack
request from secondary gitlab-shell to primary
postApiV4GeoProxyGitSshReceivePack:
type: object
properties:
secret_token:
type: string
data:
type: object
properties:
gl_id:
type: string
primary_repo:
type: string
required:
- gl_id
- primary_repo
output:
type: string
description: Output from git-receive-pack
required:
- secret_token
- data
- output
description: |-
Responsible for making HTTP POST /repo.git/info/refs?service=git-receive-pack
request from secondary gitlab-shell to primary
postApiV4IntegrationsSlackEvents:
type: object
properties:
token:
type: string
description: "(Deprecated by Slack) The request token, unused by GitLab"
team_id:
type: string
description: The Slack workspace ID of where the event occurred
api_app_id:
type: string
description: The Slack app ID
event:
type: object
description: The event object with variable properties
type:
type: string
description: The kind of event this is, usually `event_callback`
event_id:
type: string
description: A unique identifier for this specific event
event_time:
type: integer
format: int32
description: The epoch timestamp in seconds when this event was dispatched
authed_users:
type: array
description: "(Deprecated by Slack) An array of Slack user IDs"
items:
type: string
description: Receive Slack events
postApiV4IntegrationsJiraConnectSubscriptions:
type: object
properties:
jwt:
type: string
description: JWT token for authorization with the Jira Connect installation
namespace_path:
type: string
description: Path for the namespace that should be subscribed
required:
- jwt
- namespace_path
description: Subscribe a namespace to a JiraConnectInstallation
API_Entities_BasicSuccess:
type: object
properties:
success:
type: object
properties: {}
description: API_Entities_BasicSuccess model
API_Entities_SSHKeyWithUser:
type: object
properties:
id:
type: integer
format: int32
example: 1
title:
type: string
example: Sample key 25
created_at:
type: string
format: date-time
example: '2015-09-03T07:24:44.627Z'
expires_at:
type: string
format: date-time
example: '2020-09-03T07:24:44.627Z'
last_used_at:
type: string
format: date-time
example: '2020-09-03T07:24:44.627Z'
key:
type: string
example: |-
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1256k6Yjz\
GGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCdd\
NaP0L+hM7zhFNzjFvpaMgJw0=
usage_type:
type: string
example: auth
user:
"$ref": "#/definitions/API_Entities_UserPublic"
description: API_Entities_SSHKeyWithUser model
API_Entities_UserWithAdmin:
type: object
properties:
id:
type: integer
format: int32
example: 1
username:
type: string
example: admin
public_email:
type: string
example: john@example.com
name:
type: string
example: Administrator
state:
type: string
example: active
locked:
type: boolean
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": "#/definitions/API_Entities_CustomAttribute"
web_url:
type: string
example: https://gitlab.example.com/root
created_at:
type: string
bio:
type: string
location:
type: string
linkedin:
type: string
twitter:
type: string
discord:
type: string
website_url:
type: string
github:
type: string
organization:
type: string
job_title:
type: string
pronouns:
type: string
bot:
type: string
work_information:
type: string
followers:
type: string
following:
type: string
is_followed:
type: string
local_time:
type: string
last_sign_in_at:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
confirmed_at:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
last_activity_on:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
email:
type: string
example: john@example.com
theme_id:
type: integer
format: int32
example: 2
color_scheme_id:
type: integer
format: int32
example: 1
projects_limit:
type: integer
format: int32
example: 10
current_sign_in_at:
type: string
format: date-time
example: '2015-09-03T07:24:01.670Z'
identities:
"$ref": "#/definitions/API_Entities_Identity"
can_create_group:
type: boolean
example: true
can_create_project:
type: boolean
example: true
two_factor_enabled:
type: boolean
example: true
external:
type: string
private_profile:
type: boolean
example: 'null'
commit_email:
type: string
shared_runners_minutes_limit:
type: string
extra_shared_runners_minutes_limit:
type: string
scim_identities:
"$ref": "#/definitions/API_Entities_ScimIdentity"
is_admin:
type: string
note:
type: string
namespace_id:
type: string
created_by:
"$ref": "#/definitions/API_Entities_UserBasic"
email_reset_offered_at:
type: string
using_license_seat:
type: string
is_auditor:
type: string
provisioned_by_group_id:
type: string
enterprise_group_id:
type: string
enterprise_group_associated_at:
type: string
description: API_Entities_UserWithAdmin model
postApiV4Markdown:
type: object
properties:
text:
type: string
description: The Markdown text to render
gfm:
type: boolean
description: Render text using GitLab Flavored Markdown. Default is false
project:
type: string
description: Use project as a context when creating references using GitLab
Flavored Markdown
required:
- text
description: Render an arbitrary Markdown document
API_Entities_Markdown:
type: object
properties:
html:
type: string
example: <p dir=\"auto\">Hello world!</p>"
description: API_Entities_Markdown model
putApiV4NamespacesId:
type: object
properties:
shared_runners_minutes_limit:
type: integer
format: int32
description: Compute minutes quota for this namespace
extra_shared_runners_minutes_limit:
type: integer
format: int32
description: Extra compute minutes for this namespace
additional_purchased_storage_size:
type: integer
format: int32
description: Additional storage size for this namespace
additional_purchased_storage_ends_on:
type: string
format: date
description: End of subscription of the additional purchased storage
gitlab_subscription_attributes:
type: object
properties:
start_date:
type: string
format: date
description: Start date of subscription
seats:
type: integer
format: int32
description: Number of seats in subscription
max_seats_used:
type: integer
format: int32
description: Highest number of active users in the last month
plan_code:
type: string
description: Subscription tier code
end_date:
type: string
format: date
description: End date of subscription
auto_renew:
type: boolean
description: Whether subscription will auto renew on end date
trial:
type: boolean
description: Whether the subscription is a trial
trial_ends_on:
type: string
format: date
description: End date of trial
trial_starts_on:
type: string
format: date
description: Start date of trial
trial_extension_type:
type: integer
format: int32
description: Whether subscription is an extended or reactivated trial
description: "[DEPRECATED] Update a namespace"
API_Entities_Namespace:
type: object
properties:
id:
type: integer
format: int32
example: 2
name:
type: string
example: project
path:
type: string
example: my_project
kind:
type: string
example: project
full_path:
type: string
example: group/my_project
parent_id:
type: integer
format: int32
example: 1
avatar_url:
type: string
example: https://example.com/avatar/12345
web_url:
type: string
example: https://example.com/group/my_project
members_count_with_descendants:
type: integer
format: int32
example: 5
root_repository_size:
type: integer
format: int32
example: 123
projects_count:
type: integer
format: int32
example: 123
shared_runners_minutes_limit:
type: integer
format: int32
example: 133
extra_shared_runners_minutes_limit:
type: integer
format: int32
example: 133
additional_purchased_storage_size:
type: integer
format: int32
example: 1000
additional_purchased_storage_ends_on:
type: string
format: date
example: '2022-06-18'
billable_members_count:
type: integer
format: int32
example: 2
seats_in_use:
type: integer
format: int32
example: 5
max_seats_used:
type: integer
format: int32
example: 100
max_seats_used_changed_at:
type: string
format: date
example: '2022-06-18'
end_date:
type: string
format: date
example: '2022-06-18'
plan:
type: string
example: default
trial_ends_on:
type: string
format: date
example: '2022-06-18'
trial:
type: boolean
description: API_Entities_Namespace model
API_Entities_GitlabSubscription:
type: object
properties:
plan:
type: object
properties:
code:
type: string
name:
type: string
trial:
type: string
auto_renew:
type: string
upgradable:
type: string
exclude_guests:
type: string
usage:
type: object
properties:
seats_in_subscription:
type: string
seats_in_use:
type: string
max_seats_used:
type: string
seats_owed:
type: string
billing:
type: object
properties:
subscription_start_date:
type: string
subscription_end_date:
type: string
trial_ends_on:
type: string
description: API_Entities_GitlabSubscription model
postApiV4NamespacesIdStorageLimitExclusion:
type: object
properties:
reason:
type: string
description: The reason the Namespace is being excluded
required:
- reason
description: Creates a storage limit exclusion for a Namespace
API_Entities_Namespaces_Storage_LimitExclusion:
type: object
properties:
id:
type: integer
format: int32
example: 1
namespace_id:
type: integer
format: int32
example: 123
namespace_name:
type: string
example: GitLab
reason:
type: string
example: a reason
description: API_Entities_Namespaces_Storage_LimitExclusion model
API_Entities_NamespaceExistence:
type: object
properties:
exists:
type: boolean
suggests:
type: array
items:
type: string
example: my-group1
description: API_Entities_NamespaceExistence model
postApiV4Organizations:
type: object
properties:
name:
type: string
description: The name of the organization
path:
type: string
description: The path of the organization
description:
type: string
description: The description of the organization
avatar:
type: file
description: The avatar image for the organization
required:
- name
- path
description: Create an organization
API_Entities_Organizations_Organization:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: GitLab
path:
type: string
example: gitlab
description:
type: string
example: My description
created_at:
type: string
format: date-time
example: '2022-02-24T20:22:30.097Z'
updated_at:
type: string
format: date-time
example: '2022-02-24T20:22:30.097Z'
web_url:
type: string
example: https://example.com/-/organizations/gitlab
avatar_url:
type: string
example: https://example.com/uploads/-/system/organizations/organization_detail/avatar/1/avatar.png
description: API_Entities_Organizations_Organization model
API_Entities_PagesDomainBasic:
type: object
properties:
domain:
type: string
url:
type: string
project_id:
type: string
verified:
type: string
verification_code:
type: string
enabled_until:
type: string
auto_ssl_enabled:
type: string
certificate_expiration:
"$ref": "#/definitions/API_Entities_PagesDomainCertificateExpiration"
description: API_Entities_PagesDomainBasic model
API_Entities_PagesDomainCertificateExpiration:
type: object
properties:
expired:
type: string
expiration:
type: string
API_Entities_PersonalAccessTokenWithLastUsedIps:
type: object
properties:
id:
type: integer
format: int32
example: 2
name:
type: string
example: John Doe
revoked:
type: boolean
created_at:
type: string
format: date-time
description:
type: string
example: Token to manage api
scopes:
type: array
example:
- api
user_id:
type: integer
format: int32
example: 3
last_used_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
active:
type: boolean
expires_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
last_used_ips:
type: array
example:
- 127.0.0.1
- 127.0.0.2
- 127.0.0.3
description: API_Entities_PersonalAccessTokenWithLastUsedIps model
API_Entities_PersonalAccessToken:
type: object
properties:
id:
type: integer
format: int32
example: 2
name:
type: string
example: John Doe
revoked:
type: boolean
created_at:
type: string
format: date-time
description:
type: string
example: Token to manage api
scopes:
type: array
example:
- api
user_id:
type: integer
format: int32
example: 3
last_used_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
active:
type: boolean
expires_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
description: API_Entities_PersonalAccessToken model
postApiV4PersonalAccessTokensSelfRotate:
type: object
properties:
expires_at:
type: string
format: date
description: The expiration date of the token
example: '2021-01-31'
description: Rotate a personal access token
API_Entities_PersonalAccessTokenWithToken:
type: object
properties:
id:
type: integer
format: int32
example: 2
name:
type: string
example: John Doe
revoked:
type: boolean
created_at:
type: string
format: date-time
description:
type: string
example: Token to manage api
scopes:
type: array
example:
- api
user_id:
type: integer
format: int32
example: 3
last_used_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
active:
type: boolean
expires_at:
type: string
format: date-time
example: '2020-08-31T15:53:00.073Z'
token:
type: string
description: API_Entities_PersonalAccessTokenWithToken model
postApiV4PersonalAccessTokensIdRotate:
type: object
properties:
expires_at:
type: string
format: date
description: The expiration date of the token
example: '2021-01-31'
description: Rotate personal access token
API_Entities_Snippet:
type: object
properties:
id:
type: integer
format: int32
example: 1
title:
type: string
example: test
description:
type: string
example: Ruby test snippet
visibility:
type: string
example: public
author:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2012-06-28T10:52:04Z'
updated_at:
type: string
format: date-time
example: '2012-06-28T10:52:04Z'
project_id:
type: integer
format: int32
example: 1
web_url:
type: string
example: http://example.com/example/example/snippets/1
raw_url:
type: string
example: http://example.com/example/example/snippets/1/raw
ssh_url_to_repo:
type: string
example: ssh://user@gitlab.example.com/snippets/65.git
http_url_to_repo:
type: string
example: https://gitlab.example.com/snippets/65.git
file_name:
type: string
example: add.rb
files:
type: array
items:
type: string
example: e0d123e5f316bef78bfdf5a008837577
imported:
type: boolean
example: false
imported_from:
type: string
example: none
repository_storage:
type: string
description: API_Entities_Snippet model
API_Entities_PersonalSnippet:
type: object
properties:
id:
type: integer
format: int32
example: 1
title:
type: string
example: test
description:
type: string
example: Ruby test snippet
visibility:
type: string
example: public
author:
"$ref": "#/definitions/API_Entities_UserBasic"
created_at:
type: string
format: date-time
example: '2012-06-28T10:52:04Z'
updated_at:
type: string
format: date-time
example: '2012-06-28T10:52:04Z'
project_id:
type: integer
format: int32
example: 1
web_url:
type: string
example: http://example.com/example/example/snippets/1
raw_url:
type: string
example: http://example.com/example/example/snippets/1/raw
ssh_url_to_repo:
type: string
example: ssh://user@gitlab.example.com/snippets/65.git
http_url_to_repo:
type: string
example: https://gitlab.example.com/snippets/65.git
file_name:
type: string
example: add.rb
files:
type: array
items:
type: string
example: e0d123e5f316bef78bfdf5a008837577
imported:
type: boolean
example: false
imported_from:
type: string
example: none
repository_storage:
type: string
description: API_Entities_PersonalSnippet model
postApiV4Snippets:
type: object
properties:
title:
type: string
description: The title of a snippet
description:
type: string
description: The description of a snippet
visibility:
type: string
description: The visibility of the snippet
enum:
- private
- internal
- public
default: internal
files:
type: array
description: An array of files
items:
type: object
properties:
file_path:
type: string
description: The path of a snippet file
content:
type: string
description: The content of a snippet file
required:
- file_path
- content
content:
type: string
description: The content of a snippet
file_name:
type: string
description: The name of a snippet file
required:
- title
- file_name
description: Create new snippet
putApiV4SnippetsId:
type: object
properties:
content:
type: string
description: The content of a snippet
description:
type: string
description: The description of a snippet
file_name:
type: string
description: The name of a snippet file
title:
type: string
description: The title of a snippet
visibility:
type: string
description: The visibility of the snippet
enum:
- private
- internal
- public
files:
type: array
description: An array of files to update
items:
type: object
properties:
action:
type: string
description: 'The type of action to perform on the file, must be one
of: create, update, delete, move'
enum:
- create
- update
- delete
- move
content:
type: string
description: The content of a snippet
file_path:
type: string
description: The file path of a snippet file
previous_path:
type: string
description: The previous path of a snippet file
required:
- action
description: Update an existing snippet
putApiV4SuggestionsIdApply:
type: object
properties:
commit_message:
type: string
description: A custom commit message to use instead of the default generated
message or the project's default message
description: Apply suggestion patch in the Merge Request it was created
putApiV4SuggestionsBatchApply:
type: object
properties:
ids:
type: array
description: An array of the suggestion IDs
items:
type: integer
format: int32
commit_message:
type: string
description: A custom commit message to use instead of the default generated
message or the project's default message
required:
- ids
description: Apply multiple suggestion patches in the Merge Request where they
were created
putApiV4HooksHookIdUrlVariablesKey:
type: object
properties:
value:
type: string
description: The value of the variable
required:
- value
description: Set a url variable
putApiV4HooksHookIdCustomHeadersKey:
type: object
properties:
value:
type: string
description: The value of the custom header
required:
- value
description: Set a custom header
API_Entities_Hook:
type: object
properties:
id:
type: string
example: 1
url:
type: string
example: https://webhook.site
name:
type: string
example: Hook name
description:
type: string
example: Hook description
created_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
push_events:
type: boolean
tag_push_events:
type: boolean
merge_requests_events:
type: boolean
repository_update_events:
type: boolean
enable_ssl_verification:
type: boolean
alert_status:
type: symbol
example: executable
disabled_until:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
url_variables:
type: array
items:
type: object
example:
token: secr3t
push_events_branch_filter:
type: string
example: my-branch-*
branch_filter_strategy:
type: string
example: wildcard
custom_webhook_template:
type: string
example: '{"event":"{{object_kind}}"}'
custom_headers:
type: array
items:
type: object
example:
X-Custom-Header: value
description: API_Entities_Hook model
postApiV4Hooks:
type: object
properties:
url:
type: string
description: The URL to send the request to
example: http://example.com/hook
name:
type: string
description: Name of the hook
description:
type: string
description: Description of the hook
token:
type: string
description: Secret token to validate received payloads; this isn't returned
in the response
push_events:
type: boolean
description: When true, the hook fires on push events
tag_push_events:
type: boolean
description: When true, the hook fires on new tags being pushed
merge_requests_events:
type: boolean
description: Trigger hook on merge requests events
repository_update_events:
type: boolean
description: Trigger hook on repository update events
enable_ssl_verification:
type: boolean
description: Do SSL verification when triggering the hook
push_events_branch_filter:
type: string
description: Trigger hook on specified branch only
branch_filter_strategy:
type: string
description: Filter push events by branch. Possible values are `wildcard`
(default), `regex`, and `all_branches`
enum:
- wildcard
- regex
- all_branches
url_variables:
type: array
description: URL variables for interpolation
items:
type: object
properties:
key:
type: string
description: Name of the variable
example: token
value:
type: string
description: Value of the variable
example: '123'
required:
- key
- value
custom_headers:
type: array
description: Custom headers
items:
type: object
properties:
key:
type: string
description: Name of the header
example: X-Custom-Header
value:
type: string
description: Value of the header
example: value
required:
- key
- value
required:
- url
description: Add new system hook
putApiV4HooksHookId:
type: object
properties:
url:
type: string
description: The URL to send the request to
name:
type: string
description: Name of the hook
description:
type: string
description: Description of the hook
token:
type: string
description: Secret token to validate received payloads; this isn't returned
in the response
push_events:
type: boolean
description: When true, the hook fires on push events
tag_push_events:
type: boolean
description: When true, the hook fires on new tags being pushed
merge_requests_events:
type: boolean
description: Trigger hook on merge requests events
repository_update_events:
type: boolean
description: Trigger hook on repository update events
enable_ssl_verification:
type: boolean
description: Do SSL verification when triggering the hook
push_events_branch_filter:
type: string
description: Trigger hook on specified branch only
branch_filter_strategy:
type: string
description: Filter push events by branch. Possible values are `wildcard`
(default), `regex`, and `all_branches`
enum:
- wildcard
- regex
- all_branches
url_variables:
type: array
description: URL variables for interpolation
items:
type: object
properties:
key:
type: string
description: Name of the variable
example: token
value:
type: string
description: Value of the variable
example: '123'
required:
- key
- value
custom_headers:
type: array
description: Custom headers
items:
type: object
properties:
key:
type: string
description: Name of the header
example: X-Custom-Header
value:
type: string
description: Value of the header
example: value
required:
- key
- value
description: Edit system hook
postApiV4FeatureFlagsUnleashProjectIdClientRegister:
type: object
properties:
instance_id:
type: string
description: The instance ID of Unleash Client
app_name:
type: string
description: The application name of Unleash Client
postApiV4FeatureFlagsUnleashProjectIdClientMetrics:
type: object
properties:
instance_id:
type: string
description: The instance ID of Unleash Client
app_name:
type: string
description: The application name of Unleash Client
postApiV4UsageDataIncrementCounter:
type: object
properties:
event:
type: string
description: The event name that should be tracked
example: i_quickactions_page
required:
- event
description: Track usage data event
postApiV4UsageDataIncrementUniqueUsers:
type: object
properties:
event:
type: string
description: The event name that should be tracked
example: i_quickactions_page
required:
- event
description: Track usage data event for the current user
postApiV4UsageDataTrackEvents:
type: object
properties:
events:
type: array
description: An array of internal events. Maximum 50 events allowed.
items:
type: object
properties:
event:
type: string
description: The event name that should be tracked
example: i_quickactions_page
namespace_id:
type: integer
format: int32
description: Namespace ID
example: 1234
project_id:
type: integer
format: int32
description: Project ID
example: 1234
additional_properties:
type: object
description: Additional properties to be tracked
example:
label: login_button
value: 1
send_to_snowplow:
type: boolean
description: Send the tracked event to Snowplow
default: false
example: true
required:
- event
required:
- events
description: Track multiple gitlab internal events
postApiV4UsageDataTrackEvent:
type: object
properties:
event:
type: string
description: The event name that should be tracked
example: i_quickactions_page
namespace_id:
type: integer
format: int32
description: Namespace ID
example: 1234
project_id:
type: integer
format: int32
description: Project ID
example: 1234
additional_properties:
type: object
description: Additional properties to be tracked
example:
label: login_button
value: 1
send_to_snowplow:
type: boolean
description: Send the tracked event to Snowplow
default: false
example: true
required:
- event
description: Track gitlab internal events
API_Entities_UserCounts:
type: object
properties:
merge_requests:
type: integer
format: int32
example: 10
assigned_issues:
type: integer
format: int32
example: 10
assigned_merge_requests:
type: integer
format: int32
example: 10
review_requested_merge_requests:
type: integer
format: int32
example: 10
todos:
type: integer
format: int32
example: 10
description: API_Entities_UserCounts model
postApiV4UserRunners:
type: object
properties:
runner_type:
type: string
description: Specifies the scope of the runner
enum:
- instance_type
- group_type
- project_type
group_id:
type: integer
format: int32
description: The ID of the group that the runner is created in
example: 1
project_id:
type: integer
format: int32
description: The ID of the project that the runner is created in
example: 1
description:
type: string
description: Description of the runner
maintenance_note:
type: string
description: Free-form maintenance notes for the runner (1024 characters)
paused:
type: boolean
description: Specifies if the runner should ignore new jobs (defaults to false)
locked:
type: boolean
description: Specifies if the runner should be locked for the current project
(defaults to false)
access_level:
type: string
description: The access level of the runner
enum:
- not_protected
- ref_protected
run_untagged:
type: boolean
description: Specifies if the runner should handle untagged jobs (defaults
to true)
tag_list:
type: array
description: A list of runner tags
items:
type: string
maximum_timeout:
type: integer
format: int32
description: Maximum timeout that limits the amount of time (in seconds) that
runners can run jobs
required:
- runner_type
- group_id
- project_id
description: Create a runner owned by currently authenticated user
API_Entities_PlanLimit:
type: object
properties:
ci_instance_level_variables:
type: integer
format: int32
example: 25
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
dotenv_variables:
type: integer
format: int32
example: 20
dotenv_size:
type: integer
format: int32
example: 5120
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
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
putApiV4ApplicationPlanLimits:
type: object
properties:
plan_name:
type: string
description: Name of the plan to update
enum:
- default
- free
- bronze
- silver
- premium
- gold
- ultimate
- ultimate_trial
- ultimate_trial_paid_customer
- premium_trial
- opensource
ci_instance_level_variables:
type: integer
format: int32
description: Maximum number of Instance-level CI/CD variables that can be
defined
ci_pipeline_size:
type: integer
format: int32
description: Maximum number of jobs in a single pipeline
ci_active_jobs:
type: integer
format: int32
description: Total number of jobs in currently active pipelines
ci_project_subscriptions:
type: integer
format: int32
description: Maximum number of pipeline subscriptions to and from a project
ci_pipeline_schedules:
type: integer
format: int32
description: Maximum number of pipeline schedules
ci_needs_size_limit:
type: integer
format: int32
description: Maximum number of needs dependencies that a job can have
ci_registered_group_runners:
type: integer
format: int32
description: Maximum number of runners created or active in a group during
the past seven days
ci_registered_project_runners:
type: integer
format: int32
description: Maximum number of runners created or active in a project during
the past seven days
conan_max_file_size:
type: integer
format: int32
description: Maximum Conan package file size in bytes
dotenv_size:
type: integer
format: int32
description: Maximum size of a dotenv artifact in bytes
dotenv_variables:
type: integer
format: int32
description: Maximum number of variables in a dotenv artifact
enforcement_limit:
type: integer
format: int32
description: Maximum storage size for the root namespace enforcement in MiB
generic_packages_max_file_size:
type: integer
format: int32
description: Maximum generic package file size in bytes
helm_max_file_size:
type: integer
format: int32
description: Maximum Helm chart file size in bytes
maven_max_file_size:
type: integer
format: int32
description: Maximum Maven package file size in bytes
notification_limit:
type: integer
format: int32
description: Maximum storage size for the root namespace notifications in
MiB
npm_max_file_size:
type: integer
format: int32
description: Maximum NPM package file size in bytes
nuget_max_file_size:
type: integer
format: int32
description: Maximum NuGet package file size in bytes
pypi_max_file_size:
type: integer
format: int32
description: Maximum PyPI package file size in bytes
terraform_module_max_file_size:
type: integer
format: int32
description: Maximum Terraform Module package file size in bytes
storage_size_limit:
type: integer
format: int32
description: Maximum storage size for the root namespace in MiB
pipeline_hierarchy_size:
type: integer
format: int32
description: Maximum number of downstream pipelines in a pipeline's hierarchy
tree
required:
- plan_name
description: Change plan limits
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
member_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_ApplicationStatistics:
type: object
properties:
forks:
type: integer
format: int32
example: 6
description: Approximate number of repo forks
issues:
type: integer
format: int32
example: 121
description: Approximate number of issues
merge_requests:
type: integer
format: int32
example: 49
description: Approximate number of merge requests
notes:
type: integer
format: int32
example: 6
description: Approximate number of notes
snippets:
type: integer
format: int32
example: 4
description: Approximate number of snippets
ssh_keys:
type: integer
format: int32
example: 11
description: Approximate number of SSH keys
milestones:
type: integer
format: int32
example: 3
description: Approximate number of milestones
users:
type: integer
format: int32
example: 22
description: Approximate number of users
projects:
type: integer
format: int32
example: 4
description: Approximate number of projects
groups:
type: integer
format: int32
example: 1
description: Approximate number of projects
active_users:
type: integer
format: int32
example: 21
description: Number of active users
description: API_Entities_ApplicationStatistics model
API_Entities_DiscoveredClusters:
type: object
properties:
groups:
type: string
projects:
type: string
description: API_Entities_DiscoveredClusters model
postApiV4DeployKeys:
type: object
properties:
key:
type: string
description: New deploy key
title:
type: string
description: New deploy key's title
expires_at:
type: string
format: date-time
description: The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
required:
- key
- title
description: Create a deploy key
postApiV4ImportBitbucket:
type: object
properties:
bitbucket_username:
type: string
description: BitBucket username
bitbucket_app_password:
type: string
description: BitBucket app password
repo_path:
type: string
description: Repository path
target_namespace:
type: string
description: Target namespace
new_name:
type: string
description: New repository name
required:
- bitbucket_username
- bitbucket_app_password
- repo_path
- target_namespace
description: Import a BitBucket Cloud repository
ProjectImportEntity:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: GitLab
full_path:
type: string
example: gitlab-org/gitlab
full_name:
type: string
example: GitLab Org / GitLab
refs_url:
type: string
forked:
type: boolean
example: true
import_source:
type: string
example: source/source-repo
import_status:
type: string
enum:
- scheduled
- started
- finished
- failed
- canceled
example: scheduled
human_import_status_name:
type: string
example: canceled
provider_link:
type: string
example: "/source/source-repo"
import_error:
type: string
import_warning:
type: string
relation_type:
type: string
description: ProjectImportEntity model
postApiV4ImportBitbucketServer:
type: object
properties:
bitbucket_server_url:
type: string
description: Bitbucket Server URL
bitbucket_server_username:
type: string
description: BitBucket Server Username
personal_access_token:
type: string
description: BitBucket Server personal access token/password
bitbucket_server_project:
type: string
description: BitBucket Server Project Key
bitbucket_server_repo:
type: string
description: BitBucket Server Repository Name
new_name:
type: string
description: New repo name
new_namespace:
type: string
description: Namespace to import repo into
timeout_strategy:
type: string
description: Strategy for behavior on timeouts
enum:
- optimistic
- pessimistic
required:
- bitbucket_server_url
- bitbucket_server_username
- personal_access_token
- bitbucket_server_project
- bitbucket_server_repo
description: Import a BitBucket Server repository
ProjectEntity:
type: object
properties:
id:
type: integer
format: int32
example: 1
name:
type: string
example: GitLab
full_path:
type: string
example: gitlab-org/gitlab
full_name:
type: string
example: GitLab Org / GitLab
refs_url:
type: string
forked:
type: boolean
example: true
description: ProjectEntity model
postApiV4ImportGithub:
type: object
properties:
personal_access_token:
type: string
description: GitHub personal access token
repo_id:
type: integer
format: int32
description: GitHub repository ID
new_name:
type: string
description: New repo name
target_namespace:
type: string
description: Namespace or group to import repository into
github_hostname:
type: string
description: 'Custom GitHub enterprise hostname. For example: https://github.example.com.
From GitLab 16.5 to GitLab 17.1, you must include the path `/api/v3`.'
optional_stages:
type: object
description: Optional stages of import to be performed
timeout_strategy:
type: string
description: Strategy for behavior on timeouts
enum:
- optimistic
- pessimistic
pagination_limit:
type: integer
format: int32
description: Pagination limit
required:
- personal_access_token
- repo_id
- target_namespace
description: Import a GitHub project
postApiV4ImportGithubCancel:
type: object
properties:
project_id:
type: integer
format: int32
description: ID of importing project to be canceled
required:
- project_id
description: Cancel GitHub project import
postApiV4ImportGithubGists:
type: object
properties:
personal_access_token:
type: string
description: GitHub personal access token
required:
- personal_access_token
description: Import User Gists
postApiV4SlackTrigger:
type: object
properties:
text:
type: string
description: Text of the slack command
required:
- text
description: Trigger a global slack command
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
externalK8sProxyUrl:
type: string
example: https://gitlab.example.com:8150/k8s-proxy
version:
type: string
example: 15.0.0
enterprise:
type: boolean
description: API_Entities_Metadata model
API_Entities_Projects_Topic:
type: object
properties:
id:
type: string
name:
type: string
title:
type: string
description:
type: string
total_projects_count:
type: string
organization_id:
type: string
avatar_url:
type: string
description: API_Entities_Projects_Topic model
postApiV4Topics:
type: object
properties:
name:
type: string
description: Slug (name)
title:
type: string
description: Title
description:
type: string
description: Description
avatar:
type: file
description: Avatar image for topic
organization_id:
type: integer
format: int32
description: The organization id for the topic
default: {}
required:
- name
- title
description: Create a topic
putApiV4TopicsId:
type: object
properties:
name:
type: string
description: Slug (name)
title:
type: string
description: Title
description:
type: string
description: Description
avatar:
type: file
description: Avatar image for topic
description: Update a topic
postApiV4TopicsMerge:
type: object
properties:
source_topic_id:
type: integer
format: int32
description: ID of source project topic
target_topic_id:
type: integer
format: int32
description: ID of target project topic
required:
- source_topic_id
- target_topic_id
description: Merge topics