############################################################################################# # This documentation is auto-generated by a script. # # Please do not edit this file directly. # # # # To edit the introductory text, modify `lib/tasks/gitlab/openapi/v2.rake`. # # # # Run `bin/rake gitlab:openapi:v2:generate` # ############################################################################################# --- info: title: GitLab API version: v4 swagger: '2.0' produces: - application/json securityDefinitions: access_token_header: type: apiKey name: PRIVATE-TOKEN in: header access_token_query: type: apiKey name: private_token in: query host: gitlab.com tags: - name: award_emoji description: Operations about award_emoji - name: badges description: Operations about badges - name: custom_attributes description: Operations about custom_attributes - name: groups description: Operations about groups - name: ldap description: Operations about ldaps - name: audit_events description: Operations about audit_events - name: keys description: Operations about keys - name: runners description: Operations about runners - name: packages description: Operations about packages - name: deploy_resources description: Operations about deploy_resources - name: avatars description: Operations about avatars - name: group_import_and_export description: Operations about group_import_and_exports - name: invitations description: Operations about invitations - name: members description: Operations about members - name: access_tokens description: Operations about access_tokens - name: search description: Operations about searches - name: wikis description: Operations about wikis - name: alert_management description: Operations about alert_managements - name: branches description: Operations about branches - name: ci_catalog description: Operations about ci_catalogs - name: job_artifacts description: Operations about job_artifacts - name: ci_jobs description: Operations about ci_jobs - name: secure_files description: Operations about secure_files - name: pipelines description: Operations about pipelines - name: pipeline_schedules description: Operations about pipeline_schedules - name: ci_triggers description: Operations about ci_triggers - name: commits description: Operations about commits - name: commit_statuses description: Operations about commit_statuses - name: draft_notes description: Operations about draft_notes - name: error_tracking description: Operations about error_trackings - name: files description: Operations about files - name: issues description: Operations about issues - name: metric_images description: Operations about metric_images - name: merge_request_approvals description: Operations about merge_request_approvals - name: gitlab_pages description: Operations about gitlab_pages - name: events description: Operations about events - name: hooks description: Operations about hooks - name: projects_job_token_scope description: Operations about projects_job_token_scopes - name: project_snapshots description: Operations about project_snapshots - name: snippets description: Operations about snippets - name: project_templates description: Operations about project_templates - name: protected_branches description: Operations about protected_branches - name: protected_tags description: Operations about protected_tags - name: remote_mirrors description: Operations about remote_mirrors - name: repositories description: Operations about repositories - name: resource_events description: Operations about resource_events - name: submodules description: Operations about submodules - name: attestations description: Operations about attestations - name: tags description: Operations about tags - name: terraform description: Operations about terraforms - name: batched_background_migrations description: Operations about batched_background_migrations - name: database_dictionary description: Operations about database_dictionaries - name: migrations description: Operations about migrations - name: broadcast_messages description: Operations about broadcast_messages - name: applications description: Operations about applications - name: imports description: Operations about imports - name: agents description: Operations about agents - name: ci_runners description: Operations about ci_runners - name: jobs description: Operations about jobs - name: chaos description: Operations about chaos - name: glql description: Operations about glqls - name: internal_operations description: Operations about internal_operations - name: markdown description: Operations about markdowns - name: namespaces description: Operations about namespaces - name: offline_transfers description: Operations about offline_transfers - name: organizations description: Operations about organizations - name: unleash description: Operations about unleashes - name: usage_data description: Operations about usage_data - name: metrics description: Operations about metrics - name: users description: Operations about users - name: instance description: Operations about instances - name: project_topics description: Operations about project_topics - name: web_commits description: Operations about web_commits - name: access_requests description: Operations related to access requests - name: ci_lint description: Operations related to linting a CI config file - name: ci_resource_groups description: Operations to manage job concurrency with resource groups - name: ci_variables description: Operations related to CI/CD variables - name: cluster_agents description: Operations related to the GitLab agent for Kubernetes - name: clusters description: Operations related to clusters - name: composer_packages description: Operations related to Composer packages - name: conan_packages description: Operations related to Conan packages - name: container_registry description: Operations related to container registry - name: container_registry_event description: Operations related to container registry events - name: debian_distribution description: Operations related to Debian Linux distributions - name: debian_packages description: Operations related to Debian Linux packages - name: dependency_proxy description: Operations to manage dependency proxy for a groups - name: deploy_keys description: Operations related to deploy keys - name: deploy_tokens description: Operations related to deploy tokens - name: deployments description: Operations related to deployments - name: dora_metrics description: Operations related to DevOps Research and Assessment (DORA) key metrics - name: environments description: Operations related to environments - name: error_tracking_client_keys description: Operations related to error tracking client keys - name: error_tracking_project_settings description: Operations related to error tracking project settings - name: feature_flags_user_lists description: Operations related to accessing GitLab feature flag user lists - name: feature_flags description: Operations related to feature flags - name: features description: Operations related to managing Flipper-based feature flags - name: freeze_periods description: Operations related to deploy freeze periods - name: generic_packages description: Operations related to Generic packages - name: geo description: Operations related to Geo - name: geo_nodes description: Operations related Geo Nodes - name: go_proxy description: Operations related to Go Proxy - name: group_export description: Operations related to exporting groups - name: group_import description: Operations related to importing groups - name: group_packages description: Operations related to group packages - name: helm_packages description: Operations related to Helm packages - name: integrations description: Operations related to integrations - name: issue_links description: Operations related to issue links - name: jira_connect_subscriptions description: Operations related to JiraConnect subscriptions - name: maven_packages description: Operations related to Maven packages - name: merge_requests description: Operations related to merge requests - name: metadata description: Operations related to metadata of the GitLab instance - name: ml_model_registry description: Operations related to Model registry - name: npm_packages description: Operations related to NPM packages - name: nuget_packages description: Operations related to Nuget packages - name: package_files description: Operations about package files - name: plan_limits description: Operations related to plan limits - name: project_export description: Operations related to exporting projects - name: project_hooks description: Operations related to project hooks - name: project_import description: Operations related to importing projects - name: project_import_bitbucket description: Operations related to importing BitBucket projects - name: project_import_github description: Operations related to importing GitHub projects - name: project_packages description: Operations related to project packages - name: projects description: Operations related to projects - name: protected environments description: Operations related to protected environments - name: pypi_packages description: Operations related to PyPI packages - name: release_links description: Operations related to release assets (links) - name: releases description: Operations related to releases - name: resource_milestone_events description: Operations about resource milestone events - name: rpm_packages description: Operations related to RPM packages - name: rubygem_packages description: Operations related to RubyGems - name: suggestions description: Operations related to suggestions - name: system_hooks description: Operations related to system hooks - name: terraform_state description: Operations related to Terraform state files - name: terraform_registry description: Operations related to the Terraform module registry - name: unleash_api description: Operations related to Unleash API paths: "/api/v4/groups/{id}/access_requests": get: summary: Gets a list of access requests for a group. description: This feature was introduced in GitLab 8.11. produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user type: string required: true - in: query name: page description: Current page number type: integer format: int32 default: 1 required: false example: 1 - in: query name: per_page description: Number of items per page type: integer format: int32 default: 20 required: false example: 20 responses: '200': description: Gets a list of access requests for a group. schema: "$ref": "#/definitions/API_Entities_AccessRequester" tags: - access_requests operationId: getApiV4GroupsIdAccessRequests post: summary: Requests access for the authenticated user to a group. description: This feature was introduced in GitLab 8.11. produces: - application/json consumes: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user type: string required: true responses: '200': description: Requests access for the authenticated user to a group. schema: "$ref": "#/definitions/API_Entities_AccessRequester" tags: - access_requests operationId: postApiV4GroupsIdAccessRequests "/api/v4/groups/{id}/access_requests/{user_id}/approve": put: summary: Approves an access request for the given user. description: This feature was introduced in GitLab 8.11. produces: - application/json consumes: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user type: string required: true - in: path name: user_id description: The user ID of the access requester type: integer format: int32 required: true - name: putApiV4GroupsIdAccessRequestsUserIdApprove in: body required: true schema: "$ref": "#/definitions/putApiV4GroupsIdAccessRequestsUserIdApprove" responses: '201': description: Approves an access request for the given user. schema: "$ref": "#/definitions/API_Entities_Member" tags: - access_requests operationId: putApiV4GroupsIdAccessRequestsUserIdApprove "/api/v4/groups/{id}/access_requests/{user_id}": delete: summary: Denies an access request for the given user. description: This feature was introduced in GitLab 8.11. produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user type: string required: true - in: path name: user_id description: The user ID of the access requester type: integer format: int32 required: true responses: '204': description: Denies an access request for the given user. tags: - access_requests operationId: deleteApiV4GroupsIdAccessRequestsUserId "/api/v4/groups/{id}/epics/{epic_iid}/award_emoji": get: summary: List an awardable's emoji reactions for groups description: Get a list of all emoji reactions for a specified awardable. This feature was introduced in 8.9 produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group type: string required: true - in: path name: epic_iid description: ID (`iid` for merge requests/issues/epics, `id` for snippets) of an awardable. type: integer format: int32 required: true - in: query name: page description: Current page number type: integer format: int32 default: 1 required: false example: 1 - in: query name: per_page description: Number of items per page type: integer format: int32 default: 20 required: false example: 20 responses: '200': description: List an awardable's emoji reactions for groups schema: type: array items: "$ref": "#/definitions/API_Entities_AwardEmoji" '404': description: Not Found tags: - award_emoji operationId: getApiV4GroupsIdEpicsEpicIidAwardEmoji post: summary: Add a new emoji reaction description: Add an emoji reaction on the specified awardable. This feature was introduced in 8.9 produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true - name: postApiV4GroupsIdEpicsEpicIidAwardEmoji in: body required: true schema: "$ref": "#/definitions/postApiV4GroupsIdEpicsEpicIidAwardEmoji" responses: '201': description: Add a new emoji reaction schema: "$ref": "#/definitions/API_Entities_AwardEmoji" '400': description: Bad Request '404': description: Not Found tags: - award_emoji operationId: postApiV4GroupsIdEpicsEpicIidAwardEmoji "/api/v4/groups/{id}/epics/{epic_iid}/award_emoji/{award_id}": get: summary: Get a single emoji reaction description: Get a single emoji reaction from an issue, snippet, or merge request. This feature was introduced in 8.9 produces: - application/json parameters: - in: path name: award_id description: ID of the emoji reaction. type: integer format: int32 required: true - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true responses: '200': description: Get a single emoji reaction schema: "$ref": "#/definitions/API_Entities_AwardEmoji" '404': description: Not Found tags: - award_emoji operationId: getApiV4GroupsIdEpicsEpicIidAwardEmojiAwardId delete: summary: Delete an emoji reaction description: Only an administrator or the author of the reaction can delete an emoji reaction. This feature was introduced in 8.9 produces: - application/json parameters: - in: path name: award_id description: ID of an emoji reaction. type: integer format: int32 required: true - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true responses: '204': description: Delete an emoji reaction '401': description: Unauthorized '404': description: Not Found tags: - award_emoji operationId: deleteApiV4GroupsIdEpicsEpicIidAwardEmojiAwardId "/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji": get: summary: List an awardable's emoji reactions for groups description: Get a list of all emoji reactions for a specified awardable. This feature was introduced in 8.9 produces: - application/json parameters: - in: query name: page description: Current page number type: integer format: int32 default: 1 required: false example: 1 - in: query name: per_page description: Number of items per page type: integer format: int32 default: 20 required: false example: 20 - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true - in: path name: note_id type: integer format: int32 required: true responses: '200': description: List an awardable's emoji reactions for groups schema: type: array items: "$ref": "#/definitions/API_Entities_AwardEmoji" '404': description: Not Found tags: - award_emoji operationId: getApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji post: summary: Add a new emoji reaction description: Add an emoji reaction on the specified awardable. This feature was introduced in 8.9 produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true - in: path name: note_id type: integer format: int32 required: true - name: postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji in: body required: true schema: "$ref": "#/definitions/postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji" responses: '201': description: Add a new emoji reaction schema: "$ref": "#/definitions/API_Entities_AwardEmoji" '400': description: Bad Request '404': description: Not Found tags: - award_emoji operationId: postApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmoji "/api/v4/groups/{id}/epics/{epic_iid}/notes/{note_id}/award_emoji/{award_id}": get: summary: Get a single emoji reaction description: Get a single emoji reaction from an issue, snippet, or merge request. This feature was introduced in 8.9 produces: - application/json parameters: - in: path name: award_id description: ID of the emoji reaction. type: integer format: int32 required: true - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true - in: path name: note_id type: integer format: int32 required: true responses: '200': description: Get a single emoji reaction schema: "$ref": "#/definitions/API_Entities_AwardEmoji" '404': description: Not Found tags: - award_emoji operationId: getApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmojiAwardId delete: summary: Delete an emoji reaction description: Only an administrator or the author of the reaction can delete an emoji reaction. This feature was introduced in 8.9 produces: - application/json parameters: - in: path name: award_id description: ID of an emoji reaction. type: integer format: int32 required: true - in: path name: id type: integer format: int32 required: true - in: path name: epic_iid type: integer format: int32 required: true - in: path name: note_id type: integer format: int32 required: true responses: '204': description: Delete an emoji reaction '401': description: Unauthorized '404': description: Not Found tags: - award_emoji operationId: deleteApiV4GroupsIdEpicsEpicIidNotesNoteIdAwardEmojiAwardId "/api/v4/groups/{id}/badges": get: summary: Gets a list of group badges viewable by the authenticated user. description: This feature was introduced in GitLab 10.6. produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user. type: string required: true - in: query name: page description: Current page number type: integer format: int32 default: 1 required: false example: 1 - in: query name: per_page description: Number of items per page type: integer format: int32 default: 20 required: false example: 20 - in: query name: name description: Name for the badge type: string required: false responses: '200': description: Gets a list of group badges viewable by the authenticated user. schema: type: array items: "$ref": "#/definitions/API_Entities_Badge" tags: - badges operationId: getApiV4GroupsIdBadges post: summary: Adds a badge to a group. description: This feature was introduced in GitLab 10.6. produces: - application/json consumes: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user. type: string required: true - name: postApiV4GroupsIdBadges in: body required: true schema: "$ref": "#/definitions/postApiV4GroupsIdBadges" responses: '201': description: Adds a badge to a group. schema: "$ref": "#/definitions/API_Entities_Badge" tags: - badges operationId: postApiV4GroupsIdBadges "/api/v4/groups/{id}/badges/render": get: summary: Preview a badge from a group. description: This feature was introduced in GitLab 10.6. produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user. type: string required: true - in: query name: link_url description: URL of the badge link type: string required: true - in: query name: image_url description: URL of the badge image type: string required: true responses: '200': description: Preview a badge from a group. schema: "$ref": "#/definitions/API_Entities_BasicBadgeDetails" tags: - badges operationId: getApiV4GroupsIdBadgesRender "/api/v4/groups/{id}/badges/{badge_id}": get: summary: Gets a badge of a group. description: This feature was introduced in GitLab 10.6. produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user. type: string required: true - in: path name: badge_id description: The badge ID type: integer format: int32 required: true responses: '200': description: Gets a badge of a group. schema: "$ref": "#/definitions/API_Entities_Badge" tags: - badges operationId: getApiV4GroupsIdBadgesBadgeId put: summary: Updates a badge of a group. description: This feature was introduced in GitLab 10.6. produces: - application/json consumes: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user. type: string required: true - in: path name: badge_id type: integer format: int32 required: true - name: putApiV4GroupsIdBadgesBadgeId in: body required: true schema: "$ref": "#/definitions/putApiV4GroupsIdBadgesBadgeId" responses: '200': description: Updates a badge of a group. schema: "$ref": "#/definitions/API_Entities_Badge" tags: - badges operationId: putApiV4GroupsIdBadgesBadgeId delete: summary: Removes a badge from the group. description: This feature was introduced in GitLab 10.6. produces: - application/json parameters: - in: path name: id description: The ID or URL-encoded path of the group owned by the authenticated user. type: string required: true - in: path name: badge_id description: The badge ID type: integer format: int32 required: true responses: '204': description: Removes a badge from the group. tags: - badges operationId: deleteApiV4GroupsIdBadgesBadgeId "/api/v4/groups/{id}/custom_attributes": get: description: Get all custom attributes on a group produces: - application/json parameters: - in: path name: id type: integer format: int32 required: true responses: '200': description: Get all custom attributes on a group schema: "$ref": "#/definitions/API_Entities_CustomAttribute" tags: - custom_attributes operationId: getApiV4GroupsIdCustomAttributes "/api/v4/groups/{id}/custom_attributes/{key}": get: description: Get a custom attribute on a group produces: - application/json parameters: - in: path name: key description: The key of the custom attribute type: string required: true - in: path name: id type: integer format: int32 required: true responses: '200': description: Get a custom attribute on a group schema: "$ref": "#/definitions/API_Entities_CustomAttribute" tags: - custom_attributes operationId: getApiV4GroupsIdCustomAttributesKey put: description: Set a custom attribute on a group produces: - application/json consumes: - application/json parameters: - in: path name: key description: The key of the custom attribute type: string required: true - in: path name: id type: integer format: int32 required: true - name: putApiV4GroupsIdCustomAttributesKey in: body required: true schema: "$ref": "#/definitions/putApiV4GroupsIdCustomAttributesKey" responses: '200': description: Set a custom attribute on a group schema: "$ref": "#/definitions/API_Entities_CustomAttribute" tags: - custom_attributes operationId: putApiV4GroupsIdCustomAttributesKey delete: description: Delete a custom attribute on a group produces: - application/json parameters: - in: path name: key description: The key of the custom attribute type: string required: true - in: path name: id type: integer format: int32 required: true responses: '204': description: Delete a custom attribute on a group tags: - custom_attributes operationId: deleteApiV4GroupsIdCustomAttributesKey "/api/v4/groups": get: description: Get a groups list produces: - application/json parameters: - in: query name: statistics description: Include project statistics type: boolean default: false required: false - in: query name: archived description: Limit by archived status type: boolean required: false - in: query name: skip_groups description: Array of group ids to exclude from list type: array items: type: integer format: int32 required: false - in: query name: all_available description: When `true`, returns all accessible groups. When `false`, returns only groups where the user is a member. type: boolean required: false - in: query name: visibility description: Limit by visibility type: string enum: - private - internal - public required: false - in: query name: search description: Search for a specific group type: string required: false - in: query name: owned description: Limit by owned by authenticated user type: boolean default: false required: false - in: query name: order_by description: Order by name, path, id or similarity if searching type: string default: name enum: - name - path - id - similarity required: false - in: query name: sort description: Sort by asc (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: active description: Limit by projects that are not archived and not marked for deletion type: boolean 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 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}/transfer_to_organization": post: description: Transfer a group to an organization produces: - application/json consumes: - application/json parameters: - in: path name: id description: The ID of a group type: string required: true - name: postApiV4GroupsIdTransferToOrganization in: body required: true schema: "$ref": "#/definitions/postApiV4GroupsIdTransferToOrganization" responses: '201': description: Transfer a group to an organization schema: "$ref": "#/definitions/API_Entities_GroupDetail" '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Group or Organization not found '422': description: Unprocessable entity tags: - groups operationId: postApiV4GroupsIdTransferToOrganization "/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: description: Unshare a group with a group 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: Unshare a group with a group tags: - groups operationId: deleteApiV4GroupsIdShareGroupId "/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: - ldap 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/API_Entities_AuditEvent" tags: - audit_events 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/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}/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/API_Entities_SshCertificate" '401': description: Unauthorized '403': description: Forbidden '404': description: 404 Not Found tags: - keys 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/API_Entities_SshCertificate" '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found tags: - keys 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: - keys 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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_resources 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_resources 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_resources 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_resources 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: - avatars 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: - packages 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: - packages 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: - packages 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: - packages 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: - packages 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: - packages 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_import_and_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_import_and_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_import_and_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_import_and_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_import_and_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_and_export 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_and_export 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 - cargo 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: - packages operationId: getApiV4GroupsIdPackages "/api/v4/groups/{id}/placeholder_reassignments": get: summary: Download the list of pending placeholder assignments for a group description: |- Downloads a CSV file of pending placeholder assignments for a group. 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: summary: Upload placeholder reassignments CSV file description: Uploads a CSV file containing placeholder reassignments for a group 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: Upload placeholder reassignments CSV file tags: - groups operationId: postApiV4GroupsIdPlaceholderReassignments "/api/v4/groups/{id}/placeholder_reassignments/authorize": post: summary: Workhorse authorization for the reassignment CSV file description: |- Authorizes Workhorse to handle CSV file uploads for placeholder reassignments. 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 group’s 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 group’s 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/linear": put: summary: Create/Edit Linear integration description: Set Linear integration. produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true - name: putApiV4GroupsIdIntegrationsLinear in: body required: true schema: "$ref": "#/definitions/putApiV4GroupsIdIntegrationsLinear" responses: '200': description: Create/Edit Linear 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: putApiV4GroupsIdIntegrationsLinear "/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/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 - linear - matrix - mattermost-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 - linear - matrix - mattermost-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}/issues": get: description: Get a list of group issues produces: - application/json parameters: - in: path name: id description: The ID of a group type: string required: true - in: query name: with_labels_details description: Return titles of labels and other details type: boolean default: false required: false - in: query name: state description: Return opened, closed, or all issues type: string default: all enum: - opened - closed - all required: false - in: query name: closed_by_id description: Return issues which were closed by the user with the given ID. type: integer format: int32 required: false - in: query name: order_by description: Return issues ordered by `created_at`, `due_date`, `label_priority`, `milestone_due`, `popularity`, `priority`, `relative_position`, `title`, or `updated_at` fields. type: string default: created_at enum: - created_at - due_date - label_priority - milestone_due - popularity - priority - relative_position - title - updated_at - weight required: false - in: query name: sort description: Return issues sorted in `asc` or `desc` order. type: string default: desc enum: - asc - desc required: false - in: query name: due_date description: 'Return issues that have no due date (`0`), or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`, `0`' type: string enum: - '0' - any - today - tomorrow - overdue - week - month - next_month_and_previous_two_weeks - '' required: false - in: query name: issue_type description: 'The type of the issue. Accepts: issue, incident, test_case, requirement, task, ticket' type: string enum: - issue - incident - test_case - requirement - task - ticket required: false - in: query name: labels description: Comma-separated list of label names type: array items: type: string required: false - in: query name: milestone description: Milestone title type: string required: false - in: query name: milestone_id description: Return issues assigned to milestones with the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: iids description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: search description: Search issues for text present in the title, description, or any combination of these type: string required: false - in: query name: in description: "`title`, `description`, or a string joining them with comma" type: string required: false - in: query name: author_id description: Return issues which are authored by the user with the given ID type: integer format: int32 required: false - in: query name: author_username description: Return issues which are authored by the user with the given username type: string required: false - in: query name: assignee_id description: Return issues which are assigned to the user with the given ID type: integer format: int32 required: false - in: query name: assignee_username description: Return issues which are assigned to the user with the given username type: array items: type: string required: false - in: query name: created_after description: Return issues created after the specified time type: string format: date-time required: false - in: query name: created_before description: Return issues created before the specified time type: string format: date-time required: false - in: query name: updated_after description: Return issues updated after the specified time type: string format: date-time required: false - in: query name: updated_before description: Return issues updated before the specified time type: string format: date-time required: false - in: query name: not[labels] description: Comma-separated list of label names type: array items: type: string required: false - in: query name: not[milestone] description: Milestone title type: string required: false - in: query name: not[milestone_id] description: Return issues assigned to milestones without the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: not[iids] description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: not[author_id] description: Return issues which are not authored by the user with the given ID type: integer format: int32 required: false - in: query name: not[author_username] description: Return issues which are not authored by the user with the given username type: string required: false - in: query name: not[assignee_id] description: Return issues which are not assigned to the user with the given ID type: integer format: int32 required: false - in: query name: not[assignee_username] description: Return issues which are not assigned to the user with the given username type: array items: type: string required: false - in: query name: not[weight] description: Return issues without the specified weight type: integer format: int32 required: false - in: query name: not[iteration_id] description: Return issues which are not assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: not[iteration_title] description: Return issues which are not assigned to the iteration with the given title type: string required: false - in: query name: scope description: 'Return issues 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: my_reaction_emoji description: Return issues reacted by the authenticated user by the given emoji type: string required: false - in: query name: confidential description: Filter confidential or public issues type: boolean required: false - in: query name: weight description: The weight of the issue type: integer format: int32 required: false - in: query name: epic_id description: The ID of an epic associated with the issues type: integer format: int32 required: false - in: query name: health_status description: 'The health status of the issue. Must be one of: on_track, needs_attention, at_risk, none, any' type: string enum: - on_track - needs_attention - at_risk - none - any required: false - in: query name: iteration_id description: Return issues which are assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: iteration_title description: Return issues which are assigned to the iteration with the given title 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: Return issues from non archived projects type: boolean default: true required: false responses: '200': description: Get a list of group issues schema: "$ref": "#/definitions/API_Entities_Issue" tags: - groups operationId: getApiV4GroupsIdIssues "/api/v4/groups/{id}/issues_statistics": get: description: Get statistics for the list of group issues produces: - application/json parameters: - in: path name: id description: The ID of a group type: string required: true - in: query name: labels description: Comma-separated list of label names type: array items: type: string required: false - in: query name: milestone description: Milestone title type: string required: false - in: query name: milestone_id description: Return issues assigned to milestones with the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: iids description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: search description: Search issues for text present in the title, description, or any combination of these type: string required: false - in: query name: in description: "`title`, `description`, or a string joining them with comma" type: string required: false - in: query name: author_id description: Return issues which are authored by the user with the given ID type: integer format: int32 required: false - in: query name: author_username description: Return issues which are authored by the user with the given username type: string required: false - in: query name: assignee_id description: Return issues which are assigned to the user with the given ID type: integer format: int32 required: false - in: query name: assignee_username description: Return issues which are assigned to the user with the given username type: array items: type: string required: false - in: query name: created_after description: Return issues created after the specified time type: string format: date-time required: false - in: query name: created_before description: Return issues created before the specified time type: string format: date-time required: false - in: query name: updated_after description: Return issues updated after the specified time type: string format: date-time required: false - in: query name: updated_before description: Return issues updated before the specified time type: string format: date-time required: false - in: query name: not[labels] description: Comma-separated list of label names type: array items: type: string required: false - in: query name: not[milestone] description: Milestone title type: string required: false - in: query name: not[milestone_id] description: Return issues assigned to milestones without the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: not[iids] description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: not[author_id] description: Return issues which are not authored by the user with the given ID type: integer format: int32 required: false - in: query name: not[author_username] description: Return issues which are not authored by the user with the given username type: string required: false - in: query name: not[assignee_id] description: Return issues which are not assigned to the user with the given ID type: integer format: int32 required: false - in: query name: not[assignee_username] description: Return issues which are not assigned to the user with the given username type: array items: type: string required: false - in: query name: not[weight] description: Return issues without the specified weight type: integer format: int32 required: false - in: query name: not[iteration_id] description: Return issues which are not assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: not[iteration_title] description: Return issues which are not assigned to the iteration with the given title type: string required: false - in: query name: scope description: 'Return issues 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: my_reaction_emoji description: Return issues reacted by the authenticated user by the given emoji type: string required: false - in: query name: confidential description: Filter confidential or public issues type: boolean required: false - in: query name: weight description: The weight of the issue type: integer format: int32 required: false - in: query name: epic_id description: The ID of an epic associated with the issues type: integer format: int32 required: false - in: query name: health_status description: 'The health status of the issue. Must be one of: on_track, needs_attention, at_risk, none, any' type: string enum: - on_track - needs_attention - at_risk - none - any required: false - in: query name: iteration_id description: Return issues which are assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: iteration_title description: Return issues which are assigned to the iteration with the given title type: string required: false responses: '200': description: Get statistics for the list of group issues tags: - groups operationId: getApiV4GroupsIdIssuesStatistics "/api/v4/groups/{id}/uploads/authorize": post: summary: Workhorse authorize the file upload description: This feature was introduced in GitLab 19.0 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: - groups operationId: postApiV4GroupsIdUploadsAuthorize "/api/v4/groups/{id}/uploads": post: summary: Upload a file to a group description: Uploads a file to the specified group. Returns a markdown-formatted link to the file. produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true - name: postApiV4GroupsIdUploads in: body required: true schema: "$ref": "#/definitions/postApiV4GroupsIdUploads" responses: '201': description: Upload a file to a group schema: "$ref": "#/definitions/API_Entities_GroupUpload" '400': description: Bad request '404': description: Not found tags: - groups operationId: postApiV4GroupsIdUploads 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 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: '200': description: Download a single group 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: - packages operationId: getApiV4GroupsIdPackagesMaven*pathFileName "/api/v4/groups/{id}/members": get: description: |- Gets a list of group or project members viewable by the authenticated user, excluding those with inherited membership from ancestor groups. 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, excluding those with inherited membership from ancestor groups. 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 with inherited membership from ancestor groups. 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 with inherited membership from ancestor groups. 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: - members 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: - members 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: - members 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: - members 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: - members 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: - members 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/API_Entities_BillableMembership" tags: - members 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/API_Entities_BillableMembership" tags: - members 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: - members 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`, `reviews_for_me` or `all`' type: string enum: - created-by-me - assigned-to-me - created_by_me - assigned_to_me - reviews_for_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: Deprecated. Use `draft` instead. 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: draft description: Filter merge requests against their `draft` status. `true` to return only draft merge requests, `false` to return non-draft merge requests. type: boolean required: false - in: query name: not[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: not[author_username] description: "`` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`." type: string required: false - in: query name: not[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: not[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: not[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: not[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: not[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: not[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: not[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: 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: type: array items: "$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: - 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: - 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: - 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: - 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: - 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: - 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: - 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 description: The symbol file name. Must match the 'file_name' parameter 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - access_tokens operationId: postApiV4GroupsIdAccessTokensSelfRotate "/api/v4/groups/{id}/(-/)search": get: summary: Search on GitLab within a group description: This feature was introduced in GitLab 10.5. 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: search description: The expression it should be searched for type: string required: true - in: query name: scope description: The scope of the search type: string enum: - wiki_blobs - blobs - commits - notes - projects - issues - work_items - merge_requests - milestones - users required: true - in: query name: state description: Filter results by state type: string enum: - all - opened - closed - merged required: false - in: query name: confidential description: Filter results by confidentiality type: boolean required: false - in: query name: type description: 'Filter work items by type. Only applies to work_items scope. Available types: issue, task, epic, incident, test_case, requirement, objective, key_result, ticket.' type: array items: type: string required: false - in: query name: include_archived description: Includes archived projects in the search. Introduced in GitLab 18.9. type: boolean default: false required: false - in: query name: fields description: Array of fields you wish to search. Available with advanced search. type: array items: type: string enum: - title required: false - in: query name: exclude_forks description: Excludes forked projects in the search. Available with exact code search. Introduced in GitLab 18.9. type: boolean required: false - in: query name: num_context_lines description: Number of context lines around each match. Available with advanced and exact code search. Introduced in GitLab 18.11. type: integer format: int32 minimum: 0 maximum: 20 required: false - in: query name: regex description: Performs a regex code search. Available with exact code search. Introduced in GitLab 18.9 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: Search on GitLab within a group tags: - search operationId: getApiV4GroupsId(-)search "/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: Requests access for the authenticated user to a project. schema: "$ref": "#/definitions/API_Entities_AccessRequester" 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: '201': description: Approves an access request for the given user. schema: "$ref": "#/definitions/API_Entities_Member" 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: - ci_catalog 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 - in: query name: search_recent_successful_pipelines description: Search across recent successful pipelines instead of just the latest one. type: boolean default: false required: false responses: '200': description: Download the artifacts archive from a job '401': description: Unauthorized '403': description: Forbidden '404': description: Not found tags: - job_artifacts 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 - in: query name: search_recent_successful_pipelines description: Search across recent successful pipelines instead of just the latest one. type: boolean default: false 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: - job_artifacts 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: - job_artifacts 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: - job_artifacts operationId: deleteApiV4ProjectsIdJobsJobIdArtifacts "/api/v4/projects/{id}/jobs/{job_id}/artifacts/tree": get: summary: List all files in the artifacts archive description: Lists all files and directories in the artifacts archive without extracting them 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: ID of a job type: integer format: int32 required: true example: 42 - in: query name: path description: Path to browse in the artifacts archive. Defaults to root directory. type: string default: '' required: false example: coverage/reports - in: query name: recursive description: If `true`, return all entries recursively. type: boolean default: false required: false - in: query name: job_token description: CI/CD job token for multi-project pipelines. Premium and Ultimate only. 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 files in the artifacts archive schema: type: array items: "$ref": "#/definitions/API_Entities_Ci_JobArtifactEntry" '401': description: Unauthorized '403': description: Forbidden '404': description: Not found tags: - job_artifacts operationId: getApiV4ProjectsIdJobsJobIdArtifactsTree "/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: - job_artifacts 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: - job_artifacts 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: - job_artifacts 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: ref description: The branch name (ref) to filter jobs by type: string required: false example: feature-branch - 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: - ci_jobs 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: - ci_jobs 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: query name: byte_offset description: Byte offset to start reading from type: integer format: int32 minimum: 0 required: false example: 0 - in: query name: byte_limit description: Maximum number of bytes to return type: integer format: int32 minimum: 1 maximum: 512000 required: false example: 51200 - 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: - ci_jobs 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: - ci_jobs 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 - name: postApiV4ProjectsIdJobsJobIdRetry in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdJobsJobIdRetry" 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: - ci_jobs 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: - ci_jobs 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: - ci_jobs 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}/current_job": get: description: Show current job 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 responses: '200': description: Show current job for a specific resource group schema: "$ref": "#/definitions/API_Entities_Ci_JobBasic" '401': description: Unauthorized '404': description: Not found tags: - ci_resource_groups operationId: getApiV4ProjectsIdResourceGroupsKeyCurrentJob "/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 description: The source of pipelines 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 - dependency_management_security_update 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipelines 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: - pipeline_schedules 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: - pipeline_schedules 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: - pipeline_schedules 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: - pipeline_schedules 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: - pipeline_schedules 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: 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: pipeline_schedule_id description: The pipeline schedule ID type: integer format: int32 required: true example: 13 - 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: 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: sort description: Sort pipelines type: string default: asc enum: - asc - desc required: false example: desc 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: - pipeline_schedules 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: - pipeline_schedules 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: - pipeline_schedules 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: - pipeline_schedules operationId: postApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariables "/api/v4/projects/{id}/pipeline_schedules/{pipeline_schedule_id}/variables/{key}": get: description: Get a single 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: '200': description: Get a single pipeline schedule variable schema: "$ref": "#/definitions/API_Entities_Ci_Variable" '401': description: Unauthorized '403': description: Forbidden '404': description: Not found tags: - pipeline_schedules operationId: getApiV4ProjectsIdPipelineSchedulesPipelineScheduleIdVariablesKey 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: - pipeline_schedules 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: - pipeline_schedules 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: - ci_triggers 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: - ci_triggers 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: - ci_triggers 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: - ci_triggers 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: - ci_triggers 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: - ci_triggers 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: - 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: follow description: Follow file renames when filtering by path type: boolean required: false - 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: Create a new 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: Create a new 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: - commit_statuses 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 '409': description: Another update to this commit status is in progress tags: - commit_statuses 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: - 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: - 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: - 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: - 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* - in: query name: ignorecase description: Ignore case when searching (case-insensitive search) type: boolean required: false example: 'False' responses: '200': description: Search for packages '400': description: Bad Request '404': description: Not Found tags: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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* - in: query name: ignorecase description: Ignore case when searching (case-insensitive search) type: boolean required: false example: 'False' responses: '200': description: Search for packages '400': description: Bad Request '404': description: Not Found tags: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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_resources 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_resources 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_resources 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_resources 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_resources 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_resources 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_resources 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_resources 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_resources 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_resources 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: - deploy_resources 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: - deploy_resources 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: - deploy_resources 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: - deploy_resources 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: - deploy_resources 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`, `reviews_for_me` or `all`' type: string enum: - created-by-me - assigned-to-me - created_by_me - assigned_to_me - reviews_for_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: Deprecated. Use `draft` instead. 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: draft description: Filter merge requests against their `draft` status. `true` to return only draft merge requests, `false` to return non-draft merge requests. type: boolean required: false - in: query name: not[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: not[author_username] description: "`` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`." type: string required: false - in: query name: not[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: not[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: not[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: not[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: not[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: not[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: not[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: 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: - deploy_resources 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: - deploy_resources 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: - draft_notes 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: - draft_notes 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: - draft_notes 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: - draft_notes 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: - draft_notes 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: - draft_notes 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: - draft_notes 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 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 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 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 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 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 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 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 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 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 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 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: - files 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 minimum: 1 required: true - in: query name: range[end] description: The last line of the range to blame type: integer format: int32 minimum: 1 required: true responses: '200': description: Get blame file from the repository schema: "$ref": "#/definitions/API_Entities_BlameRange" tags: - files 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: - files 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: - files 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: - files 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: - files 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: - files 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 - in: query name: last_commit_id description: Last known file commit id type: string required: false example: 2695effb5807a22ff3d138d593fd856244e155e7 responses: '204': description: Delete an existing file in repository tags: - files 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: - 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: - 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: - 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//@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: - packages 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//@v/.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: - packages 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//@v/.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: - packages 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//@v/.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: - packages 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: - 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: - 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: - 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: - 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/linear": put: summary: Create/Edit Linear integration description: Set Linear integration. produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true - name: putApiV4ProjectsIdServicesLinear in: body required: true schema: "$ref": "#/definitions/putApiV4ProjectsIdServicesLinear" responses: '200': description: Create/Edit Linear 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: putApiV4ProjectsIdServicesLinear "/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/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 - linear - matrix - mattermost-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 - linear - matrix - mattermost-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}/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/linear": put: summary: Create/Edit Linear integration description: Set Linear integration. produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true - name: putApiV4ProjectsIdIntegrationsLinear in: body required: true schema: "$ref": "#/definitions/putApiV4ProjectsIdIntegrationsLinear" responses: '200': description: Create/Edit Linear 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: putApiV4ProjectsIdIntegrationsLinear "/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/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 - linear - matrix - mattermost-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 - linear - matrix - mattermost-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}/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 issue’s 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 project’s 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: - issues 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 project’s 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: - issues 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 project’s 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: - issues 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 project’s 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: - issues operationId: deleteApiV4ProjectsIdIssuesIssueIidLinksIssueLinkId "/api/v4/projects/{id}/issues/{issue_iid}/time_estimate": post: summary: Set a time estimate for a issue description: Sets an estimated time of work for this issue. 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: issue_iid description: The internal ID of the issue. type: integer format: int32 required: true - name: postApiV4ProjectsIdIssuesIssueIidTimeEstimate in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidTimeEstimate" responses: '201': description: Set a time estimate for a issue schema: "$ref": "#/definitions/API_Entities_IssuableTimeStats" '401': description: Unauthorized '400': description: Bad request '404': description: Not found tags: - issues operationId: postApiV4ProjectsIdIssuesIssueIidTimeEstimate "/api/v4/projects/{id}/issues/{issue_iid}/reset_time_estimate": post: summary: Reset the time estimate for a project issue description: Resets the estimated time for this issue 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: issue_iid description: The internal ID of the issue. type: integer format: int32 required: true responses: '201': description: Reset the time estimate for a project issue schema: "$ref": "#/definitions/API_Entities_IssuableTimeStats" '401': description: Unauthorized '404': description: Not found tags: - issues operationId: postApiV4ProjectsIdIssuesIssueIidResetTimeEstimate "/api/v4/projects/{id}/issues/{issue_iid}/add_spent_time": post: summary: Add spent time for a issue description: Adds spent time for this issue. 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: issue_iid description: The internal ID of the issue. type: integer format: int32 required: true - name: postApiV4ProjectsIdIssuesIssueIidAddSpentTime in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidAddSpentTime" responses: '201': description: Add spent time for a issue schema: "$ref": "#/definitions/API_Entities_IssuableTimeStats" '401': description: Unauthorized '404': description: Not found tags: - issues operationId: postApiV4ProjectsIdIssuesIssueIidAddSpentTime "/api/v4/projects/{id}/issues/{issue_iid}/reset_spent_time": post: summary: Reset spent time for a issue description: Resets the total spent time for this issue 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: issue_iid description: The internal ID of the issue type: integer format: int32 required: true responses: '201': description: Reset spent time for a issue schema: "$ref": "#/definitions/API_Entities_IssuableTimeStats" '401': description: Unauthorized '404': description: Not found tags: - issues operationId: postApiV4ProjectsIdIssuesIssueIidResetSpentTime "/api/v4/projects/{id}/issues/{issue_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: issue_iid description: The internal ID of the issue 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: - issues operationId: getApiV4ProjectsIdIssuesIssueIidTimeStats "/api/v4/projects/{id}/issues": get: description: Get a list of project issues 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: with_labels_details description: Return titles of labels and other details type: boolean default: false required: false - in: query name: state description: Return opened, closed, or all issues type: string default: all enum: - opened - closed - all required: false - in: query name: closed_by_id description: Return issues which were closed by the user with the given ID. type: integer format: int32 required: false - in: query name: order_by description: Return issues ordered by `created_at`, `due_date`, `label_priority`, `milestone_due`, `popularity`, `priority`, `relative_position`, `title`, or `updated_at` fields. type: string default: created_at enum: - created_at - due_date - label_priority - milestone_due - popularity - priority - relative_position - title - updated_at - weight required: false - in: query name: sort description: Return issues sorted in `asc` or `desc` order. type: string default: desc enum: - asc - desc required: false - in: query name: due_date description: 'Return issues that have no due date (`0`), or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`, `0`' type: string enum: - '0' - any - today - tomorrow - overdue - week - month - next_month_and_previous_two_weeks - '' required: false - in: query name: issue_type description: 'The type of the issue. Accepts: issue, incident, test_case, requirement, task, ticket' type: string enum: - issue - incident - test_case - requirement - task - ticket required: false - in: query name: labels description: Comma-separated list of label names type: array items: type: string required: false - in: query name: milestone description: Milestone title type: string required: false - in: query name: milestone_id description: Return issues assigned to milestones with the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: iids description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: search description: Search issues for text present in the title, description, or any combination of these type: string required: false - in: query name: in description: "`title`, `description`, or a string joining them with comma" type: string required: false - in: query name: author_id description: Return issues which are authored by the user with the given ID type: integer format: int32 required: false - in: query name: author_username description: Return issues which are authored by the user with the given username type: string required: false - in: query name: assignee_id description: Return issues which are assigned to the user with the given ID type: integer format: int32 required: false - in: query name: assignee_username description: Return issues which are assigned to the user with the given username type: array items: type: string required: false - in: query name: created_after description: Return issues created after the specified time type: string format: date-time required: false - in: query name: created_before description: Return issues created before the specified time type: string format: date-time required: false - in: query name: updated_after description: Return issues updated after the specified time type: string format: date-time required: false - in: query name: updated_before description: Return issues updated before the specified time type: string format: date-time required: false - in: query name: not[labels] description: Comma-separated list of label names type: array items: type: string required: false - in: query name: not[milestone] description: Milestone title type: string required: false - in: query name: not[milestone_id] description: Return issues assigned to milestones without the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: not[iids] description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: not[author_id] description: Return issues which are not authored by the user with the given ID type: integer format: int32 required: false - in: query name: not[author_username] description: Return issues which are not authored by the user with the given username type: string required: false - in: query name: not[assignee_id] description: Return issues which are not assigned to the user with the given ID type: integer format: int32 required: false - in: query name: not[assignee_username] description: Return issues which are not assigned to the user with the given username type: array items: type: string required: false - in: query name: not[weight] description: Return issues without the specified weight type: integer format: int32 required: false - in: query name: not[iteration_id] description: Return issues which are not assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: not[iteration_title] description: Return issues which are not assigned to the iteration with the given title type: string required: false - in: query name: scope description: 'Return issues 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: my_reaction_emoji description: Return issues reacted by the authenticated user by the given emoji type: string required: false - in: query name: confidential description: Filter confidential or public issues type: boolean required: false - in: query name: weight description: The weight of the issue type: integer format: int32 required: false - in: query name: epic_id description: The ID of an epic associated with the issues type: integer format: int32 required: false - in: query name: health_status description: 'The health status of the issue. Must be one of: on_track, needs_attention, at_risk, none, any' type: string enum: - on_track - needs_attention - at_risk - none - any required: false - in: query name: iteration_id description: Return issues which are assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: iteration_title description: Return issues which are assigned to the iteration with the given title 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: cursor description: Cursor for obtaining the next set of records type: string required: false responses: '200': description: Get a list of project issues schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: getApiV4ProjectsIdIssues post: description: Create a new project issue 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: postApiV4ProjectsIdIssues in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdIssues" responses: '201': description: Create a new project issue schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: postApiV4ProjectsIdIssues "/api/v4/projects/{id}/issues_statistics": get: description: Get statistics for the list of project issues 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: labels description: Comma-separated list of label names type: array items: type: string required: false - in: query name: milestone description: Milestone title type: string required: false - in: query name: milestone_id description: Return issues assigned to milestones with the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: iids description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: search description: Search issues for text present in the title, description, or any combination of these type: string required: false - in: query name: in description: "`title`, `description`, or a string joining them with comma" type: string required: false - in: query name: author_id description: Return issues which are authored by the user with the given ID type: integer format: int32 required: false - in: query name: author_username description: Return issues which are authored by the user with the given username type: string required: false - in: query name: assignee_id description: Return issues which are assigned to the user with the given ID type: integer format: int32 required: false - in: query name: assignee_username description: Return issues which are assigned to the user with the given username type: array items: type: string required: false - in: query name: created_after description: Return issues created after the specified time type: string format: date-time required: false - in: query name: created_before description: Return issues created before the specified time type: string format: date-time required: false - in: query name: updated_after description: Return issues updated after the specified time type: string format: date-time required: false - in: query name: updated_before description: Return issues updated before the specified time type: string format: date-time required: false - in: query name: not[labels] description: Comma-separated list of label names type: array items: type: string required: false - in: query name: not[milestone] description: Milestone title type: string required: false - in: query name: not[milestone_id] description: Return issues assigned to milestones without the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: not[iids] description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: not[author_id] description: Return issues which are not authored by the user with the given ID type: integer format: int32 required: false - in: query name: not[author_username] description: Return issues which are not authored by the user with the given username type: string required: false - in: query name: not[assignee_id] description: Return issues which are not assigned to the user with the given ID type: integer format: int32 required: false - in: query name: not[assignee_username] description: Return issues which are not assigned to the user with the given username type: array items: type: string required: false - in: query name: not[weight] description: Return issues without the specified weight type: integer format: int32 required: false - in: query name: not[iteration_id] description: Return issues which are not assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: not[iteration_title] description: Return issues which are not assigned to the iteration with the given title type: string required: false - in: query name: scope description: 'Return issues 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: my_reaction_emoji description: Return issues reacted by the authenticated user by the given emoji type: string required: false - in: query name: confidential description: Filter confidential or public issues type: boolean required: false - in: query name: weight description: The weight of the issue type: integer format: int32 required: false - in: query name: epic_id description: The ID of an epic associated with the issues type: integer format: int32 required: false - in: query name: health_status description: 'The health status of the issue. Must be one of: on_track, needs_attention, at_risk, none, any' type: string enum: - on_track - needs_attention - at_risk - none - any required: false - in: query name: iteration_id description: Return issues which are assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: iteration_title description: Return issues which are assigned to the iteration with the given title type: string required: false responses: '200': description: Get statistics for the list of project issues tags: - projects operationId: getApiV4ProjectsIdIssuesStatistics "/api/v4/projects/{id}/issues/{issue_iid}": get: description: Get a single 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true responses: '200': description: Get a single project issue schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: getApiV4ProjectsIdIssuesIssueIid put: description: Update an existing issue 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true - name: putApiV4ProjectsIdIssuesIssueIid in: body required: true schema: "$ref": "#/definitions/putApiV4ProjectsIdIssuesIssueIid" responses: '200': description: Update an existing issue schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: putApiV4ProjectsIdIssuesIssueIid delete: description: Delete a 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true responses: '204': description: Delete a project issue tags: - projects operationId: deleteApiV4ProjectsIdIssuesIssueIid "/api/v4/projects/{id}/issues/{issue_iid}/reorder": put: description: Reorder an existing issue 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true - name: putApiV4ProjectsIdIssuesIssueIidReorder in: body required: true schema: "$ref": "#/definitions/putApiV4ProjectsIdIssuesIssueIidReorder" responses: '200': description: Reorder an existing issue schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: putApiV4ProjectsIdIssuesIssueIidReorder "/api/v4/projects/{id}/issues/{issue_iid}/move": post: description: Move an existing issue 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true - name: postApiV4ProjectsIdIssuesIssueIidMove in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidMove" responses: '201': description: Move an existing issue schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: postApiV4ProjectsIdIssuesIssueIidMove "/api/v4/projects/{id}/issues/{issue_iid}/clone": post: description: Clone an existing issue 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true - name: postApiV4ProjectsIdIssuesIssueIidClone in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidClone" responses: '201': description: Clone an existing issue schema: "$ref": "#/definitions/API_Entities_Issue" tags: - projects operationId: postApiV4ProjectsIdIssuesIssueIidClone "/api/v4/projects/{id}/issues/{issue_iid}/related_merge_requests": get: description: List merge requests that are related to the 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true responses: '200': description: List merge requests that are related to the issue schema: "$ref": "#/definitions/API_Entities_MergeRequestBasic" tags: - issues operationId: getApiV4ProjectsIdIssuesIssueIidRelatedMergeRequests "/api/v4/projects/{id}/issues/{issue_iid}/closed_by": get: description: List merge requests closing 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true responses: '200': description: List merge requests closing issue schema: "$ref": "#/definitions/API_Entities_MergeRequestBasic" tags: - projects operationId: getApiV4ProjectsIdIssuesIssueIidClosedBy "/api/v4/projects/{id}/issues/{issue_iid}/participants": get: description: List participants for an 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true responses: '200': description: List participants for an issue schema: "$ref": "#/definitions/API_Entities_UserBasic" tags: - issues operationId: getApiV4ProjectsIdIssuesIssueIidParticipants "/api/v4/projects/{id}/issues/{issue_iid}/user_agent_detail": get: description: Get the user agent details for an 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: issue_iid description: The internal ID of a project issue type: integer format: int32 required: true responses: '200': description: Get the user agent details for an issue schema: "$ref": "#/definitions/API_Entities_UserAgentDetail" tags: - issues operationId: getApiV4ProjectsIdIssuesIssueIidUserAgentDetail "/api/v4/projects/{id}/issues/{issue_iid}/metric_images/authorize": post: description: Upload a metric image for an incident 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: issue_iid type: integer format: int32 required: true responses: '201': description: Upload a metric image for an incident tags: - metric_images operationId: postApiV4ProjectsIdIssuesIssueIidMetricImagesAuthorize "/api/v4/projects/{id}/issues/{issue_iid}/metric_images": post: description: Upload a metric image for an issue 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: issue_iid type: integer format: int32 required: true - name: postApiV4ProjectsIdIssuesIssueIidMetricImages in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdIssuesIssueIidMetricImages" responses: '201': description: Upload a metric image for an issue schema: "$ref": "#/definitions/API_Entities_IssuableMetricImage" tags: - metric_images operationId: postApiV4ProjectsIdIssuesIssueIidMetricImages get: description: Metric Images for 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: issue_iid type: integer format: int32 required: true responses: '200': description: Metric Images for issue schema: "$ref": "#/definitions/API_Entities_IssuableMetricImage" tags: - metric_images operationId: getApiV4ProjectsIdIssuesIssueIidMetricImages "/api/v4/projects/{id}/issues/{issue_iid}/metric_images/{metric_image_id}": put: description: Update a metric image for an issue 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: metric_image_id description: The ID of metric image type: integer format: int32 required: true - in: path name: issue_iid type: integer format: int32 required: true - name: putApiV4ProjectsIdIssuesIssueIidMetricImagesMetricImageId in: body required: true schema: "$ref": "#/definitions/putApiV4ProjectsIdIssuesIssueIidMetricImagesMetricImageId" responses: '200': description: Update a metric image for an issue schema: "$ref": "#/definitions/API_Entities_IssuableMetricImage" tags: - metric_images operationId: putApiV4ProjectsIdIssuesIssueIidMetricImagesMetricImageId delete: description: Remove a metric image for an 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: metric_image_id description: The ID of metric image type: integer format: int32 required: true - in: path name: issue_iid type: integer format: int32 required: true responses: '200': description: Remove a metric image for an issue schema: "$ref": "#/definitions/API_Entities_IssuableMetricImage" tags: - metric_images operationId: deleteApiV4ProjectsIdIssuesIssueIidMetricImagesMetricImageId "/api/v4/projects/{id}/ci/lint": get: summary: Validates a CI YAML configuration with a namespace description: |- Checks if a project’s .gitlab-ci.yml configuration in a given commit (by default HEAD of the project’s 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: - 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: - 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: - packages operationId: putApiV4ProjectsIdPackagesMaven*pathFileNameAuthorize "/api/v4/projects/{id}/members": get: description: |- Gets a list of group or project members viewable by the authenticated user, excluding those with inherited membership from ancestor groups. 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, excluding those with inherited membership from ancestor groups. 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 with inherited membership from ancestor groups. 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 with inherited membership from ancestor groups. 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}/create_ci_config": post: summary: Create merge request for missing ci config in project description: Creates a merge request to add missing CI configuration produces: - application/json consumes: - application/json parameters: - in: path name: id type: integer format: int32 required: true responses: '201': description: Create merge request for missing ci config in project tags: - projects - merge_requests 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`, `reviews_for_me` or `all`' type: string enum: - created-by-me - assigned-to-me - created_by_me - assigned_to_me - reviews_for_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: Deprecated. Use `draft` instead. 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: draft description: Filter merge requests against their `draft` status. `true` to return only draft merge requests, `false` to return non-draft merge requests. type: boolean required: false - in: query name: not[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: not[author_username] description: "`` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`." type: string required: false - in: query name: not[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: not[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: not[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: not[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: not[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: not[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: not[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: 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: type: array items: "$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: 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 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: 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 - in: query name: unidiff description: A diff in a Unified diff format type: boolean default: false required: false 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 description: The internal ID of the merge request. 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 doesn’t 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}/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: - merge_request_approvals operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals post: summary: Change approval-related configuration description: Deprecated in 16.0. Use the merge request approvals API instead. 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: Change approval-related configuration schema: "$ref": "#/definitions/API_Entities_ApprovalState" tags: - merge_request_approvals 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: - merge_request_approvals 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: - merge_request_approvals 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_request_approvals 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/API_Entities_MergeRequestApprovalState" tags: - merge_request_approvals operationId: getApiV4ProjectsIdMergeRequestsMergeRequestIidApprovalState "/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: - 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: - 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: - 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: - 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: - 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: - 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 support 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: - 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: - 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: - 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 description: The symbol file name. Must match the 'file_name' parameter 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - packages 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: - packages operationId: deleteApiV4ProjectsIdPackagesPackageIdPackageFilesPackageFileId "/api/v4/projects/{id}/packages/{package_id}/package_files/{package_file_id}/download": get: summary: Download a package file description: This feature was introduced in GitLab 18.4 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: '200': description: Download a package file '401': description: Unauthorized '403': description: Forbidden '404': description: Not found tags: - packages operationId: getApiV4ProjectsIdPackagesPackageIdPackageFilesPackageFileIdDownload "/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: - gitlab_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: - gitlab_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: - gitlab_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: - gitlab_pages 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: - gitlab_pages 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: - gitlab_pages 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: - gitlab_pages 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: - gitlab_pages 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: - gitlab_pages 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: - avatars 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}/registry/protection/tag/rules": get: summary: Gets a list of container protection tag rules for a project. description: This feature was introduced in GitLab 18.7. 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: Gets a list of container protection tag rules for a project. schema: type: array items: "$ref": "#/definitions/API_Entities_Projects_ContainerRegistry_Protection_TagRule" '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found tags: - projects operationId: getApiV4ProjectsIdRegistryProtectionTagRules post: summary: Create a container protection tag rule for a project. 5 rule limit per project. description: This feature was introduced in GitLab 18.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 - name: postApiV4ProjectsIdRegistryProtectionTagRules in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdRegistryProtectionTagRules" responses: '201': description: Create a container protection tag rule for a project. 5 rule limit per project. schema: "$ref": "#/definitions/API_Entities_Projects_ContainerRegistry_Protection_TagRule" '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '422': description: Unprocessable Entity tags: - projects operationId: postApiV4ProjectsIdRegistryProtectionTagRules "/api/v4/projects/{id}/registry/protection/tag/rules/{protection_rule_id}": patch: summary: Update a container protection tag rule for a project. description: This feature was introduced in GitLab 18.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 - in: path name: protection_rule_id description: The ID of the container protection tag rule. type: integer format: int32 required: true - name: patchApiV4ProjectsIdRegistryProtectionTagRulesProtectionRuleId in: body required: true schema: "$ref": "#/definitions/patchApiV4ProjectsIdRegistryProtectionTagRulesProtectionRuleId" responses: '200': description: Update a container protection tag rule for a project. schema: "$ref": "#/definitions/API_Entities_Projects_ContainerRegistry_Protection_TagRule" '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '422': description: Unprocessable Entity tags: - projects operationId: patchApiV4ProjectsIdRegistryProtectionTagRulesProtectionRuleId delete: summary: Delete container protection tag rule description: This feature was introduced in GitLab 18.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: protection_rule_id description: The ID of the container protection tag rule. type: integer format: int32 required: true responses: '204': description: Delete a container protection tag rule '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found tags: - projects operationId: deleteApiV4ProjectsIdRegistryProtectionTagRulesProtectionRuleId "/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: - packages 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: - packages 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: - packages 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: - packages 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: - packages 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: - packages 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: - events 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_import 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_import 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_import 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_import 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_import 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_import operationId: getApiV4ProjectsIdExportRelationsStatus "/api/v4/projects/{id}/hooks/{hook_id}/url_variables/{key}": put: summary: Set a url variable description: Sets a URL variable for a webhook 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: - hooks operationId: putApiV4ProjectsIdHooksHookIdUrlVariablesKey delete: summary: Un-Set a url variable description: Removes a URL variable from a webhook 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: - hooks operationId: deleteApiV4ProjectsIdHooksHookIdUrlVariablesKey "/api/v4/projects/{id}/hooks/{hook_id}/custom_headers/{key}": put: summary: Set a custom header description: Sets a custom header for a webhook 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 name 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: - hooks operationId: putApiV4ProjectsIdHooksHookIdCustomHeadersKey delete: summary: Un-Set a custom header description: Removes a custom header from a webhook 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 name 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: - hooks 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: - 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: - 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: - 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: - 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: - 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 description: HTTP status code of the event 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: - hooks 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 - resource_deploy_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: - hooks 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: - hooks 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: "(deprecated) The ID or path of the namespace to import the project to. Defaults to the current user's namespace." type: string required: false - in: formData name: namespace_id description: The ID of the namespace that the project will be imported into. Defaults to the current user's namespace. type: integer format: int32 required: false example: 1 - in: formData name: namespace_path description: The path of the namespace that the project will be imported into. Defaults to the current user's namespace. type: string required: false example: new_path/gitlab - 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[package_registry_access_level] description: Controls visibility of the package registry. One of `disabled`, `private`, `enabled` or `public`. `private` will make the package registry accessible only to project members (reporter role and above). `enabled` will make the package registry accessible to everyone who has access to the project. `public` will make the package registry accessible to everyone. `disabled` will disable the package registry type: string enum: - disabled - private - enabled - public 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[resource_group_default_process_mode] description: The process mode of the resource group type: string enum: - unordered - oldest_first - newest_first - newest_ready_first 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[packages_enabled] description: 'Deprecated: Use :package_registry_access_level instead. Enable project packages feature' 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[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[mr_default_title_template] description: Template used to generate the default merge request title. Maximum 100 characters. 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: override_params[duo_remote_flows_enabled] description: Enable GitLab Duo remote flows for this project type: boolean required: false - in: formData name: override_params[duo_sast_fp_detection_enabled] description: Enable GitLab Duo SAST false positive detection for this project type: boolean required: false - in: formData name: override_params[duo_secret_detection_fp_enabled] description: Enable GitLab Duo Secret Detection false positive detection for this project type: boolean required: false - in: formData name: override_params[duo_sast_vr_workflow_enabled] description: Enable GitLab Duo SAST vulnerability resolution workflow for this project type: boolean required: false - in: formData name: override_params[spp_repository_pipeline_access] description: Grant read-only access to security policy configurations for enforcement in linked CI/CD projects 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: 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/{id}/import/git": post: summary: Import a project from a Git URL description: This feature was introduced in GitLab 18.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: postApiV4ProjectsIdImportGit in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdImportGit" responses: '201': description: Import a project from a Git URL schema: "$ref": "#/definitions/API_Entities_ProjectImportStatus" '401': description: Unauthorized '403': description: Forbidden '400': description: Bad request '404': description: Not found '409': description: Conflict '422': description: Unprocessable Entity tags: - project_import operationId: postApiV4ProjectsIdImportGit "/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: "(deprecated) The ID or path of the namespace to import the project to. Defaults to the current user's namespace." type: string required: false - in: formData name: namespace_id description: The ID of the namespace that the project will be imported into. Defaults to the current user's namespace. type: integer format: int32 required: false example: 1 - in: formData name: namespace_path description: The path of the namespace that the project will be imported into. Defaults to the current user's namespace. type: string required: false example: new_path/gitlab - 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[package_registry_access_level] description: Controls visibility of the package registry. One of `disabled`, `private`, `enabled` or `public`. `private` will make the package registry accessible only to project members (reporter role and above). `enabled` will make the package registry accessible to everyone who has access to the project. `public` will make the package registry accessible to everyone. `disabled` will disable the package registry type: string enum: - disabled - private - enabled - public 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[resource_group_default_process_mode] description: The process mode of the resource group type: string enum: - unordered - oldest_first - newest_first - newest_ready_first 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[packages_enabled] description: 'Deprecated: Use :package_registry_access_level instead. Enable project packages feature' 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[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[mr_default_title_template] description: Template used to generate the default merge request title. Maximum 100 characters. 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: override_params[duo_remote_flows_enabled] description: Enable GitLab Duo remote flows for this project type: boolean required: false - in: formData name: override_params[duo_sast_fp_detection_enabled] description: Enable GitLab Duo SAST false positive detection for this project type: boolean required: false - in: formData name: override_params[duo_secret_detection_fp_enabled] description: Enable GitLab Duo Secret Detection false positive detection for this project type: boolean required: false - in: formData name: override_params[duo_sast_vr_workflow_enabled] description: Enable GitLab Duo SAST vulnerability resolution workflow for this project type: boolean required: false - in: formData name: override_params[spp_repository_pipeline_access] description: Grant read-only access to security policy configurations for enforcement in linked CI/CD projects 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 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: "(deprecated) The ID or path of the namespace to import the project to. Defaults to the current user's namespace." type: string required: false - in: formData name: namespace_id description: The ID of the namespace that the project will be imported into. Defaults to the current user's namespace. type: integer format: int32 required: false example: 1 - in: formData name: namespace_path description: The path of the namespace that the project will be imported into. Defaults to the current user's namespace. type: string required: false example: new_path/gitlab - 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[package_registry_access_level] description: Controls visibility of the package registry. One of `disabled`, `private`, `enabled` or `public`. `private` will make the package registry accessible only to project members (reporter role and above). `enabled` will make the package registry accessible to everyone who has access to the project. `public` will make the package registry accessible to everyone. `disabled` will disable the package registry type: string enum: - disabled - private - enabled - public 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[resource_group_default_process_mode] description: The process mode of the resource group type: string enum: - unordered - oldest_first - newest_first - newest_ready_first 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[packages_enabled] description: 'Deprecated: Use :package_registry_access_level instead. Enable project packages feature' 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[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[mr_default_title_template] description: Template used to generate the default merge request title. Maximum 100 characters. 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: override_params[duo_remote_flows_enabled] description: Enable GitLab Duo remote flows for this project type: boolean required: false - in: formData name: override_params[duo_sast_fp_detection_enabled] description: Enable GitLab Duo SAST false positive detection for this project type: boolean required: false - in: formData name: override_params[duo_secret_detection_fp_enabled] description: Enable GitLab Duo Secret Detection false positive detection for this project type: boolean required: false - in: formData name: override_params[duo_sast_vr_workflow_enabled] description: Enable GitLab Duo SAST vulnerability resolution workflow for this project type: boolean required: false - in: formData name: override_params[spp_repository_pipeline_access] description: Grant read-only access to security policy configurations for enforcement in linked CI/CD projects 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 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 - cargo 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: - 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: - 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: - 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: - 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: - project_snapshots 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: - 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: - 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: - 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: - 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: - 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: - 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, like 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: - 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: - 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: - project_templates 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: - project_templates 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: - custom_attributes 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: - custom_attributes 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 schema: "$ref": "#/definitions/API_Entities_CustomAttribute" tags: - custom_attributes 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: - custom_attributes 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 - groups 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/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/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: - protected_branches 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: - protected_branches 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: - protected_branches 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: - protected_branches 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: - protected_branches 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: - 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: - 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: - 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: - 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: - 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: - releases 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: - releases 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: - releases 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: - releases 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: - releases 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - repositories 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: - 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_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_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_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_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: - 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: - 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: - 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: - 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: - 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 '403': description: Forbidden '404': description: Not Found tags: - 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: - 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: - 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: - 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: - packages operationId: getApiV4ProjectsIdPackagesRubygemsApiV1Dependencies "/api/v4/projects/{id}/(-/)search": get: summary: Search on GitLab within a project description: This feature was introduced in GitLab 10.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: search description: The expression it should be searched for type: string required: true - in: query name: scope description: The scope of the search type: string enum: - issues - work_items - merge_requests - milestones - notes - wiki_blobs - commits - blobs - users required: true - 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 - in: query name: state description: Filter results by state type: string enum: - all - opened - closed - merged required: false - in: query name: confidential description: Filter results by confidentiality type: boolean required: false - in: query name: type description: 'Filter work items by type. Only applies to work_items scope. Available types: issue, task, epic, incident, test_case, requirement, objective, key_result, ticket.' type: array items: type: string required: false - in: query name: fields description: Array of fields you wish to search. Available with advanced search. type: array items: type: string enum: - title required: false - in: query name: num_context_lines description: Number of context lines around each match. Available with advanced and exact code search. Introduced in GitLab 18.11. type: integer format: int32 minimum: 0 maximum: 20 required: false - in: query name: regex description: Performs a regex code search. Available with exact code search. Introduced in GitLab 18.9 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: Search on GitLab within a project tags: - search - projects operationId: getApiV4ProjectsId(-)search "/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: - submodules operationId: putApiV4ProjectsIdRepositorySubmodulesSubmodule "/api/v4/projects/{id}/attestations/{subject_digest}": get: summary: Fetch the list of all attestations for a specific project and artifact hash description: This feature was introduced in GitLab 18.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: subject_digest description: The SHA-256 hash of the artifact type: string required: true responses: '200': description: Fetch the list of all attestations for a specific project and artifact hash schema: "$ref": "#/definitions/API_Entities_SupplyChain_Attestation" '404': description: Artifact SHA-256 not found tags: - attestations operationId: getApiV4ProjectsIdAttestationsSubjectDigest "/api/v4/projects/{id}/attestations/{attestation_iid}/download": get: summary: Fetch a specific bundle by iid description: This feature was introduced in GitLab 18.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: attestation_iid description: The iid of the attestation type: string required: true responses: '200': description: Fetch a specific bundle by iid '404': description: Artifact SHA-256 not found tags: - attestations operationId: getApiV4ProjectsIdAttestationsAttestationIidDownload "/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 pagination 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 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 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 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 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 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 description: The name of a Terraform state type: string required: true - name: postApiV4ProjectsIdTerraformStateName in: body required: true schema: "$ref": "#/definitions/postApiV4ProjectsIdTerraformStateName" 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 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 description: The name of a Terraform state type: string 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 operationId: deleteApiV4ProjectsIdTerraformStateName "/api/v4/projects/{id}/terraform/state/{name}/authorize": post: summary: Authorize Terraform state upload description: This feature was introduced in GitLab 18.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: name description: The name of a Terraform state type: string required: true responses: '200': description: Authorize Terraform state upload '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found tags: - terraform operationId: postApiV4ProjectsIdTerraformStateNameAuthorize "/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 description: The name of a Terraform state type: string 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 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: 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: '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 operationId: deleteApiV4ProjectsIdTerraformStateNameLock "/api/v4/projects/{id}/terraform/state_protection_rules": get: summary: List all Terraform state protection rules for a project description: Lists all Terraform state protection rules for a project. This feature was introduced in GitLab 18.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: List all Terraform state protection rules for a project schema: type: array items: "$ref": "#/definitions/API_Entities_Terraform_StateProtectionRule" '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found tags: - projects operationId: getApiV4ProjectsIdTerraformStateProtectionRules "/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 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 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: - database_dictionary 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/pending": get: description: List pending database migrations 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 responses: '200': description: 200 OK '401': description: 401 Unauthorized '403': description: 403 Forbidden tags: - migrations operationId: getApiV4AdminMigrationsPending "/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: - avatars 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: '201': 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - ci_jobs 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: - agents 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: - ci_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: - ci_runners operationId: deleteApiV4Runners get: summary: List available 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: - ci_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: - ci_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 '422': description: Unprocessable Entity tags: - ci_runners operationId: postApiV4RunnersResetAuthenticationToken "/api/v4/runners/router/discovery": get: summary: Discover Job Router information description: This endpoint can be used by the runner to retrieve information about the Job Router. produces: - application/json responses: '200': description: Discover Job Router information schema: "$ref": "#/definitions/API_Entities_Ci_JobRouter_DiscoveryInformation" '403': description: 403 Forbidden '501': description: 501 Not Implemented tags: - ci_runners operationId: getApiV4RunnersRouterDiscovery "/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 - in: query name: include_projects description: Include projects in the response. Set to false to improve performance for runners with many projects. type: boolean default: true required: false 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}/projects": get: summary: List runner's projects description: Get a paginated list of all projects associated with the specified runner. Access is restricted based on user permissions. produces: - application/json parameters: - in: path name: id description: The ID of a runner 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 projects associated with a runner schema: "$ref": "#/definitions/API_Entities_BasicProjectDetails" '401': description: Unauthorized '403': description: No access granted '404': description: Runner not found tags: - runners - projects operationId: getApiV4RunnersIdProjects "/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 '422': description: Unprocessable Entity 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 '429': description: Too Many Requests 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 '409': description: Conflict '429': description: Too Many Requests 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 '429': description: Too Many Requests 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 '429': description: Too Many Requests 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 '429': description: Too Many Requests 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 '429': description: Too Many Requests tags: - jobs operationId: getApiV4JobsIdArtifacts "/api/v4/chaos/test": get: summary: Chaos test endpoint for feature flag observability description: | Picks a project by random ID and checks the `ebonet_chaos_tests` feature flag. When enabled, introduces a 20% chance of a 500 error and a 20% chance of a 300ms delay. Returns 200 OK otherwise. produces: - application/json responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden '500': description: Internal Server Error (chaos-induced) tags: - chaos operationId: getApiV4ChaosTest "/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: - 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: - 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: - 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: - 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: - 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: - 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* - in: query name: ignorecase description: Ignore case when searching (case-insensitive search) type: boolean required: false example: 'False' responses: '200': description: Search for packages '400': description: Bad Request '404': description: Not Found tags: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: Name of the module type: string required: true - in: path name: module_system description: System of the module 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 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: Name of the module type: string required: true - in: path name: module_system description: System of the module 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 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: Name of the module type: string required: true - in: path name: module_system description: System of the module 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 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: Name of the module type: string required: true - in: path name: module_system description: System of the module type: string required: true - in: query name: module_version description: Version of the module 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 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: Name of the module type: string required: true - in: path name: module_system description: System of the module type: string required: true - in: query name: module_version description: Version of the module 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 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: Name of the module type: string required: true - in: path name: module_system description: System of the module type: string required: true - in: query name: module_version description: Version of the module 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 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 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/databases/{database_name}/dictionary/tables": get: summary: List dictionary tables description: Returns database dictionary tables filtered by database and optional table size produces: - application/json parameters: - in: path name: database_name description: The database name type: string enum: - main - ci - sec - embedding - geo required: true - in: query name: table_size description: Filter by table size classification type: string enum: - small - medium - large - over_limit required: false responses: '200': description: List dictionary tables schema: type: array items: "$ref": "#/definitions/API_Entities_Dictionary_Table" '401': description: 401 Unauthorized '403': description: 403 Forbidden tags: - database_dictionary operationId: getApiV4DatabasesDatabaseNameDictionaryTables "/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 user’s 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/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/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 clone or pull operations 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 clone or pull operations 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/glql": post: summary: Execute GLQL query description: Execute a GLQL (GitLab Query Language) query produces: - application/json consumes: - application/json parameters: - name: postApiV4Glql in: body required: true schema: "$ref": "#/definitions/postApiV4Glql" responses: '200': description: Execute GLQL query schema: "$ref": "#/definitions/API_Entities_Glql_Result" '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '429': description: Too Many Requests '500': description: Internal server error tags: - glql operationId: postApiV4Glql "/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: summary: Process Slack interaction events description: Processes interaction events from Slack produces: - application/json consumes: - application/json responses: '201': description: Process Slack interaction events tags: - integrations - internal_operations operationId: postApiV4IntegrationsSlackInteractions "/api/v4/integrations/slack/options": post: summary: Get Slack interactive component options description: Retrieves options for Slack interactive components produces: - application/json consumes: - application/json responses: '201': description: Get Slack interactive component options tags: - integrations - internal_operations 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/issues": get: description: Get currently authenticated user's issues produces: - application/json parameters: - in: query name: with_labels_details description: Return titles of labels and other details type: boolean default: false required: false - in: query name: state description: Return opened, closed, or all issues type: string default: all enum: - opened - closed - all required: false - in: query name: closed_by_id description: Return issues which were closed by the user with the given ID. type: integer format: int32 required: false - in: query name: order_by description: Return issues ordered by `created_at`, `due_date`, `label_priority`, `milestone_due`, `popularity`, `priority`, `relative_position`, `title`, or `updated_at` fields. type: string default: created_at enum: - created_at - due_date - label_priority - milestone_due - popularity - priority - relative_position - title - updated_at - weight required: false - in: query name: sort description: Return issues sorted in `asc` or `desc` order. type: string default: desc enum: - asc - desc required: false - in: query name: due_date description: 'Return issues that have no due date (`0`), or whose due date is this week, this month, between two weeks ago and next month, or which are overdue. Accepts: `overdue`, `week`, `month`, `next_month_and_previous_two_weeks`, `0`' type: string enum: - '0' - any - today - tomorrow - overdue - week - month - next_month_and_previous_two_weeks - '' required: false - in: query name: issue_type description: 'The type of the issue. Accepts: issue, incident, test_case, requirement, task, ticket' type: string enum: - issue - incident - test_case - requirement - task - ticket required: false - in: query name: labels description: Comma-separated list of label names type: array items: type: string required: false - in: query name: milestone description: Milestone title type: string required: false - in: query name: milestone_id description: Return issues assigned to milestones with the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: iids description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: search description: Search issues for text present in the title, description, or any combination of these type: string required: false - in: query name: in description: "`title`, `description`, or a string joining them with comma" type: string required: false - in: query name: author_id description: Return issues which are authored by the user with the given ID type: integer format: int32 required: false - in: query name: author_username description: Return issues which are authored by the user with the given username type: string required: false - in: query name: assignee_id description: Return issues which are assigned to the user with the given ID type: integer format: int32 required: false - in: query name: assignee_username description: Return issues which are assigned to the user with the given username type: array items: type: string required: false - in: query name: created_after description: Return issues created after the specified time type: string format: date-time required: false - in: query name: created_before description: Return issues created before the specified time type: string format: date-time required: false - in: query name: updated_after description: Return issues updated after the specified time type: string format: date-time required: false - in: query name: updated_before description: Return issues updated before the specified time type: string format: date-time required: false - in: query name: not[labels] description: Comma-separated list of label names type: array items: type: string required: false - in: query name: not[milestone] description: Milestone title type: string required: false - in: query name: not[milestone_id] description: Return issues assigned to milestones without the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: not[iids] description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: not[author_id] description: Return issues which are not authored by the user with the given ID type: integer format: int32 required: false - in: query name: not[author_username] description: Return issues which are not authored by the user with the given username type: string required: false - in: query name: not[assignee_id] description: Return issues which are not assigned to the user with the given ID type: integer format: int32 required: false - in: query name: not[assignee_username] description: Return issues which are not assigned to the user with the given username type: array items: type: string required: false - in: query name: not[weight] description: Return issues without the specified weight type: integer format: int32 required: false - in: query name: not[iteration_id] description: Return issues which are not assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: not[iteration_title] description: Return issues which are not assigned to the iteration with the given title type: string required: false - in: query name: scope description: 'Return issues 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: my_reaction_emoji description: Return issues reacted by the authenticated user by the given emoji type: string required: false - in: query name: confidential description: Filter confidential or public issues type: boolean required: false - in: query name: weight description: The weight of the issue type: integer format: int32 required: false - in: query name: epic_id description: The ID of an epic associated with the issues type: integer format: int32 required: false - in: query name: health_status description: 'The health status of the issue. Must be one of: on_track, needs_attention, at_risk, none, any' type: string enum: - on_track - needs_attention - at_risk - none - any required: false - in: query name: iteration_id description: Return issues which are assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: iteration_title description: Return issues which are assigned to the iteration with the given title 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: Return issues from non archived projects type: boolean default: true required: false responses: '200': description: Get currently authenticated user's issues schema: "$ref": "#/definitions/API_Entities_Issue" tags: - issues operationId: getApiV4Issues "/api/v4/issues/{id}": get: description: Get specified issue (admin only) produces: - application/json parameters: - in: path name: id description: The ID of the Issue type: string required: true responses: '200': description: Get specified issue (admin only) schema: "$ref": "#/definitions/API_Entities_Issue" tags: - issues operationId: getApiV4IssuesId "/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`, `reviews_for_me` or `all`' type: string default: created_by_me enum: - created-by-me - assigned-to-me - created_by_me - assigned_to_me - reviews_for_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: Deprecated. Use `draft` instead. 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: draft description: Filter merge requests against their `draft` status. `true` to return only draft merge requests, `false` to return non-draft merge requests. type: boolean required: false - in: query name: not[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: not[author_username] description: "`` Returns merge requests created by the given `username`. Mutually exclusive with `author_id`." type: string required: false - in: query name: not[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: not[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: not[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: not[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: not[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: not[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: not[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: 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: false required: false responses: '200': description: List merge requests schema: type: array items: "$ref": "#/definitions/API_Entities_MergeRequestBasic" '401': description: Unauthorized '422': description: Unprocessable entity tags: - merge_requests operationId: getApiV4MergeRequests "/api/v4/namespaces/{id}": put: summary: Update a namespace description: Deprecated in 17.8 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: 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: Namespace’s 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/offline_exports": post: summary: Start a new offline transfer export description: Initiates a new offline transfer export produces: - application/json consumes: - application/json parameters: - name: postApiV4OfflineExports in: body required: true schema: "$ref": "#/definitions/postApiV4OfflineExports" responses: '201': description: Start a new offline transfer export tags: - offline_transfers operationId: postApiV4OfflineExports get: summary: List all offline transfer exports description: Lists all offline transfer exports 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 offline transfer exports sorted in created by `asc` or `desc` order. type: string default: desc enum: - asc - desc required: false - in: query name: status description: Return offline transfer exports with specified status type: string enum: - created - started - finished - failed required: false responses: '200': description: List all offline transfer exports tags: - offline_transfers operationId: getApiV4OfflineExports "/api/v4/offline_exports/{id}": get: summary: Get offline transfer export details description: Retrieves details of an offline transfer export produces: - application/json parameters: - in: path name: id description: The ID of user's offline transfer export type: integer format: int32 required: true responses: '200': description: Get offline transfer export details tags: - offline_transfers operationId: getApiV4OfflineExportsId "/api/v4/offline_imports": post: summary: Start a new offline transfer import description: Initiates a new offline transfer import from object storage produces: - application/json consumes: - application/json parameters: - name: postApiV4OfflineImports in: body required: true schema: "$ref": "#/definitions/postApiV4OfflineImports" responses: '201': description: Start a new offline transfer import schema: "$ref": "#/definitions/API_Entities_BulkImport" '400': description: Bad request '401': description: Unauthorized '404': description: Not found '422': description: Unprocessable entity '429': description: Too many requests tags: - offline_transfers operationId: postApiV4OfflineImports "/api/v4/organizations": post: summary: Create an organization description: |- This feature was introduced in GitLab 17.5. \ This feature is behind the `allow_organization_creation` feature flag. \ In GitLab 18.3, feature flag changed to `organization_switching`. 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: domain description: The domain of the GitLab Pages site to filter on. 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 all pages domains schema: "$ref": "#/definitions/API_Entities_PagesDomainBasic" tags: - gitlab_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: - 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: - 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: - 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: - 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: - 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: - 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: - 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: - access_tokens operationId: postApiV4PersonalAccessTokensIdRotate "/api/v4/search": get: summary: Search on GitLab description: This feature was introduced in GitLab 10.5. produces: - application/json parameters: - in: query name: search description: The expression it should be searched for type: string required: true - in: query name: scope description: The scope of the search type: string enum: - wiki_blobs - blobs - commits - notes - projects - issues - work_items - merge_requests - milestones - snippet_titles - users required: true - in: query name: state description: Filter results by state type: string enum: - all - opened - closed - merged required: false - in: query name: confidential description: Filter results by confidentiality type: boolean required: false - in: query name: type description: 'Filter work items by type. Only applies to work_items scope. Available types: issue, task, epic, incident, test_case, requirement, objective, key_result, ticket.' type: array items: type: string required: false - in: query name: include_archived description: Includes archived projects in the search. Introduced in GitLab 18.9. type: boolean default: false required: false - in: query name: fields description: Array of fields you wish to search. Available with advanced search. type: array items: type: string enum: - title required: false - in: query name: exclude_forks description: Excludes forked projects in the search. Available with exact code search. Introduced in GitLab 18.9. type: boolean required: false - in: query name: num_context_lines description: Number of context lines around each match. Available with advanced and exact code search. Introduced in GitLab 18.11. type: integer format: int32 minimum: 0 maximum: 20 required: false - in: query name: regex description: Performs a regex code search. Available with exact code search. Introduced in GitLab 18.9 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: Search on GitLab tags: - search operationId: getApiV4Search "/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, like 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: summary: Set a url variable description: Sets a URL variable for a webhook 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: summary: Un-Set a url variable description: Removes a URL variable from a webhook 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: summary: Set a custom header description: Sets a custom header for a webhook 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 name 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: summary: Un-Set a custom header description: Removes a custom header from a webhook 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 name 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: - 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: - 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: - 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: - hooks operationId: putApiV4HooksHookId post: summary: Test a hook description: Tests a webhook by triggering a test event 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: Test a 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: - hooks operationId: deleteApiV4HooksHookId "/api/v4/feature_flags/unleash/{project_id}": get: description: Get Unleash 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 Unleash features tags: - unleash operationId: getApiV4FeatureFlagsUnleashProjectId "/api/v4/feature_flags/unleash/{project_id}/features": get: summary: Get a list of features (v2 client support) description: Deprecated in GitLab 15.6 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 (v2 client support) tags: - unleash operationId: getApiV4FeatureFlagsUnleashProjectIdFeatures deprecated: true "/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 operationId: getApiV4FeatureFlagsUnleashProjectIdClientFeatures "/api/v4/feature_flags/unleash/{project_id}/client/register": post: description: Register Unleash client 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: Register Unleash client tags: - unleash operationId: postApiV4FeatureFlagsUnleashProjectIdClientRegister "/api/v4/feature_flags/unleash/{project_id}/client/metrics": post: description: Report Unleash client metrics 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: Report Unleash client metrics tags: - unleash 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: - 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: - users 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: - users - 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: - instance 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 - in: formData name: site_name description: Last part of the webpage title. Defaults to empty. type: string required: false responses: '200': description: Modify appearance schema: "$ref": "#/definitions/API_Entities_Appearance" tags: - instance 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: - instance 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_resources 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_resources 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_resources 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 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 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 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 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: - imports 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: - integrations operationId: postApiV4SlackTrigger "/api/v4/issues_statistics": get: description: Get currently authenticated user's issues statistics produces: - application/json parameters: - in: query name: labels description: Comma-separated list of label names type: array items: type: string required: false - in: query name: milestone description: Milestone title type: string required: false - in: query name: milestone_id description: Return issues assigned to milestones with the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: iids description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: search description: Search issues for text present in the title, description, or any combination of these type: string required: false - in: query name: in description: "`title`, `description`, or a string joining them with comma" type: string required: false - in: query name: author_id description: Return issues which are authored by the user with the given ID type: integer format: int32 required: false - in: query name: author_username description: Return issues which are authored by the user with the given username type: string required: false - in: query name: assignee_id description: Return issues which are assigned to the user with the given ID type: integer format: int32 required: false - in: query name: assignee_username description: Return issues which are assigned to the user with the given username type: array items: type: string required: false - in: query name: created_after description: Return issues created after the specified time type: string format: date-time required: false - in: query name: created_before description: Return issues created before the specified time type: string format: date-time required: false - in: query name: updated_after description: Return issues updated after the specified time type: string format: date-time required: false - in: query name: updated_before description: Return issues updated before the specified time type: string format: date-time required: false - in: query name: not[labels] description: Comma-separated list of label names type: array items: type: string required: false - in: query name: not[milestone] description: Milestone title type: string required: false - in: query name: not[milestone_id] description: Return issues assigned to milestones without the specified timebox value ("Any", "None", "Upcoming" or "Started") type: string enum: - Any - None - Upcoming - Started required: false - in: query name: not[iids] description: The IID array of issues type: array items: type: integer format: int32 required: false - in: query name: not[author_id] description: Return issues which are not authored by the user with the given ID type: integer format: int32 required: false - in: query name: not[author_username] description: Return issues which are not authored by the user with the given username type: string required: false - in: query name: not[assignee_id] description: Return issues which are not assigned to the user with the given ID type: integer format: int32 required: false - in: query name: not[assignee_username] description: Return issues which are not assigned to the user with the given username type: array items: type: string required: false - in: query name: not[weight] description: Return issues without the specified weight type: integer format: int32 required: false - in: query name: not[iteration_id] description: Return issues which are not assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: not[iteration_title] description: Return issues which are not assigned to the iteration with the given title type: string required: false - in: query name: scope description: 'Return issues 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 - all required: false - in: query name: my_reaction_emoji description: Return issues reacted by the authenticated user by the given emoji type: string required: false - in: query name: confidential description: Filter confidential or public issues type: boolean required: false - in: query name: weight description: The weight of the issue type: integer format: int32 required: false - in: query name: epic_id description: The ID of an epic associated with the issues type: integer format: int32 required: false - in: query name: health_status description: 'The health status of the issue. Must be one of: on_track, needs_attention, at_risk, none, any' type: string enum: - on_track - needs_attention - at_risk - none - any required: false - in: query name: iteration_id description: Return issues which are assigned to the iteration with the given ID type: integer format: int32 required: false - in: query name: iteration_title description: Return issues which are assigned to the iteration with the given title type: string required: false responses: '200': description: Get currently authenticated user's issues statistics tags: - issues operationId: getApiV4IssuesStatistics "/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: - project_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: - project_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: - project_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: - project_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: - project_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: - project_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 required: - id - username - public_email - name - state - locked - avatar_url - web_url - requested_at description: API_Entities_AccessRequester model API_Entities_CustomAttribute: type: object properties: key: type: string example: foo value: type: string example: bar required: - key - value 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_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" group_scim_identity: "$ref": "#/definitions/API_Entities_ScimIdentity" email: type: string is_using_seat: type: string override: type: string membership_state: type: string member_role: "$ref": "#/definitions/API_Entities_MemberRole" required: - id - username - public_email - name - state - locked - avatar_url - web_url - access_level - created_at - expires_at - membership_state description: API_Entities_Member 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 required: - id - username - public_email - name - state - locked - avatar_url - web_url description: API_Entities_UserBasic model API_Entities_Identity: type: object properties: provider: type: string extern_uid: type: string saml_provider_id: type: string required: - provider - extern_uid - saml_provider_id API_Entities_ScimIdentity: type: object properties: extern_uid: type: string group_id: type: string active: type: string required: - extern_uid - group_id - active 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: - 5 - 10 - 15 - 20 - 30 - 40 example: 40 apply_security_scan_profiles: type: boolean admin_merge_request: type: boolean archive_project: type: boolean remove_project: type: boolean remove_group: 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_attributes: type: boolean admin_terraform_state: type: boolean admin_vulnerability: type: boolean admin_web_hook: type: boolean read_compliance_dashboard: type: boolean read_security_scan_profiles: type: boolean read_virtual_registry: type: boolean read_admin_cicd: type: boolean read_crm_contact: type: boolean read_dependency: type: boolean read_admin_groups: type: boolean read_admin_projects: type: boolean read_code: type: boolean read_runners: type: boolean read_security_attribute: type: boolean read_admin_subscription: type: boolean read_admin_monitoring: type: boolean read_admin_users: type: boolean read_vulnerability: type: boolean required: - id - group_id - name - description - base_access_level - apply_security_scan_profiles - admin_merge_request - archive_project - remove_project - remove_group - manage_security_policy_link - admin_compliance_framework - admin_cicd_variables - manage_deploy_tokens - manage_group_access_tokens - admin_group_member - admin_integrations - manage_merge_request_settings - manage_project_access_tokens - admin_protected_branch - admin_protected_environments - manage_protected_tags - admin_push_rules - admin_runners - admin_security_attributes - admin_terraform_state - admin_vulnerability - admin_web_hook - read_compliance_dashboard - read_security_scan_profiles - read_virtual_registry - read_admin_cicd - read_crm_contact - read_dependency - read_admin_groups - read_admin_projects - read_code - read_runners - read_security_attribute - read_admin_subscription - read_admin_monitoring - read_admin_users - read_vulnerability 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 required: - id - name - user - created_at - updated_at - awardable_id - awardable_type - url description: API_Entities_AwardEmoji 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 example: Pipeline Status link_url: type: string example: https://example.gitlab.com image_url: type: string example: https://example.gitlab.com rendered_link_url: type: string example: https://example.gitlab.com rendered_image_url: type: string example: https://example.gitlab.com id: type: integer format: int32 example: 1 kind: type: string example: project required: - name - link_url - image_url - rendered_link_url - rendered_image_url - id - kind description: API_Entities_Badge model API_Entities_BasicBadgeDetails: type: object properties: name: type: string example: Pipeline Status link_url: type: string example: https://example.gitlab.com image_url: type: string example: https://example.gitlab.com rendered_link_url: type: string example: https://example.gitlab.com rendered_image_url: type: string example: https://example.gitlab.com required: - name - link_url - image_url - rendered_link_url - rendered_image_url 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: integer format: int32 web_url: type: string example: http://gitlab.example.com/groups/diaspora name: type: string example: Diaspora path: type: string description: type: string visibility: type: string share_with_group_lock: type: boolean require_two_factor_authentication: type: boolean two_factor_grace_period: type: integer format: int32 project_creation_level: type: string auto_devops_enabled: type: string subgroup_creation_level: type: string emails_disabled: type: boolean emails_enabled: type: boolean show_diff_preview_in_email: type: boolean mentions_disabled: type: string lfs_enabled: type: boolean archived: type: boolean math_rendering_limits_enabled: type: boolean lock_math_rendering_limits_enabled: type: boolean default_branch: type: string default_branch_protection: type: integer format: int32 default_branch_protection_defaults: type: string avatar_url: type: string request_access_enabled: type: boolean full_name: type: string full_path: type: string created_at: type: string parent_id: type: string organization_id: type: integer format: int32 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 required: - storage_size - repository_size - wiki_size - lfs_objects_size - job_artifacts_size - pipeline_artifacts_size - packages_size - snippets_size - uploads_size 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/API_Entities_LdapGroupLink" saml_group_links: "$ref": "#/definitions/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 auto_duo_code_review_enabled: type: string web_based_commit_signing_enabled: type: string allow_personal_snippets: type: string duo_namespace_access_rules: type: string required: - id - web_url - name - path - description - visibility - share_with_group_lock - require_two_factor_authentication - two_factor_grace_period - project_creation_level - auto_devops_enabled - subgroup_creation_level - emails_disabled - emails_enabled - show_diff_preview_in_email - mentions_disabled - lfs_enabled - archived - math_rendering_limits_enabled - lock_math_rendering_limits_enabled - default_branch - default_branch_protection - default_branch_protection_defaults - avatar_url - request_access_enabled - full_name - full_path - created_at - parent_id - organization_id - shared_runners_setting - max_artifacts_size - marked_for_deletion_on - ldap_cn - ldap_access - wiki_access_level 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. required: - build_artifacts_size - container_registry_size - container_registry_size_is_estimated - dependency_proxy_size - lfs_objects_size - packages_size - pipeline_artifacts_size - repository_size - snippets_size - storage_size - uploads_size - wiki_size 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 required: - cn - group_access - provider 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 provider: type: string example: saml required: - name - access_level - provider 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 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 duo_remote_flows_availability: type: boolean description: Enable GitLab Duo remote flows for this group duo_foundational_flows_availability: type: boolean description: Enable GitLab foundational Duo flows for this group duo_custom_agents_availability: type: boolean description: Enable GitLab Duo custom agents for this group duo_custom_flows_availability: type: boolean description: Enable GitLab Duo custom flows for this group duo_external_agents_availability: type: boolean description: Enable GitLab Duo external agents for this group tool_approval_for_session_availability: type: string description: Tool approval for session 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 foundational_agents_statuses: type: array description: Whether each foundational agent has been enabled or disabled. items: type: object properties: reference: type: string description: Reference of the foundational agent. enabled: type: boolean description: Whether foundational agent has been enabled or disabled. required: - reference - enabled ai_settings_attributes: type: object description: AI-related settings properties: duo_agent_platform_enabled: type: boolean description: Whether Duo Agent Platform features are enabled duo_workflow_mcp_enabled: type: boolean description: Enable MCP support for Duo Agent Platform ai_usage_data_collection_enabled: type: boolean description: Enable AI usage data collection for this namespace foundational_agents_default_enabled: type: boolean description: Whether new foundational agents are enabled by default prompt_injection_protection_level: type: string description: Prompt injection protection level. One of `no_checks`, `log_only` or `interrupt` enum: - no_checks - log_only - interrupt minimum_access_level_execute: type: integer format: int32 description: The minimum access level required to execute Duo Agent Platform. This field is behind a feature flag. enum: - 10 - 15 - 20 - 30 - 40 - 50 minimum_access_level_execute_async: type: integer format: int32 description: The minimum access level required to execute Duo Agent Platform features in CI/CD. This field is behind a feature flag. enum: - 30 - 40 - 50 minimum_access_level_manage: type: integer format: int32 description: The minimum access level required to manage Duo Agent Platform. This field is behind a feature flag. enum: - 30 - 40 - 50 minimum_access_level_enable_on_projects: type: integer format: int32 description: The minimum access level required to enable Duo Agent Platform. This field is behind a feature flag. enum: - 30 - 40 - 50 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 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 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 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 duo_remote_flows_availability: type: boolean description: Enable GitLab Duo remote flows for this group duo_foundational_flows_availability: type: boolean description: Enable GitLab foundational Duo flows for this group duo_custom_agents_availability: type: boolean description: Enable GitLab Duo custom agents for this group duo_custom_flows_availability: type: boolean description: Enable GitLab Duo custom flows for this group duo_external_agents_availability: type: boolean description: Enable GitLab Duo external agents for this group tool_approval_for_session_availability: type: string description: Tool approval for session 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 foundational_agents_statuses: type: array description: Whether each foundational agent has been enabled or disabled. items: type: object properties: reference: type: string description: Reference of the foundational agent. enabled: type: boolean description: Whether foundational agent has been enabled or disabled. required: - reference - enabled ai_settings_attributes: type: object description: AI-related settings properties: duo_agent_platform_enabled: type: boolean description: Whether Duo Agent Platform features are enabled duo_workflow_mcp_enabled: type: boolean description: Enable MCP support for Duo Agent Platform ai_usage_data_collection_enabled: type: boolean description: Enable AI usage data collection for this namespace foundational_agents_default_enabled: type: boolean description: Whether new foundational agents are enabled by default prompt_injection_protection_level: type: string description: Prompt injection protection level. One of `no_checks`, `log_only` or `interrupt` enum: - no_checks - log_only - interrupt minimum_access_level_execute: type: integer format: int32 description: The minimum access level required to execute Duo Agent Platform. This field is behind a feature flag. enum: - 10 - 15 - 20 - 30 - 40 - 50 minimum_access_level_execute_async: type: integer format: int32 description: The minimum access level required to execute Duo Agent Platform features in CI/CD. This field is behind a feature flag. enum: - 30 - 40 - 50 minimum_access_level_manage: type: integer format: int32 description: The minimum access level required to manage Duo Agent Platform. This field is behind a feature flag. enum: - 30 - 40 - 50 minimum_access_level_enable_on_projects: type: integer format: int32 description: The minimum access level required to enable Duo Agent Platform. This field is behind a feature flag. enum: - 30 - 40 - 50 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. step_up_auth_required_oauth_provider: type: string description: OAuth provider required for step-up authentication. Pass empty string to disable. 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 auto_duo_code_review_enabled: type: boolean description: Enable automatic reviews by GitLab Duo on merge requests web_based_commit_signing_enabled: type: boolean description: Enable web based commit signing for this group 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 enabled_foundational_flows: type: array description: References of enabled foundational flows items: type: string duo_template_project_id: type: integer format: int32 description: The ID of a project to use as the Duo Code Review custom instructions template for this group allow_personal_snippets: type: boolean description: Allow creation of personal snippets for enterprise users of this group duo_namespace_access_rules: type: array description: AI entity access rules for controlling Duo feature access items: type: object properties: through_namespace: type: object description: Object containing through namespace information properties: id: type: integer format: int32 description: ID of the through namespace name: type: string description: Name of the through namespace full_path: type: string description: Full path of the through namespace required: - id features: type: array description: List of accessible features items: type: string required: - features description: Update a group. Available only for users who can administrate groups. API_Entities_GroupDetail: type: object properties: id: type: integer format: int32 web_url: type: string example: http://gitlab.example.com/groups/diaspora name: type: string example: Diaspora path: type: string description: type: string visibility: type: string share_with_group_lock: type: boolean require_two_factor_authentication: type: boolean two_factor_grace_period: type: integer format: int32 project_creation_level: type: string auto_devops_enabled: type: string subgroup_creation_level: type: string emails_disabled: type: boolean emails_enabled: type: boolean show_diff_preview_in_email: type: boolean mentions_disabled: type: string lfs_enabled: type: boolean archived: type: boolean math_rendering_limits_enabled: type: boolean lock_math_rendering_limits_enabled: type: boolean default_branch: type: string default_branch_protection: type: integer format: int32 default_branch_protection_defaults: type: string avatar_url: type: string request_access_enabled: type: boolean full_name: type: string full_path: type: string created_at: type: string parent_id: type: string organization_id: type: integer format: int32 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 required: - storage_size - repository_size - wiki_size - lfs_objects_size - job_artifacts_size - pipeline_artifacts_size - packages_size - snippets_size - uploads_size 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/API_Entities_LdapGroupLink" saml_group_links: "$ref": "#/definitions/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 auto_duo_code_review_enabled: type: string web_based_commit_signing_enabled: type: string allow_personal_snippets: type: string duo_namespace_access_rules: type: string shared_with_groups: type: array items: type: object runners_token: type: string example: b8bc4a7a29eb76ea83cf79e4908c2b enabled_git_access_protocol: type: string example: ssh prevent_sharing_groups_outside_hierarchy: type: boolean step_up_auth_required_oauth_provider: type: string description: OAuth provider required for step-up authentication. 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 experiment_features_enabled: type: string membership_lock: type: string ip_restriction_ranges: type: string allowed_email_domains_list: type: string only_allow_merge_if_pipeline_succeeds: type: string allow_merge_on_skipped_pipeline: type: string only_allow_merge_if_all_discussions_are_resolved: 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 required: - id - web_url - name - path - description - visibility - share_with_group_lock - require_two_factor_authentication - two_factor_grace_period - project_creation_level - auto_devops_enabled - subgroup_creation_level - emails_disabled - emails_enabled - show_diff_preview_in_email - mentions_disabled - lfs_enabled - archived - math_rendering_limits_enabled - lock_math_rendering_limits_enabled - default_branch - default_branch_protection - default_branch_protection_defaults - avatar_url - request_access_enabled - full_name - full_path - created_at - parent_id - organization_id - shared_runners_setting - max_artifacts_size - marked_for_deletion_on - ldap_cn - ldap_access - wiki_access_level - shared_with_groups - shared_runners_minutes_limit - extra_shared_runners_minutes_limit - prevent_forking_outside_group - membership_lock 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' visibility: type: string example: public 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 required: - self - repo_branches - labels - events - members - cluster_agents marked_for_deletion_at: type: string format: date-time example: '2020-05-07T04:27:17.016Z' marked_for_deletion_on: type: string format: date-time example: '2020-05-07T04:27:17.016Z' packages_enabled: type: boolean empty_repo: type: boolean archived: type: boolean 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 package_registry_access_level: type: string example: enabled emails_disabled: type: boolean emails_enabled: type: boolean show_diff_preview_in_email: 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 resource_group_default_process_mode: type: string example: unordered 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 protect_merge_request_pipelines: type: boolean ci_display_pipeline_variables: 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: object 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 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)" mr_default_title_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 max_pipelines_per_merge_train: 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 duo_remote_flows_enabled: type: string duo_foundational_flows_enabled: type: string duo_sast_fp_detection_enabled: type: string duo_secret_detection_fp_enabled: type: string duo_sast_vr_workflow_enabled: type: string web_based_commit_signing_enabled: type: string spp_repository_pipeline_access: type: boolean description: The spp_repository_pipeline_access setting is only visible if the security_orchestration_policies feature is available. security_policy_pipeline_must_succeed: type: boolean description: Require all security policy pipelines to succeed before merge requests can be merged. 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 required: - id - description - name - name_with_namespace - path - path_with_namespace - created_at - tag_list - topics - ssh_url_to_repo - http_url_to_repo - web_url - avatar_url - star_count - last_activity_at - visibility - namespace - _links - marked_for_deletion_at - marked_for_deletion_on - packages_enabled - empty_repo - archived - resolve_outdated_diff_discussions - repository_object_format - issues_enabled - merge_requests_enabled - wiki_enabled - jobs_enabled - snippets_enabled - container_registry_enabled - service_desk_enabled - can_create_merge_request_in - issues_access_level - repository_access_level - merge_requests_access_level - forking_access_level - wiki_access_level - builds_access_level - snippets_access_level - pages_access_level - analytics_access_level - container_registry_access_level - security_and_compliance_access_level - releases_access_level - environments_access_level - feature_flags_access_level - infrastructure_access_level - monitor_access_level - model_experiments_access_level - model_registry_access_level - package_registry_access_level - emails_disabled - emails_enabled - show_diff_preview_in_email - shared_runners_enabled - lfs_enabled - creator_id - import_status - description_html - updated_at - public_jobs - shared_with_groups - only_allow_merge_if_pipeline_succeeds - allow_merge_on_skipped_pipeline - request_access_enabled - only_allow_merge_if_all_discussions_are_resolved - remove_source_branch_after_merge - printing_merge_request_link_enabled - merge_method - squash_option - enforce_auth_checks_on_uploads - suggestion_commit_message - merge_commit_template - squash_commit_template - issue_branch_template - warn_about_potentially_unwanted_characters - autoclose_referenced_issues - max_artifacts_size - requirements_enabled - requirements_access_level - security_and_compliance_enabled - compliance_frameworks 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 required: - key - name - nickname - html_url - source_url 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 required: - id - name - path - kind - full_path - parent_id - avatar_url - web_url 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' visibility: type: string example: public namespace: "$ref": "#/definitions/API_Entities_NamespaceBasic" custom_attributes: "$ref": "#/definitions/API_Entities_CustomAttribute" repository_storage: type: string example: default required: - id - description - name - name_with_namespace - path - path_with_namespace - created_at - tag_list - topics - ssh_url_to_repo - http_url_to_repo - web_url - avatar_url - star_count - last_activity_at - visibility - namespace 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 required: - cadence - enabled - keep_n - older_than - name_regex - name_regex_keep - next_run_at API_Entities_ProjectStatistics: type: object properties: commit_count: type: integer format: int32 example: 37 storage_size: type: integer format: int32 example: 1038090 repository_size: type: integer format: int32 example: 1038090 wiki_size: type: integer format: int32 example: 0 lfs_objects_size: type: integer format: int32 example: 0 job_artifacts_size: type: integer format: int32 example: 0 pipeline_artifacts_size: type: integer format: int32 example: 0 packages_size: type: integer format: int32 example: 0 snippets_size: type: integer format: int32 example: 0 uploads_size: type: integer format: int32 example: 0 container_registry_size: type: integer format: int32 example: 0 required: - commit_count - storage_size - repository_size - wiki_size - lfs_objects_size - job_artifacts_size - pipeline_artifacts_size - packages_size - snippets_size - uploads_size - container_registry_size 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 postApiV4GroupsIdTransferToOrganization: type: object properties: organization_id: type: integer format: int32 description: The ID of the organization to transfer the group to required: - organization_id description: Transfer a group to an organization 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 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 required: - id - author_id - entity_id - entity_type - event_name - details - created_at description: 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 job_title: type: string pronouns: type: string organization: type: string bot: type: boolean 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: boolean private_profile: type: boolean example: false commit_email: type: string preferred_language: type: string example: en shared_runners_minutes_limit: type: string extra_shared_runners_minutes_limit: type: string scim_identities: "$ref": "#/definitions/API_Entities_ScimIdentity" required: - id - username - public_email - name - state - locked - avatar_url - web_url - bio - location - linkedin - twitter - discord - website_url - github - job_title - pronouns - organization - bot - work_information - local_time - last_sign_in_at - confirmed_at - last_activity_on - email - theme_id - color_scheme_id - projects_limit - current_sign_in_at - identities - can_create_group - can_create_project - two_factor_enabled - external - private_profile - commit_email - preferred_language - shared_runners_minutes_limit - extra_shared_runners_minutes_limit - scim_identities description: API_Entities_UserPublic model 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' required: - id - title - key - created_at description: 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 required: - id - description - ip_address - active - paused - is_shared - runner_type - name - online - created_at - status - job_execution_status description: API_Entities_Ci_Runner model API_Entities_Ci_ResetTokenResult: type: object properties: token: type: string token_expires_at: type: string required: - token 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 required: - id - name - username - expires_at - scopes - revoked - expired 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 required: - id - name - username - expires_at - scopes - revoked - expired - token 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" required: - id - name - created_at - domain - enabled - managed - provider_type - platform_type - environment_scope - cluster_type - namespace_per_environment - user - platform_kubernetes - provider_gcp - management_project 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 required: - api_url - namespace - authorization_type - ca_cert 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 required: - cluster_id - status_name - gcp_project_id - zone - machine_type - num_nodes - endpoint 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' required: - id - description - name - name_with_namespace - path - path_with_namespace - created_at 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" required: - id - name - created_at - domain - enabled - managed - provider_type - platform_type - environment_scope - cluster_type - namespace_per_environment - user - platform_kubernetes - provider_gcp - management_project - group description: API_Entities_ClusterGroup model API_Entities_BasicGroupDetails: type: object properties: id: type: integer format: int32 web_url: type: string example: http://gitlab.example.com/groups/diaspora name: type: string example: Diaspora required: - id - web_url - name 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 required: - id - name - path - project_id - location - created_at - cleanup_policy_started_at - status 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 required: - name - path - location 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 required: - id - codename - suite - origin - label - version - description - valid_time_duration_seconds - components - architectures 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: - pending - 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" required: - relation - status - error - updated_at - batched - batches_count - total_objects_count 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' required: - status - batch_number - objects_count - error - updated_at 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' creator_id: type: integer format: int32 example: 1 description: ID of the user who created the package 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" required: - id - name - version - package_type - status - _links - created_at - last_downloaded_at - creator_id - tags 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" required: - id - iid - project_id - sha - ref - status - source - created_at - updated_at - web_url - user 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" required: - id - version - created_at - tags postApiV4GroupsIdPlaceholderReassignments: type: object properties: file: type: file description: The CSV file containing the reassignments required: - file description: Upload placeholder reassignments CSV 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 ... required: - variable_type - key - value 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: boolean description: Whether the variable is protected masked_and_hidden: type: boolean description: Whether the variable is masked and hidden 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 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: 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 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: string 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 required: - id - title - slug - created_at - updated_at - active - commit_events - push_events - issues_events - incident_events - alert_events - confidential_issues_events - merge_requests_events - tag_push_events - deployment_events - note_events - confidential_note_events - pipeline_events - wiki_page_events - job_events - comment_on_event_enabled - inherited - vulnerability_events 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 documentation. 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: API key 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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, `1` for Jira personal access token, and `2` for Jira Cloud service accounts. 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. jira_check_enabled: type: boolean description: Verify Jira issues referenced in commit messages exist before allowing the push. jira_exists_check_enabled: type: boolean description: Verify the Jira issues referenced in commit messages exist in Jira. jira_assignee_check_enabled: type: boolean description: Verify the committer is the assignee of the Jira issues referenced in commit messages. jira_status_check_enabled: type: boolean description: Verify the status of Jira issues referenced in commit messages. jira_allowed_statuses_as_string: type: string description: Comma-separated list of allowed Jira issue statuses. comment_on_event_enabled: type: boolean description: Enable comments inside Jira issues on each GitLab event (commit / merge request) 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 putApiV4GroupsIdIntegrationsLinear: type: object properties: workspace_url: type: string description: Linear workspace URL (for example, https://linear.app/example) 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: - workspace_url description: Create/Edit Linear 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 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_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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`. notify_child_pipelines: type: boolean description: Send notifications for child pipelines. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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: string 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 required: - id - title - slug - created_at - updated_at - active - commit_events - push_events - issues_events - incident_events - alert_events - confidential_issues_events - merge_requests_events - tag_push_events - deployment_events - note_events - confidential_note_events - pipeline_events - wiki_page_events - job_events - comment_on_event_enabled - inherited - vulnerability_events - properties 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 required: - access_level - created_at - expires_at - invite_email - invite_token - created_by_name 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_Issue: 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: integer format: int32 merge_requests_count: type: integer format: int32 upvotes: type: integer format: int32 downvotes: type: integer format: int32 start_date: type: string format: date example: '2022-11-18' 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: "$ref": "#/definitions/API_Entities_TaskCompletionStatus" weight: type: integer format: int32 example: 5 blocking_issues_count: type: integer format: int32 example: 2 has_tasks: type: boolean example: true task_status: type: string example: 2 of 4 tasks completed _links: type: object properties: self: type: string example: http://example.com/api/v4/projects/1/issues/2 notes: type: string example: http://example.com/api/v4/projects/1/issues/2/notes award_emoji: type: string example: http://example.com/api/v4/projects/1/issues/2/award_emoji project: type: string example: http://example.com/api/v4/projects/1 closed_as_duplicate_of: type: string example: http://example.com/api/v4/projects/1/issues/75 required: - self - notes - award_emoji - project - closed_as_duplicate_of references: "$ref": "#/definitions/API_Entities_IssuableReferences" severity: type: string description: One of ["UNKNOWN", "LOW", "MEDIUM", "HIGH", "CRITICAL"] subscribed: type: boolean example: false moved_to_id: type: integer format: int32 example: 1 imported: type: boolean example: false imported_from: type: string example: github service_desk_reply_to: type: string example: user@example.com epic_iid: type: string epic: "$ref": "#/definitions/EpicBaseEntity" iteration: "$ref": "#/definitions/API_Entities_Iteration" health_status: type: string required: - id - iid - project_id - title - description - state - created_at - updated_at - closed_at - closed_by - labels - milestone - assignees - author - type - assignee - user_notes_count - merge_requests_count - upvotes - downvotes - start_date - due_date - confidential - discussion_locked - issue_type - web_url - time_stats - task_completion_status - blocking_issues_count - has_tasks - _links - references - severity - moved_to_id - imported - imported_from - service_desk_reply_to description: API_Entities_Issue model API_Entities_Milestone: type: object properties: id: type: integer format: int32 iid: type: integer format: int32 project_id: type: integer format: int32 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: boolean web_url: type: string required: - id - iid - title - description - state - created_at - updated_at - due_date - start_date - expired - web_url 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 required: - time_estimate - total_time_spent - human_time_estimate - human_total_time_spent description: API_Entities_IssuableTimeStats model API_Entities_TaskCompletionStatus: type: object properties: count: type: integer format: int32 example: 5 completed_count: type: integer format: int32 example: 3 required: - count - completed_count API_Entities_IssuableReferences: type: object properties: short: type: string example: "&6" relative: type: string example: "&6" full: type: string example: test&6 required: - short - relative - full 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 required: - id - iid - title - url - group_id API_Entities_Iteration: type: object properties: id: type: integer format: int32 example: 1 iid: type: integer format: int32 example: 1 sequence: type: integer format: int32 example: 1 group_id: type: integer format: int32 example: 1 title: type: string example: Iteration I description: type: string example: Iteration description state: type: integer format: int32 example: 1 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' start_date: type: string format: date example: '2022-01-01' due_date: type: string format: date example: '2022-01-31' web_url: type: string example: https://gitlab.example.com/groups/gitlab-org/-/iterations/1 required: - id - iid - sequence - group_id - title - description - state - created_at - updated_at - start_date - due_date - web_url postApiV4GroupsIdUploads: type: object properties: file: type: file description: The file to upload required: - file description: Upload a file to a group API_Entities_GroupUpload: type: object properties: id: type: integer format: int32 description: The ID of the file alt: type: string description: The name of the file url: type: string description: The URL to access the file full_path: type: string description: The full path to the file markdown: type: string description: A markdown-formatted link to the file. required: - id - alt - url - full_path - markdown description: API_Entities_GroupUpload model API_Entities_MarkdownUploadAdmin: type: object properties: id: type: integer format: int32 example: 1 size: type: integer format: int32 example: 1024 filename: type: string example: image.png created_at: type: string format: date-time example: '2012-06-28T10:52:04Z' uploaded_by: "$ref": "#/definitions/API_Entities_UserSafe" required: - id - size - filename - created_at - uploaded_by 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 required: - id - username - public_email - name 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 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 required: - string_value - integer_value - custom_role required: - id - source_id - source_full_name - source_members_url - created_at - expires_at - access_level description: 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 format: date-time example: '2022-01-31T15:10:45.080Z' closed_by: "$ref": "#/definitions/API_Entities_UserBasic" closed_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' title_html: type: string description_html: type: string target_branch: type: string source_branch: type: string user_notes_count: type: integer format: int32 upvotes: type: integer format: int32 downvotes: type: integer format: int32 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: integer format: int32 target_project_id: type: integer format: int32 labels: type: array items: type: string draft: type: boolean imported: type: boolean imported_from: type: string example: bitbucket work_in_progress: type: boolean milestone: "$ref": "#/definitions/API_Entities_Milestone" merge_when_pipeline_succeeds: type: boolean merge_status: type: string example: unchecked detailed_merge_status: type: string example: mergeable merge_after: type: string format: date-time example: '2022-01-31T15:10:45.080Z' sha: type: string example: 1234abcd merge_commit_sha: type: string example: 1234abcd squash_commit_sha: type: string example: 1234abcd discussion_locked: type: boolean should_remove_source_branch: type: boolean force_remove_source_branch: type: boolean prepared_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' allow_collaboration: type: boolean allow_maintainer_to_push: type: boolean reference: type: string example: "!1" references: "$ref": "#/definitions/API_Entities_IssuableReferences" web_url: type: string example: https://gitlab.example.com/my-group/my-project/-/merge_requests/1 time_stats: "$ref": "#/definitions/API_Entities_IssuableTimeStats" squash: type: boolean squash_on_merge: type: boolean task_completion_status: "$ref": "#/definitions/API_Entities_TaskCompletionStatus" has_conflicts: type: boolean blocking_discussions_resolved: type: boolean approvals_before_merge: type: integer format: int32 example: 2 required: - id - iid - project_id - title - description - state - created_at - updated_at - merged_by - merge_user - merged_at - closed_by - closed_at - target_branch - source_branch - user_notes_count - upvotes - downvotes - author - assignees - assignee - reviewers - source_project_id - target_project_id - labels - draft - imported - imported_from - work_in_progress - milestone - merge_when_pipeline_succeeds - merge_status - detailed_merge_status - merge_after - sha - merge_commit_sha - squash_commit_sha - discussion_locked - should_remove_source_branch - force_remove_source_branch - prepared_at - reference - references - web_url - time_stats - squash - squash_on_merge - task_completion_status - has_conflicts - blocking_discussions_resolved - approvals_before_merge description: API_Entities_MergeRequestBasic model API_Entities_NpmPackageTag: type: object properties: dist_tags: type: object example: latest: 1.0.1 required: - dist_tags 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 required: - name - versions - dist-tags 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. required: - version - resources 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" required: - count - items 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" required: - "@id" - lower - upper - count - items 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" required: - "@id" - packageContent - catalogEntry 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' required: - "@id" - dependencyGroups - id - version - tags - packageContent - authors - description - summary - published 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" required: - "@id" - "@type" 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 required: - "@id" - "@type" - id - range API_Entities_Nuget_SearchResults: type: object properties: totalHits: type: integer format: int32 example: 1 data: type: array items: "$ref": "#/definitions/API_Entities_Nuget_SearchResult" required: - totalHits - data 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 required: - "@type" - id - title - totalDownloads - verified - version - versions - tags - authors - description - summary 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 required: - "@id" - version - downloads 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" required: - count - links 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 required: - name - tag_name - description - created_at - released_at - upcoming_release - assets - _links 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 - Jane Doe web_url: type: string example: https://gitlab.example.com/janedoe/gitlab-foss/-/commit/ed899a2f4b50b4370feeea94676502b42383c746 required: - id - short_id - created_at - parent_ids - title - message - author_name - author_email - authored_date - committer_name - committer_email - committed_date - trailers - extended_trailers - web_url description: API_Entities_Commit model API_Entities_MilestoneWithStats: type: object properties: id: type: integer format: int32 iid: type: integer format: int32 project_id: type: integer format: int32 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: boolean web_url: type: string issue_stats: type: object properties: total: type: integer format: int32 example: 10 closed: type: integer format: int32 example: 5 required: - total - closed required: - id - iid - title - description - state - created_at - updated_at - due_date - start_date - expired - web_url - issue_stats 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 required: - format - url 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 required: - id - name - url - direct_asset_url - link_type 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' required: - sha - filepath - collected_at 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 granular: 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 required: - id - name - revoked - created_at - description - scopes - user_id - last_used_at - active - granular - expires_at - access_level - resource_type - resource_id - token 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: 123 required: - format - slug - title - wiki_page_meta_id 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: 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 required: - format - slug - title - wiki_page_meta_id - content - encoding - front_matter description: API_Entities_WikiPage model postApiV4GroupsIdWikis: type: object properties: title: type: string description: Title of a wiki page front_matter: type: object description: Object that contains YAML frontmatter properties: title: type: string description: Frontmatter 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 description: Object that contains YAML frontmatter properties: title: type: string description: Frontmatter 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)" required: - url - markdown required: - file_name - file_path - branch - link 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 required: - id - created_at - filename - file_path - url - url_text 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 required: - name - commit - merged - protected - developers_can_push - developers_can_merge - can_push - default - web_url 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 required: - catalog_url description: API_Entities_Ci_Catalog_Resources_Version model API_Entities_Ci_JobArtifactEntry: type: object properties: name: type: string example: index.html path: type: string example: coverage/index.html type: type: string enum: - file - directory example: file size: type: integer format: int32 example: 12345 mode: type: string example: '100644' required: - name - path - type - mode description: API_Entities_Ci_JobArtifactEntry 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 required: - ci_job_token_scope_enabled 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 required: - id - status - stage - name - ref - tag - coverage - allow_failure - created_at - started_at - finished_at - erased_at - duration - queued_duration - user - commit - pipeline - web_url - project - artifacts - runner - artifacts_expire_at - archived - tag_list 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 job_title: type: string pronouns: type: string organization: type: string bot: type: boolean work_information: type: string followers: type: string following: type: string is_followed: type: string local_time: type: string required: - id - username - public_email - name - state - locked - avatar_url - web_url - bio - location - linkedin - twitter - discord - website_url - github - job_title - pronouns - organization - bot - work_information - local_time 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 required: - id - iid - project_id - sha - ref - status - source - created_at - updated_at - web_url 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 required: - filename - size 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 - scip - sarif - environment_key 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 required: - file_type - size - filename - file_format 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 required: - id - system_id - version - revision - platform - architecture - created_at - contacted_at - ip_address - status - job_execution_status 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 postApiV4ProjectsIdJobsJobIdRetry: type: object properties: inputs: type: object description: Input values for the job example: environment: production description: Retry 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 job_inputs: type: object description: Input values for the job example: environment: production 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 required: - ci_job_token_scope_enabled required: - id - status - stage - name - ref - tag - coverage - allow_failure - created_at - started_at - finished_at - erased_at - duration - queued_duration - user - commit - pipeline - web_url - project 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' required: - id - key - process_mode - created_at - updated_at 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 required: - id - name - checksum - checksum_algorithm - created_at - expires_at - metadata - file_extension 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" archived: type: boolean example: false required: - id - iid - project_id - sha - ref - status - source - created_at - updated_at - web_url - before_sha - tag - yaml_errors - user - started_at - finished_at - committed_at - duration - queued_duration - coverage - detailed_status - archived 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? required: - icon - title - path - method - button_title - confirmation_message required: - icon - text - label - group - tooltip - has_details - details_path - illustration - favicon 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" archived: type: boolean example: false name: type: string example: Build pipeline required: - id - iid - project_id - sha - ref - status - source - created_at - updated_at - web_url - before_sha - tag - yaml_errors - user - started_at - finished_at - committed_at - duration - queued_duration - coverage - detailed_status - archived - name 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 required: - ci_job_token_scope_enabled downstream_pipeline: "$ref": "#/definitions/API_Entities_Ci_PipelineBasic" required: - id - status - stage - name - ref - tag - coverage - allow_failure - created_at - started_at - finished_at - erased_at - duration - queued_duration - user - commit - pipeline - web_url - project - downstream_pipeline 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" required: - total_time - total_count - success_count - failed_count - skipped_count - error_count - test_suites 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" required: - name - total_time - total_count - success_count - failed_count - skipped_count - error_count 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: object example: count: 3 base_branch: develop attachment_url: type: string example: http://localhost/namespace1/project1/-/jobs/1/artifacts/file/some/path.png required: - status - name - classname - file - execution_time - system_output - stack_trace - recent_failures TestReportSummaryEntity: type: object properties: total: type: object example: time: 0.42 count: 2 success: 2 failed: 0 skipped: 0 error: 0 suite_error: test_suites: "$ref": "#/definitions/TestSuiteSummaryEntity" required: - total - test_suites 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 required: - name - total_time - total_count - success_count - failed_count - skipped_count - error_count - suite_error - build_ids 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" required: - id - description - ref - cron - cron_timezone - next_run_at - active - created_at - updated_at - owner description: API_Entities_Ci_PipelineSchedule model API_Entities_Ci_Input: type: object properties: name: type: string value: type: string required: - name - value 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" required: - id - description - ref - cron - cron_timezone - next_run_at - active - created_at - updated_at - owner - last_pipeline 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" required: - id - token - description - created_at - updated_at - last_used - expires_at - owner 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-01T00:00:00.000Z' 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 required: - id - name - description - agent_id - status - created_at - created_by_user_id 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 required: - id - name - description - agent_id - status - created_at - created_by_user_id - last_used_at 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 required: - id - name - description - agent_id - status - created_at - created_by_user_id - last_used_at - token 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 required: - id - name - config_project - created_at - created_by_user_id - is_receptive 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: file: type: file description: The commit content to be created (generated by Multipart middleware) required: - file description: Create a new 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 - Jane Doe 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" required: - id - short_id - created_at - parent_ids - title - message - author_name - author_email - authored_date - committer_name - committer_email - committed_date - trailers - extended_trailers - web_url - status - project_id - last_pipeline 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 required: - additions - deletions - total API_Entities_Diff: type: object properties: diff: type: string example: "@@ -71,6 +71,8 @@\\n..." collapsed: type: boolean too_large: type: boolean 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 required: - diff - collapsed - too_large - new_path - old_path - a_mode - b_mode - new_file - renamed_file - deleted_file - generated_file 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' required: - note - path - line - line_type - author - created_at description: API_Entities_CommitNote model API_Entities_CommitSequence: type: object properties: count: type: integer format: int32 example: 1 required: - count 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 required: - type - name 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: object commit_source: type: string example: gitaly required: - signature_type - signature - commit_source 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" required: - id - sha - ref - status - name - target_url - description - created_at - started_at - finished_at - allow_failure - coverage - pipeline_id - author 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 required: - package_snapshot description: API_Entities_Packages_Conan_PackageSnapshot model API_Entities_Packages_Conan_RecipeSnapshot: type: object properties: recipe_snapshot: type: object example: conan_sources.tgz: eadf19b33f4c3c7e113faabf26e76277 required: - recipe_snapshot 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 required: - package_urls 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 required: - recipe_urls 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 required: - upload_urls 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 required: - revision - time 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 required: - reference - revisions description: API_Entities_Packages_Conan_RecipeRevisions model API_Entities_Packages_Conan_FilesList: type: object properties: files: type: object example: conan_sources.tgz: {} conanmanifest.txt: {} conanfile.py: {} required: - files 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 required: - packageReference - 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 required: - id - title - created_at - expires_at - last_used_at - key - usage_type - fingerprint_sha256 - can_push 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" required: - id - title - created_at - expires_at - last_used_at - key - usage_type - fingerprint_sha256 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 required: - id - iid - ref - sha - created_at - updated_at - user - environment - deployable - status 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' required: - id - name - slug - external_url - created_at - updated_at 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" required: - id - iid - ref - sha - created_at - updated_at - user - environment - deployable - status - pending_approval_count - approvals - approval_summary 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 required: - user - status - created_at - comment description: API_Entities_Deployments_Approval model API_Entities_Deployments_ApprovalSummary: type: object properties: rules: "$ref": "#/definitions/API_Entities_ProtectedEnvironments_ApprovalRuleForSummary" required: - rules 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" required: - id - user_id - group_id - access_level - access_level_description - required_approvals - group_inheritance_type - deployment_approvals 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 required: - id - author_id - merge_request_id - resolve_discussion - discussion_id - note - commit_id - line_code - position 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 description: Position when creating a note 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: Line range for a multi-line note properties: start: type: object description: Start line for a multi-line note 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: integer format: int32 description: Start old_line line number new_line: type: integer format: int32 description: Start new_line line number end: type: object description: End line for a multi-line note 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: integer format: int32 description: End old_line line number new_line: type: integer format: int32 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 description: Position when creating a note 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: Line range for a multi-line note properties: start: type: object description: Start line for a multi-line note 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: integer format: int32 description: Start old_line line number new_line: type: integer format: int32 description: Start new_line line number end: type: object description: End line for a multi-line note 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: integer format: int32 description: End old_line line number new_line: type: integer format: int32 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 required: - id - name - slug - external_url - created_at - updated_at - tier - project - state - auto_stop_at - description - auto_stop_setting 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 required: - id - active - public_key - sentry_dsn 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 required: - active - project_name - sentry_external_url - api_url - integrated 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" required: - name - description - active - version - created_at - updated_at - scopes - strategies 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" required: - id - name - parameters - scopes - user_list API_Entities_FeatureFlag_Scope: type: object properties: id: type: integer format: int32 example: 1 environment_scope: type: string example: production required: - id - environment_scope 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 required: - id - iid - name - user_xids 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 description: Array of feature flag strategies 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 description: Array of scopes for the strategy 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 description: Array of feature flag strategies 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 description: Array of scopes for the strategy 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 required: - id - iid - name - user_xids - project_id - created_at - updated_at - path - edit_path 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 API_Entities_BlameRange: type: object properties: commit: "$ref": "#/definitions/API_Entities_BlameRangeCommit" lines: type: array items: type: string example: - lorem ipsum required: - commit - lines description: API_Entities_BlameRange model API_Entities_BlameRangeCommit: type: object properties: id: type: string example: 2695effb5807a22ff3d138d593fd856244e155e7 parent_ids: type: array items: type: string example: - 2a4b78934375d7f53875269ffd4f45fd83a84ebe message: type: string example: Initial commit authored_date: type: string format: date-time example: '2012-05-28T04:42:42-07:00' author_name: type: string example: John Smith author_email: type: string example: john@example.com committed_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 required: - id - parent_ids - message - authored_date - author_name - author_email - committed_date - committer_name - committer_email postApiV4ProjectsIdRepositoryFilesFilePath: type: object properties: file: type: file description: The file content to be created (generated by Multipart middleware) required: - file description: Create new file in repository putApiV4ProjectsIdRepositoryFilesFilePath: type: object properties: file: type: file description: The file content to be updated (generated by Multipart middleware) required: - file 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' required: - id - freeze_start - freeze_end - cron_timezone - created_at - updated_at 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 publish (generated by Multipart middleware) select: type: string description: Response format selector. If set to "package_file", returns the created package file object in the response 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 required: - Version - Time 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 documentation. 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: API key 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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, `1` for Jira personal access token, and `2` for Jira Cloud service accounts. 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. jira_check_enabled: type: boolean description: Verify Jira issues referenced in commit messages exist before allowing the push. jira_exists_check_enabled: type: boolean description: Verify the Jira issues referenced in commit messages exist in Jira. jira_assignee_check_enabled: type: boolean description: Verify the committer is the assignee of the Jira issues referenced in commit messages. jira_status_check_enabled: type: boolean description: Verify the status of Jira issues referenced in commit messages. jira_allowed_statuses_as_string: type: string description: Comma-separated list of allowed Jira issue statuses. comment_on_event_enabled: type: boolean description: Enable comments inside Jira issues on each GitLab event (commit / merge request) 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 putApiV4ProjectsIdServicesLinear: type: object properties: workspace_url: type: string description: Linear workspace URL (for example, https://linear.app/example) 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: - workspace_url description: Create/Edit Linear 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 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_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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`. notify_child_pipelines: type: boolean description: Send notifications for child pipelines. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 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 documentation. 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: API key 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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, `1` for Jira personal access token, and `2` for Jira Cloud service accounts. 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. jira_check_enabled: type: boolean description: Verify Jira issues referenced in commit messages exist before allowing the push. jira_exists_check_enabled: type: boolean description: Verify the Jira issues referenced in commit messages exist in Jira. jira_assignee_check_enabled: type: boolean description: Verify the committer is the assignee of the Jira issues referenced in commit messages. jira_status_check_enabled: type: boolean description: Verify the status of Jira issues referenced in commit messages. jira_allowed_statuses_as_string: type: string description: Comma-separated list of allowed Jira issue statuses. comment_on_event_enabled: type: boolean description: Enable comments inside Jira issues on each GitLab event (commit / merge request) 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 putApiV4ProjectsIdIntegrationsLinear: type: object properties: workspace_url: type: string description: Linear workspace URL (for example, https://linear.app/example) 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: - workspace_url description: Create/Edit Linear 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 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_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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`. notify_child_pipelines: type: boolean description: Send notifications for child pipelines. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 work items. 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. work_item_events: type: boolean confidential_work_item_events: type: boolean 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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. notify_only_when_pipeline_status_changes: type: boolean description: Send notifications only when the pipeline status changes. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item is created, updated, or closed. work_item_events: type: boolean confidential_work_item_events: type: boolean 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 work items. 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 a work item is created, updated, or closed. confidential_issues_events: type: boolean description: Trigger event when a confidential work item 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 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: integer format: int32 merge_requests_count: type: integer format: int32 upvotes: type: integer format: int32 downvotes: type: integer format: int32 start_date: type: string format: date example: '2022-11-18' 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: "$ref": "#/definitions/API_Entities_TaskCompletionStatus" weight: type: integer format: int32 example: 5 blocking_issues_count: type: integer format: int32 example: 2 has_tasks: type: boolean example: true task_status: type: string example: 2 of 4 tasks completed _links: type: object properties: self: type: string example: http://example.com/api/v4/projects/1/issues/2 notes: type: string example: http://example.com/api/v4/projects/1/issues/2/notes award_emoji: type: string example: http://example.com/api/v4/projects/1/issues/2/award_emoji project: type: string example: http://example.com/api/v4/projects/1 closed_as_duplicate_of: type: string example: http://example.com/api/v4/projects/1/issues/75 required: - self - notes - award_emoji - project - closed_as_duplicate_of references: "$ref": "#/definitions/API_Entities_IssuableReferences" severity: type: string description: One of ["UNKNOWN", "LOW", "MEDIUM", "HIGH", "CRITICAL"] subscribed: type: boolean example: false moved_to_id: type: integer format: int32 example: 1 imported: type: boolean example: false imported_from: type: string example: github service_desk_reply_to: type: string example: user@example.com epic_iid: type: string epic: "$ref": "#/definitions/EpicBaseEntity" iteration: "$ref": "#/definitions/API_Entities_Iteration" health_status: type: string issue_link_id: type: integer format: int32 example: 1 link_type: type: string example: relates_to link_created_at: type: string format: date-time example: '2022-01-31T15:10:44.988Z' link_updated_at: type: string format: date-time example: '2022-01-31T15:10:44.988Z' required: - id - iid - project_id - title - description - state - created_at - updated_at - closed_at - closed_by - labels - milestone - assignees - author - type - assignee - user_notes_count - merge_requests_count - upvotes - downvotes - start_date - due_date - confidential - discussion_locked - issue_type - web_url - time_stats - task_completion_status - blocking_issues_count - has_tasks - _links - references - severity - moved_to_id - imported - imported_from - service_desk_reply_to - issue_link_id - link_type - link_created_at - link_updated_at description: API_Entities_RelatedIssue model 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 project’s 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: id: type: integer format: int32 example: 1 source_issue: "$ref": "#/definitions/API_Entities_IssueBasic" target_issue: "$ref": "#/definitions/API_Entities_IssueBasic" link_type: type: string example: relates_to required: - id - source_issue - target_issue - link_type 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: integer format: int32 merge_requests_count: type: integer format: int32 upvotes: type: integer format: int32 downvotes: type: integer format: int32 start_date: type: string format: date example: '2022-11-18' 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: "$ref": "#/definitions/API_Entities_TaskCompletionStatus" weight: type: integer format: int32 example: 5 blocking_issues_count: type: integer format: int32 example: 2 required: - id - iid - project_id - title - description - state - created_at - updated_at - closed_at - closed_by - labels - milestone - assignees - author - type - assignee - user_notes_count - merge_requests_count - upvotes - downvotes - start_date - due_date - confidential - discussion_locked - issue_type - web_url - time_stats - task_completion_status - blocking_issues_count postApiV4ProjectsIdIssuesIssueIidTimeEstimate: type: object properties: duration: type: string description: The duration in human format. example: 3h30m required: - duration description: Set a time estimate for a issue postApiV4ProjectsIdIssuesIssueIidAddSpentTime: type: object properties: duration: type: string description: The duration in human format. required: - duration description: Add spent time for a issue postApiV4ProjectsIdIssues: type: object properties: title: type: string description: The title of an issue created_at: type: string format: date-time description: Date time when the issue was created. Available only for admins and project owners. merge_request_to_resolve_discussions_of: type: integer format: int32 description: The IID of a merge request for which to resolve discussions discussion_to_resolve: type: string description: The ID of a discussion to resolve, also pass `merge_request_to_resolve_discussions_of` iid: type: integer format: int32 description: The internal ID of a project issue. Available only for admins and project owners. description: type: string description: The description of an issue assignee_ids: type: array description: The array of user IDs to assign issue items: type: integer format: int32 assignee_id: type: integer format: int32 description: "[Deprecated] The ID of a user to assign issue" milestone_id: type: integer format: int32 description: The ID of a milestone to assign issue labels: type: array description: Comma-separated list of label names items: type: string add_labels: type: array description: Comma-separated list of label names items: type: string remove_labels: type: array description: Comma-separated list of label names items: type: string due_date: type: string description: Date string in the format YEAR-MONTH-DAY confidential: type: boolean description: Boolean parameter if the issue should be confidential discussion_locked: type: boolean description: " Boolean parameter indicating if the issue's discussion is locked" issue_type: type: string description: 'The type of the issue. Accepts: issue, incident, test_case, requirement, task, ticket' enum: - issue - incident - test_case - requirement - task - ticket weight: type: integer format: int32 description: The weight of the issue epic_id: type: integer format: int32 description: The ID of an epic to associate the issue with epic_iid: type: integer format: int32 description: The IID of an epic to associate the issue with (deprecated) required: - title description: Create a new project issue putApiV4ProjectsIdIssuesIssueIid: type: object properties: title: type: string description: The title of an issue updated_at: type: string format: date-time description: Date time when the issue was updated. Available only for admins and project owners. state_event: type: string description: State of the issue enum: - reopen - close description: type: string description: The description of an issue assignee_ids: type: array description: The array of user IDs to assign issue items: type: integer format: int32 assignee_id: type: integer format: int32 description: "[Deprecated] The ID of a user to assign issue" milestone_id: type: integer format: int32 description: The ID of a milestone to assign issue labels: type: array description: Comma-separated list of label names items: type: string add_labels: type: array description: Comma-separated list of label names items: type: string remove_labels: type: array description: Comma-separated list of label names items: type: string due_date: type: string description: Date string in the format YEAR-MONTH-DAY confidential: type: boolean description: Boolean parameter if the issue should be confidential discussion_locked: type: boolean description: " Boolean parameter indicating if the issue's discussion is locked" issue_type: type: string description: 'The type of the issue. Accepts: issue, incident, test_case, requirement, task, ticket' enum: - issue - incident - test_case - requirement - task - ticket weight: type: integer format: int32 description: The weight of the issue epic_id: type: integer format: int32 description: The ID of an epic to associate the issue with epic_iid: type: integer format: int32 description: The IID of an epic to associate the issue with (deprecated) created_at: type: string description: Update an existing issue putApiV4ProjectsIdIssuesIssueIidReorder: type: object properties: move_after_id: type: integer format: int32 description: The ID of the issue we want to be after move_before_id: type: integer format: int32 description: The ID of the issue we want to be before description: Reorder an existing issue postApiV4ProjectsIdIssuesIssueIidMove: type: object properties: to_project_id: type: integer format: int32 description: The ID of the new project required: - to_project_id description: Move an existing issue postApiV4ProjectsIdIssuesIssueIidClone: type: object properties: to_project_id: type: integer format: int32 description: The ID of the new project with_notes: type: boolean description: Clone issue with notes default: false required: - to_project_id description: Clone an existing issue 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 required: - user_agent - ip_address - akismet_submitted description: API_Entities_UserAgentDetail model postApiV4ProjectsIdIssuesIssueIidMetricImages: type: object properties: file: type: file description: The image file to be uploaded url: type: string description: The url to view more metric info url_text: type: string description: A description of the image or URL required: - file description: Upload a metric image for an issue API_Entities_IssuableMetricImage: type: object properties: id: type: integer format: int32 example: 1 created_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' filename: type: string example: image.png file_path: type: string example: "/uploads/-/system/issuable_metric_image/file/1/image.png" url: type: string example: https://gitlab.example.com/example url_text: type: string example: Example URL required: - id - created_at - filename - file_path - url - url_text description: API_Entities_IssuableMetricImage model putApiV4ProjectsIdIssuesIssueIidMetricImagesMetricImageId: type: object properties: url: type: string description: The url to view more metric info url_text: type: string description: A description of the image or URL description: Update a metric image for an issue 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 script: - ls required: - valid - errors - warnings - merged_yaml - includes 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 required: - type - location - blob - raw - extra - context_project - context_sha 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 project’s 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: integer format: int32 example: 1 alt: type: string example: filename url: type: string example: "/uploads/secret/filename" full_path: type: string example: "/-/project/1/uploads/secret/filename" markdown: type: string example: "[filename](/uploads/secret/filename)" required: - id - alt - url - full_path - markdown 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. 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 request 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 format: date-time example: '2022-01-31T15:10:45.080Z' closed_by: "$ref": "#/definitions/API_Entities_UserBasic" closed_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' title_html: type: string description_html: type: string target_branch: type: string source_branch: type: string user_notes_count: type: integer format: int32 upvotes: type: integer format: int32 downvotes: type: integer format: int32 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: integer format: int32 target_project_id: type: integer format: int32 labels: type: array items: type: string draft: type: boolean imported: type: boolean imported_from: type: string example: bitbucket work_in_progress: type: boolean milestone: "$ref": "#/definitions/API_Entities_Milestone" merge_when_pipeline_succeeds: type: boolean merge_status: type: string example: unchecked detailed_merge_status: type: string example: mergeable merge_after: type: string format: date-time example: '2022-01-31T15:10:45.080Z' sha: type: string example: 1234abcd merge_commit_sha: type: string example: 1234abcd squash_commit_sha: type: string example: 1234abcd discussion_locked: type: boolean should_remove_source_branch: type: boolean force_remove_source_branch: type: boolean prepared_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' allow_collaboration: type: boolean allow_maintainer_to_push: type: boolean reference: type: string example: "!1" references: "$ref": "#/definitions/API_Entities_IssuableReferences" web_url: type: string example: https://gitlab.example.com/my-group/my-project/-/merge_requests/1 time_stats: "$ref": "#/definitions/API_Entities_IssuableTimeStats" squash: type: boolean squash_on_merge: type: boolean task_completion_status: "$ref": "#/definitions/API_Entities_TaskCompletionStatus" has_conflicts: type: boolean blocking_discussions_resolved: type: boolean approvals_before_merge: type: integer format: int32 example: 2 subscribed: type: boolean changes_count: type: string example: '1' latest_build_started_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' latest_build_finished_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' first_deployed_to_production_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' 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 example: Merge error rebase_in_progress: type: boolean diverged_commits_count: type: integer format: int32 example: 0 first_contribution: type: boolean user: type: object properties: can_merge: type: boolean required: - can_merge required: - id - iid - project_id - title - description - state - created_at - updated_at - merged_by - merge_user - merged_at - closed_by - closed_at - target_branch - source_branch - user_notes_count - upvotes - downvotes - author - assignees - assignee - reviewers - source_project_id - target_project_id - labels - draft - imported - imported_from - work_in_progress - milestone - merge_when_pipeline_succeeds - merge_status - detailed_merge_status - merge_after - sha - merge_commit_sha - squash_commit_sha - discussion_locked - should_remove_source_branch - force_remove_source_branch - prepared_at - reference - references - web_url - time_stats - squash - squash_on_merge - task_completion_status - has_conflicts - blocking_discussions_resolved - approvals_before_merge - changes_count - diff_refs - merge_error - user description: API_Entities_MergeRequest model API_Entities_DiffRefs: type: object properties: base_sha: type: string example: b83d6e391c22777fca1ed3012fce84f633d7fed0 head_sha: type: string example: b83d6e391c22777fca1ed3012fce84f633d7fed0 start_sha: type: string example: b83d6e391c22777fca1ed3012fce84f633d7fed0 required: - base_sha - head_sha - start_sha API_Entities_MergeRequestReviewer: type: object properties: user: "$ref": "#/definitions/API_Entities_UserBasic" state: type: string example: unreviewed created_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' required: - user - state - created_at 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 format: date-time example: '2022-01-31T15:10:45.080Z' closed_by: "$ref": "#/definitions/API_Entities_UserBasic" closed_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' title_html: type: string description_html: type: string target_branch: type: string source_branch: type: string user_notes_count: type: integer format: int32 upvotes: type: integer format: int32 downvotes: type: integer format: int32 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: integer format: int32 target_project_id: type: integer format: int32 labels: type: array items: type: string draft: type: boolean imported: type: boolean imported_from: type: string example: bitbucket work_in_progress: type: boolean milestone: "$ref": "#/definitions/API_Entities_Milestone" merge_when_pipeline_succeeds: type: boolean merge_status: type: string example: unchecked detailed_merge_status: type: string example: mergeable merge_after: type: string format: date-time example: '2022-01-31T15:10:45.080Z' sha: type: string example: 1234abcd merge_commit_sha: type: string example: 1234abcd squash_commit_sha: type: string example: 1234abcd discussion_locked: type: boolean should_remove_source_branch: type: boolean force_remove_source_branch: type: boolean prepared_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' allow_collaboration: type: boolean allow_maintainer_to_push: type: boolean reference: type: string example: "!1" references: "$ref": "#/definitions/API_Entities_IssuableReferences" web_url: type: string example: https://gitlab.example.com/my-group/my-project/-/merge_requests/1 time_stats: "$ref": "#/definitions/API_Entities_IssuableTimeStats" squash: type: boolean squash_on_merge: type: boolean task_completion_status: "$ref": "#/definitions/API_Entities_TaskCompletionStatus" has_conflicts: type: boolean blocking_discussions_resolved: type: boolean approvals_before_merge: type: integer format: int32 example: 2 subscribed: type: boolean changes_count: type: string example: '1' latest_build_started_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' latest_build_finished_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' first_deployed_to_production_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' 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 example: Merge error rebase_in_progress: type: boolean diverged_commits_count: type: integer format: int32 example: 0 first_contribution: type: boolean user: type: object properties: can_merge: type: boolean required: - can_merge changes: type: array items: "$ref": "#/definitions/API_Entities_Diff" overflow: type: boolean required: - id - iid - project_id - title - description - state - created_at - updated_at - merged_by - merge_user - merged_at - closed_by - closed_at - target_branch - source_branch - user_notes_count - upvotes - downvotes - author - assignees - assignee - reviewers - source_project_id - target_project_id - labels - draft - imported - imported_from - work_in_progress - milestone - merge_when_pipeline_succeeds - merge_status - detailed_merge_status - merge_after - sha - merge_commit_sha - squash_commit_sha - discussion_locked - should_remove_source_branch - force_remove_source_branch - prepared_at - reference - references - web_url - time_stats - squash - squash_on_merge - task_completion_status - has_conflicts - blocking_discussions_resolved - approvals_before_merge - changes_count - diff_refs - merge_error - user - changes - overflow 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 request’s 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 request 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 example: LGTM! author: "$ref": "#/definitions/API_Entities_UserBasic" required: - note - author description: API_Entities_MRNote model 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" required: - user_has_approved - user_can_approve - approved - approved_by description: API_Entities_MergeRequestApprovals model API_Entities_Approvals: type: object properties: user: "$ref": "#/definitions/API_Entities_UserBasic" approved_at: type: string format: date-time example: '2025-01-01T10:00:00Z' required: - user - approved_at postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove: type: object properties: sha: type: string description: When present, must have the HEAD SHA of the source branch publish_review: type: boolean description: When `true` submits pending review comments 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 API_Entities_MergeRequestApprovalState: type: object properties: approval_rules_overwritten: type: boolean rules: type: array items: "$ref": "#/definitions/API_Entities_MergeRequestApprovalStateRule" required: - approval_rules_overwritten - rules description: API_Entities_MergeRequestApprovalState model 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/API_Entities_MergeRequestApprovalRule_SourceRule" overridden: type: boolean code_owner: type: boolean approved_by: type: array items: "$ref": "#/definitions/API_Entities_UserBasic" approved: type: boolean required: - id - name - rule_type - eligible_approvers - approvals_required - users - groups - contains_hidden_groups - report_type - section - source_rule - overridden - code_owner - approved_by - approved API_Entities_MergeRequestApprovalRule_SourceRule: type: object properties: approvals_required: type: integer format: int32 example: 2 required: - approvals_required 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: Change approval-related configuration 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/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/API_Entities_ApprovalRuleShort" required: - id - iid - project_id - title - description - state - created_at - updated_at - merge_status - approved - approvals_required - approvals_left - require_password_to_approve - approved_by - suggested_approvers - approvers - approver_groups - user_has_approved - user_can_approve - approval_rules_left - has_approval_rules - merge_request_approvers_available - multiple_approval_rules_available - invalid_approvers_rules description: API_Entities_ApprovalState model API_Entities_ApprovalRuleShort: type: object properties: id: type: integer format: int32 example: 1 name: type: string example: QA rule_type: type: string example: regular required: - id - name - rule_type API_Entities_MergeRequestDiff: type: object properties: id: type: integer format: int32 example: 1 head_commit_sha: type: string example: 1234abcd base_commit_sha: type: string example: 1234abcd start_commit_sha: type: string example: 1234abcd created_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' merge_request_id: type: integer format: int32 example: 1 state: type: string example: collected real_size: type: string example: '1' patch_id_sha: type: string example: 1234abcd required: - id - head_commit_sha - base_commit_sha - start_commit_sha - created_at - merge_request_id - state - real_size - patch_id_sha description: API_Entities_MergeRequestDiff model API_Entities_MergeRequestDiffFull: type: object properties: id: type: integer format: int32 example: 1 head_commit_sha: type: string example: 1234abcd base_commit_sha: type: string example: 1234abcd start_commit_sha: type: string example: 1234abcd created_at: type: string format: date-time example: '2022-01-31T15:10:45.080Z' merge_request_id: type: integer format: int32 example: 1 state: type: string example: collected real_size: type: string example: '1' patch_id_sha: type: string example: 1234abcd commits: type: array items: "$ref": "#/definitions/API_Entities_Commit" diffs: type: array items: "$ref": "#/definitions/API_Entities_Diff" required: - id - head_commit_sha - base_commit_sha - start_commit_sha - created_at - merge_request_id - state - real_size - patch_id_sha - commits - diffs 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: file: type: file description: The package file to be published (generated by Multipart middleware) required: - file description: Create or deprecate NPM package API_Entities_Nuget_PackagesVersions: type: object properties: versions: type: array items: type: string example: - 1.3.0.17 required: - versions 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" required: - id - package_id - created_at - file_name - size - file_md5 - file_sha1 - file_sha256 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" required: - domain - url - verified - verification_code - enabled_until - auto_ssl_enabled description: API_Entities_PagesDomain model API_Entities_PagesDomainCertificate: type: object properties: subject: type: string expired: type: string certificate: type: string certificate_text: type: string required: - subject - expired - certificate - certificate_text 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" required: - id - name - created_at - domain - enabled - managed - provider_type - platform_type - environment_scope - cluster_type - namespace_per_environment - user - platform_kubernetes - provider_gcp - management_project - project 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 required: - name - path - location - revision - short_revision - digest - created_at - total_size 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 required: - id - project_id - repository_path_pattern - minimum_access_level_for_push - minimum_access_level_for_delete 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 API_Entities_Projects_ContainerRegistry_Protection_TagRule: type: object properties: id: type: integer format: int32 example: 1 project_id: type: integer format: int32 example: 123 tag_name_pattern: type: string example: v*-release minimum_access_level_for_push: type: string example: maintainer minimum_access_level_for_delete: type: string example: maintainer required: - id - project_id - tag_name_pattern - minimum_access_level_for_push - minimum_access_level_for_delete description: API_Entities_Projects_ContainerRegistry_Protection_TagRule model postApiV4ProjectsIdRegistryProtectionTagRules: type: object properties: tag_name_pattern: type: string description: Container tag name pattern protected by the protection rule. For example, `v*-release`. Wildcard character `*` allowed. minimum_access_level_for_push: type: string description: Minimum GitLab access level required to push container tags. For example, Maintainer, Owner, or Admin. enum: - maintainer - owner - admin minimum_access_level_for_delete: type: string description: Minimum GitLab access level required to delete container tags. For example, Maintainer, Owner, or Admin. enum: - maintainer - owner - admin required: - tag_name_pattern - minimum_access_level_for_push - minimum_access_level_for_delete description: Create a container protection tag rule for a project. 5 rule limit per project. patchApiV4ProjectsIdRegistryProtectionTagRulesProtectionRuleId: type: object properties: tag_name_pattern: type: string description: Container tag name pattern protected by the protection rule. For example, `v*-release`. Wildcard character `*` allowed. minimum_access_level_for_push: type: string description: Minimum GitLab access level required to push container tags. 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 required to delete container tags. For example, Maintainer, Owner, or Admin. To unset the value, use an empty string (`""`). enum: - maintainer - owner - admin - '' description: Update a container protection tag 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 required: - id - project_id - action_name - target_id - target_iid - target_type - author_id - target_title - created_at - imported - imported_from - author_username description: API_Entities_Event model API_Entities_Note: type: object properties: id: type: integer format: int32 example: 1 type: type: string example: DiscussionNote body: type: string example: Note body. author: "$ref": "#/definitions/API_Entities_UserBasic" created_at: type: string format: date-time example: '2022-01-31T15:10:44.988Z' updated_at: type: string format: date-time example: '2022-01-31T15:10:44.988Z' system: type: boolean example: false noteable_id: type: integer format: int32 example: 1 noteable_type: type: string example: Issue project_id: type: integer format: int32 example: 1 commit_id: type: string example: 7b09ce7e6f80347baf0316c8c94cdba9a0a7e91d position: type: object resolvable: type: boolean example: false resolved: type: boolean example: false resolved_by: "$ref": "#/definitions/API_Entities_UserBasic" resolved_at: type: string format: date-time example: '2022-01-31T15:10:44.988Z' suggestions: "$ref": "#/definitions/API_Entities_Suggestion" confidential: type: boolean example: false internal: type: boolean example: false imported: type: boolean example: false imported_from: type: string example: github noteable_iid: type: integer format: int32 example: 1 commands_changes: type: object required: - id - type - body - author - created_at - updated_at - system - noteable_id - noteable_type - project_id - resolvable - confidential - internal - imported - imported_from - noteable_iid - commands_changes API_Entities_Suggestion: type: object properties: id: type: integer format: int32 example: 1 from_line: type: integer format: int32 example: 1 to_line: type: integer format: int32 example: 1 appliable: type: boolean example: true applied: type: boolean example: false from_content: type: string example: 'Original content ' to_content: type: string example: 'New content ' required: - id - from_line - to_line - appliable - applied - from_content - to_content 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 required: - commit_count - action - ref_type - commit_from - commit_to - ref - commit_title - ref_count 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 required: - api_url - web_url required: - id - description - name - name_with_namespace - path - path_with_namespace - created_at - export_status description: API_Entities_ProjectExportStatus model postApiV4ProjectsIdExport: type: object properties: description: type: string description: Override the project description upload: type: object description: Object that contains information on the upload 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 excluded_relations: type: array description: List of project relation names to exclude from the export (e.g. ["merge_requests", "issues"]) items: type: string 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: integer format: int32 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 organization_id: type: integer format: int32 example: 1 alert_status: type: string 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 token_present: type: boolean example: false description: Whether a secret token is configured signing_token_present: type: boolean example: false description: Whether an HMAC signing token is configured project_id: type: integer format: int32 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 resource_deploy_token_events: type: boolean vulnerability_events: type: boolean required: - id - url - name - description - created_at - push_events - tag_push_events - merge_requests_events - repository_update_events - enable_ssl_verification - alert_status - disabled_until - push_events_branch_filter - branch_filter_strategy - custom_webhook_template - token_present - signing_token_present - project_id - issues_events - confidential_issues_events - note_events - confidential_note_events - pipeline_events - wiki_page_events - deployment_events - feature_flag_events - job_events - releases_events - milestone_events - emoji_events - resource_access_token_events - resource_deploy_token_events - vulnerability_events 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 resource_deploy_token_events: type: boolean description: Trigger hook on deploy 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 signing_token: type: string description: HMAC signing token used to compute the webhook-signature header. Must be in whsec_ format encoding a 32-byte key. Not 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 resource_deploy_token_events: type: boolean description: Trigger hook on deploy 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 signing_token: type: string description: HMAC signing token used to compute the webhook-signature header. Must be in whsec_ format encoding a 32-byte key. Not 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 required: - id - description - name - name_with_namespace - path - path_with_namespace - created_at - import_status - import_type - correlation_id - failed_relations - import_error - stats description: API_Entities_ProjectImportStatus model API_Entities_ProjectImportFailedRelation: type: object properties: id: type: integer format: int32 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 required: - id - created_at - exception_class - source - exception_message - relation_name - line_number postApiV4ProjectsIdImportGit: type: object properties: import_url: type: string description: The URL from which the project is imported import_url_user: type: string description: Username for the import URL import_url_password: type: string description: Password for the import URL required: - import_url description: Import a project from a Git URL 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' required: - id - project_path - relation - status - created_at - updated_at description: API_Entities_RelationImportTracker model API_Entities_ProjectJobTokenScope: type: object properties: inbound_enabled: type: boolean outbound_enabled: type: boolean required: - inbound_enabled - outbound_enabled 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 required: - id - project_id - package_name_pattern - package_type - minimum_access_level_for_delete - minimum_access_level_for_push 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: - cargo - conan - generic - helm - maven - npm - nuget - pypi - terraform_module 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: - cargo - conan - generic - helm - maven - npm - nuget - pypi - terraform_module 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: object example: - path: file.txt raw_url: https://gitlab.example.com/.../raw imported: type: boolean example: false imported_from: type: string example: none repository_storage: type: string example: default required: - id - title - description - visibility - author - created_at - updated_at - project_id - web_url - raw_url - file_name - files - imported - imported_from 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_ProjectDailyStatistics: type: object properties: fetches: type: object properties: total: type: integer format: int32 example: 3 days: type: array items: "$ref": "#/definitions/API_Entities_ProjectDailyFetches" required: - total - days required: - fetches 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' required: - count - date API_Entities_TemplatesList: type: object properties: key: type: string example: mit name: type: string example: MIT License required: - key - name 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 required: - key - name - nickname - html_url - source_url - popular - description - conditions - permissions - limitations - content 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 package_registry_access_level: type: string description: Controls visibility of the package registry. One of `disabled`, `private`, `enabled` or `public`. `private` will make the package registry accessible only to project members (reporter role and above). `enabled` will make the package registry accessible to everyone who has access to the project. `public` will make the package registry accessible to everyone. `disabled` will disable the package registry enum: - disabled - private - enabled - public 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 resource_group_default_process_mode: type: string description: The process mode of the resource group enum: - unordered - oldest_first - newest_first - newest_ready_first 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 packages_enabled: type: boolean description: 'Deprecated: Use :package_registry_access_level instead. Enable project packages feature' 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 description: Object that contains information on the container expiration policy 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 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 mr_default_title_template: type: string description: Template used to generate the default merge request title. Maximum 100 characters. 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 duo_remote_flows_enabled: type: boolean description: Enable GitLab Duo remote flows for this project duo_sast_fp_detection_enabled: type: boolean description: Enable GitLab Duo SAST false positive detection for this project duo_secret_detection_fp_enabled: type: boolean description: Enable GitLab Duo Secret Detection false positive detection for this project duo_sast_vr_workflow_enabled: type: boolean description: Enable GitLab Duo SAST vulnerability resolution workflow for this project spp_repository_pipeline_access: type: boolean description: Grant read-only access to security policy configurations for enforcement in linked CI/CD projects 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 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 package_registry_access_level: type: string description: Controls visibility of the package registry. One of `disabled`, `private`, `enabled` or `public`. `private` will make the package registry accessible only to project members (reporter role and above). `enabled` will make the package registry accessible to everyone who has access to the project. `public` will make the package registry accessible to everyone. `disabled` will disable the package registry enum: - disabled - private - enabled - public 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 resource_group_default_process_mode: type: string description: The process mode of the resource group enum: - unordered - oldest_first - newest_first - newest_ready_first 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 packages_enabled: type: boolean description: 'Deprecated: Use :package_registry_access_level instead. Enable project packages feature' 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 description: Object that contains information on the container expiration policy 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 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 mr_default_title_template: type: string description: Template used to generate the default merge request title. Maximum 100 characters. 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 duo_remote_flows_enabled: type: boolean description: Enable GitLab Duo remote flows for this project duo_sast_fp_detection_enabled: type: boolean description: Enable GitLab Duo SAST false positive detection for this project duo_secret_detection_fp_enabled: type: boolean description: Enable GitLab Duo Secret Detection false positive detection for this project duo_sast_vr_workflow_enabled: type: boolean description: Enable GitLab Duo SAST vulnerability resolution workflow for this project spp_repository_pipeline_access: type: boolean description: Grant read-only access to security policy configurations for enforcement in linked CI/CD projects 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 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' visibility: type: string example: public 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 required: - self - repo_branches - labels - events - members - cluster_agents marked_for_deletion_at: type: string format: date-time example: '2020-05-07T04:27:17.016Z' marked_for_deletion_on: type: string format: date-time example: '2020-05-07T04:27:17.016Z' packages_enabled: type: boolean empty_repo: type: boolean archived: type: boolean 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 package_registry_access_level: type: string example: enabled emails_disabled: type: boolean emails_enabled: type: boolean show_diff_preview_in_email: 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 resource_group_default_process_mode: type: string example: unordered 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 protect_merge_request_pipelines: type: boolean ci_display_pipeline_variables: 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: object 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 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)" mr_default_title_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 max_pipelines_per_merge_train: 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 duo_remote_flows_enabled: type: string duo_foundational_flows_enabled: type: string duo_sast_fp_detection_enabled: type: string duo_secret_detection_fp_enabled: type: string duo_sast_vr_workflow_enabled: type: string web_based_commit_signing_enabled: type: string spp_repository_pipeline_access: type: boolean description: The spp_repository_pipeline_access setting is only visible if the security_orchestration_policies feature is available. security_policy_pipeline_must_succeed: type: boolean description: Require all security policy pipelines to succeed before merge requests can be merged. 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 permissions: type: object properties: project_access: "$ref": "#/definitions/API_Entities_ProjectAccess" group_access: "$ref": "#/definitions/API_Entities_GroupAccess" required: - project_access - group_access required: - id - description - name - name_with_namespace - path - path_with_namespace - created_at - tag_list - topics - ssh_url_to_repo - http_url_to_repo - web_url - avatar_url - star_count - last_activity_at - visibility - namespace - _links - marked_for_deletion_at - marked_for_deletion_on - packages_enabled - empty_repo - archived - resolve_outdated_diff_discussions - repository_object_format - issues_enabled - merge_requests_enabled - wiki_enabled - jobs_enabled - snippets_enabled - container_registry_enabled - service_desk_enabled - can_create_merge_request_in - issues_access_level - repository_access_level - merge_requests_access_level - forking_access_level - wiki_access_level - builds_access_level - snippets_access_level - pages_access_level - analytics_access_level - container_registry_access_level - security_and_compliance_access_level - releases_access_level - environments_access_level - feature_flags_access_level - infrastructure_access_level - monitor_access_level - model_experiments_access_level - model_registry_access_level - package_registry_access_level - emails_disabled - emails_enabled - show_diff_preview_in_email - shared_runners_enabled - lfs_enabled - creator_id - import_status - description_html - updated_at - public_jobs - shared_with_groups - only_allow_merge_if_pipeline_succeeds - allow_merge_on_skipped_pipeline - request_access_enabled - only_allow_merge_if_all_discussions_are_resolved - remove_source_branch_after_merge - printing_merge_request_link_enabled - merge_method - squash_option - enforce_auth_checks_on_uploads - suggestion_commit_message - merge_commit_template - squash_commit_template - issue_branch_template - warn_about_potentially_unwanted_characters - autoclose_referenced_issues - max_artifacts_size - requirements_enabled - requirements_access_level - security_and_compliance_enabled - compliance_frameworks - permissions description: API_Entities_ProjectWithAccess model API_Entities_ProjectAccess: type: object properties: access_level: type: string notification_level: type: string required: - access_level - notification_level API_Entities_GroupAccess: type: object properties: access_level: type: string notification_level: type: string required: - access_level - notification_level 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 package_registry_access_level: type: string description: Controls visibility of the package registry. One of `disabled`, `private`, `enabled` or `public`. `private` will make the package registry accessible only to project members (reporter role and above). `enabled` will make the package registry accessible to everyone who has access to the project. `public` will make the package registry accessible to everyone. `disabled` will disable the package registry enum: - disabled - private - enabled - public 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 resource_group_default_process_mode: type: string description: The process mode of the resource group enum: - unordered - oldest_first - newest_first - newest_ready_first 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 packages_enabled: type: boolean description: 'Deprecated: Use :package_registry_access_level instead. Enable project packages feature' 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 description: Object that contains information on the container expiration policy 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 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 mr_default_title_template: type: string description: Template used to generate the default merge request title. Maximum 100 characters. 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 duo_remote_flows_enabled: type: boolean description: Enable GitLab Duo remote flows for this project duo_sast_fp_detection_enabled: type: boolean description: Enable GitLab Duo SAST false positive detection for this project duo_secret_detection_fp_enabled: type: boolean description: Enable GitLab Duo Secret Detection false positive detection for this project duo_sast_vr_workflow_enabled: type: boolean description: Enable GitLab Duo SAST vulnerability resolution workflow for this project spp_repository_pipeline_access: type: boolean description: Grant read-only access to security policy configurations for enforcement in linked CI/CD projects 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 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 protect_merge_request_pipelines: type: boolean description: Make protected CI/CD variables and runners available in merge request pipelines ci_display_pipeline_variables: type: boolean description: Display all manually-defined variables in the pipeline details page after running a pipeline manually 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. max_pipelines_per_merge_train: type: integer format: int32 description: Maximum number of parallel pipelines per merge train for this project. 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 security_policy_pipeline_must_succeed: type: boolean description: Require all security policy pipelines to succeed before merge requests can be merged 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 required: - id - project_id - group_id - group_access - expires_at description: API_Entities_ProjectGroupLink model API_Entities_PublicGroupDetails: type: object properties: id: type: integer format: int32 web_url: type: string example: http://gitlab.example.com/groups/diaspora name: type: string example: Diaspora avatar_url: type: string example: http://gitlab.example.com/uploads/group/avatar/1/avatar.png full_name: type: string example: Foobar Group full_path: type: string example: foo-bar required: - id - web_url - name - avatar_url - full_name - full_path 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' required: - disk_path - project_id - repository_storage - created_at 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 required: - id - name - push_access_levels - merge_access_levels - allow_force_push - unprotect_access_levels - code_owner_approval_required - inherited 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 required: - id - access_level - access_level_description - user_id - group_id 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 allowed_to_push: type: array description: Array of users, groups, deploy keys, or access levels allowed to push to protected branches items: type: object properties: deploy_key_id: type: integer format: int32 description: Deploy key allowed to push example: 1 access_level: type: integer format: int32 description: Access level allowed to push enum: - 30 - 40 - 60 - 0 user_id: type: integer format: int32 description: ID of a user example: 1 group_id: type: integer format: int32 description: ID of a group example: 1 id: type: integer format: int32 description: ID of a project example: 40 _destroy: type: boolean description: Delete the object when true unprotect_access_level: type: integer format: int32 description: 'Access levels allowed to unprotect (defaults: `40`, maintainer access level)' enum: - 30 - 40 - 60 allowed_to_merge: type: array description: Array of users, groups, or access levels allowed to merge protected branches items: type: object properties: access_level: type: integer format: int32 description: Access level allowed to merge enum: - 30 - 40 - 60 - 0 user_id: type: integer format: int32 description: ID of a user example: 1 group_id: type: integer format: int32 description: ID of a group example: 1 id: type: integer format: int32 description: ID of a project example: 40 _destroy: type: boolean description: Delete the object when true allowed_to_unprotect: type: array description: Array of users, groups, or access levels allowed to unprotect protected branches items: type: object properties: access_level: type: integer format: int32 description: Access level allowed to unprotect enum: - 30 - 40 - 60 user_id: type: integer format: int32 description: ID of a user example: 1 group_id: type: integer format: int32 description: ID of a group example: 1 id: type: integer format: int32 description: ID of a project example: 40 _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. allowed_to_push: type: array description: Array of users, groups, deploy keys, or access levels allowed to push to protected branches items: type: object properties: deploy_key_id: type: integer format: int32 description: Deploy key allowed to push example: 1 access_level: type: integer format: int32 description: Access level allowed to push enum: - 30 - 40 - 60 - 0 user_id: type: integer format: int32 description: ID of a user example: 1 group_id: type: integer format: int32 description: ID of a group example: 1 id: type: integer format: int32 description: ID of a project example: 40 _destroy: type: boolean description: Delete the object when true unprotect_access_level: type: integer format: int32 description: 'Access levels allowed to unprotect (defaults: `40`, maintainer access level)' enum: - 30 - 40 - 60 allowed_to_merge: type: array description: Array of users, groups, or access levels allowed to merge protected branches items: type: object properties: access_level: type: integer format: int32 description: Access level allowed to merge enum: - 30 - 40 - 60 - 0 user_id: type: integer format: int32 description: ID of a user example: 1 group_id: type: integer format: int32 description: ID of a group example: 1 id: type: integer format: int32 description: ID of a project example: 40 _destroy: type: boolean description: Delete the object when true allowed_to_unprotect: type: array description: Array of users, groups, or access levels allowed to unprotect protected branches items: type: object properties: access_level: type: integer format: int32 description: Access level allowed to unprotect enum: - 30 - 40 - 60 user_id: type: integer format: int32 description: ID of a user example: 1 group_id: type: integer format: int32 description: ID of a group example: 1 id: type: integer format: int32 description: ID of a project example: 40 _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: type: array items: "$ref": "#/definitions/API_Entities_ProtectedRefAccess" required: - name - create_access_levels 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: Array of users, groups, deploy keys, or access levels allowed to create protected branches items: type: object properties: deploy_key_id: type: integer format: int32 description: ID of a deploy key access_level: type: integer format: int32 description: ID of an access level enum: - 30 - 40 - 60 - 0 user_id: type: integer format: int32 description: ID of a user group_id: type: integer format: int32 description: ID of a group 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 description: Name of the package example: my.pypi.package version: type: string description: Version of the package example: 1.3.7 requires_python: type: string description: PyPI version required for the package example: ">=3.7" md5_digest: type: string description: MD5 checksum of the package example: 900150983cd24fb0d6963f7d28e17f72 sha256_digest: type: string description: SHA256 checksum of the package example: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad metadata_version: type: string description: Metadata version of the package example: '2.3' author_email: type: string description: Email address for the package author example: cschultz@example.com, snoopy@peanuts.com description: type: string description: Description of the package description_content_type: type: string description: Type of content for the package description example: text/markdown; charset=UTF-8; variant=GFM summary: type: string description: Short summary of the package example: A module for collecting votes from beagles. keywords: type: string description: Keywords listed for the package 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 description: Object that contains assets for the release properties: links: type: array description: Link information about the release 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: string example: The remote mirror URL is invalid. only_protected_branches: type: boolean keep_divergent_refs: type: boolean auth_method: type: string example: password host_keys: type: array items: "$ref": "#/definitions/API_Entities_MirrorHostKey" mirror_branch_regex: type: string example: feature-.* required: - id - enabled - url - update_status - last_update_at - last_update_started_at - last_successful_update_at - last_error - only_protected_branches - keep_divergent_refs - auth_method - host_keys - mirror_branch_regex description: API_Entities_RemoteMirror model API_Entities_MirrorHostKey: type: object properties: fingerprint_sha256: type: string example: SHA256:abcd1234 required: - fingerprint_sha256 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 host_keys: type: array description: SSH host keys in bare format (ssh-ed25519 AAAA...) or full known_hosts format (hostname ssh-ed25519 AAAA...). Bare keys use the hostname from the mirror URL. items: type: string 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 host_keys: type: array description: SSH host keys in bare format (ssh-ed25519 AAAA...) or full known_hosts format (hostname ssh-ed25519 AAAA...). Bare keys use the hostname from the mirror URL. items: type: string 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' required: - id - name - type - path - mode 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 required: - commit - commits - diffs - compare_timeout - compare_same_ref - web_url 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' required: - size - references - objects - commit_graph - bitmap - multi_pack_index - multi_pack_index_bitmap - alternates - is_object_pool - last_full_repack - updated_at 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 required: - loose_count - packed_size - reference_backend 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 required: - size - recent_size - stale_size - keep_size - packfile_count - reverse_index_count - cruft_count - keep_count - loose_objects_count - stale_loose_objects_count - loose_objects_garbage_count 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 required: - commit_graph_chain_length - has_bloom_filters - has_generation_data - has_generation_data_overflow API_Entities_RepositoryHealth_Bitmap: type: object properties: has_hash_cache: type: boolean has_lookup_table: type: boolean version: type: integer format: int32 required: - has_hash_cache - has_lookup_table - version API_Entities_RepositoryHealth_MultiPackIndex: type: object properties: packfile_count: type: integer format: int32 version: type: integer format: int32 required: - packfile_count - version API_Entities_RepositoryHealth_LastFullRepack: type: object properties: seconds: type: integer format: int32 nanos: type: integer format: int32 required: - seconds - nanos 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 required: - name - email - commits - additions - deletions description: API_Entities_Contributor model API_Entities_Changelog: type: object properties: notes: type: string example: "## 1.0.0 (2023-01-01)" required: - notes 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 required: - id - user - created_at - resource_type - resource_id - milestone - action - state 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_SupplyChain_Attestation: type: object properties: id: type: integer format: int32 example: 1 iid: type: integer format: int32 example: 14 created_at: type: string format: date-time example: '2025-09-17T02:26:10.898Z' updated_at: type: string format: date-time example: '2025-09-17T02:26:10.898Z' expire_at: type: string format: date-time example: '2025-09-17T02:26:10.898Z' project_id: type: integer format: int32 build_id: type: integer format: int32 status: type: string example: success predicate_kind: type: string example: provenance predicate_type: type: string example: https://slsa.dev/provenance/v1 subject_digest: type: string example: 5db1fee4b5703808c48078a76768b155b421b210c0761cd6a5d223f4d99f1eaa download_url: type: string required: - id - iid - created_at - updated_at - expire_at - project_id - build_id - status - predicate_kind - predicate_type - subject_digest - download_url description: API_Entities_SupplyChain_Attestation model 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' required: - name - message - target - commit - protected - created_at 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 required: - tag_name - description 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: object required: - signature_type - signature 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 postApiV4ProjectsIdTerraformStateName: type: object properties: file: type: file description: The package file to be published (generated by Multipart middleware) required: - file description: Add a new Terraform state or update an existing one 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 API_Entities_Terraform_StateProtectionRule: type: object properties: id: type: integer format: int32 example: 1 project_id: type: integer format: int32 example: 1 state_name: type: string example: production minimum_access_level_for_write: type: string example: maintainer allowed_from: type: string example: ci_only required: - id - project_id - state_name - minimum_access_level_for_write - allowed_from description: API_Entities_Terraform_StateProtectionRule model postApiV4ProjectsIdWikis: type: object properties: title: type: string description: Title of a wiki page front_matter: type: object description: Object that contains YAML frontmatter properties: title: type: string description: Frontmatter 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 description: Object that contains YAML frontmatter properties: title: type: string description: Frontmatter 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' estimated_time_remaining: type: string example: 1 day required: - id - job_class_name - table_name - column_name - status - progress - created_at - estimated_time_remaining 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 table_size: type: string example: small required: - table_name - feature_categories - table_size 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: integer format: int32 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 theme: type: string dismissable: type: boolean active: type: boolean required: - id - message - starts_at - ends_at - color - font - target_access_levels - target_path - broadcast_type - theme - dismissable - active 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: banner 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 scopes: type: array example: - api - read_user secret: type: string example: ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34 required: - id - application_id - application_name - callback_url - confidential - scopes - secret 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 scopes: type: array example: - api - read_user required: - id - application_id - application_name - callback_url - confidential - scopes description: API_Entities_Application model API_Entities_Avatar: type: object properties: avatar_url: type: string required: - avatar_url 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 required: - id - status - source_type - source_url - created_at - updated_at - has_failures 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 required: - id - bulk_import_id - status - entity_type - source_full_path - destination_full_path - destination_name - destination_slug - destination_namespace - parent_id - namespace_id - project_id - created_at - updated_at - failures - migrate_projects - migrate_memberships - has_failures - stats 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 required: - relation - exception_message - exception_class - correlation_id_value - source_url - source_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 required: - id - token - token_expires_at 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_JobRouter_DiscoveryInformation: type: object properties: server_url: type: string example: wss://kas.example.com required: - server_url description: API_Entities_Ci_JobRouter_DiscoveryInformation model 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" required: - id - description - ip_address - active - paused - is_shared - runner_type - name - online - created_at - status - job_execution_status - tag_list - run_untagged - locked - maximum_timeout - access_level - version - revision - platform - architecture - contacted_at - maintenance_note - groups 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" required: - id - status - stage - name - ref - tag - coverage - allow_failure - created_at - started_at - finished_at - erased_at - duration - queued_duration - user - commit - pipeline - web_url - project 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 labels: type: object description: Runner's labels 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's authentication token state: type: string description: 'Job''s status: running, 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 - scip - sarif - environment_key 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 - scip - sarif - environment_key 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 required: - modules 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 required: - name - provider - providers - root - source - submodules - version - versions 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" required: - name - state - gates - 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 required: - key - value 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 required: - name - feature_issue_url - introduced_by_url - rollout_issue_url - milestone - log_state_changes - type - group - default_enabled - intended_to_rollout_by 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 runner: type: string description: A runner ID, or comma-separated list of runner IDs endpoint: type: string description: A caller_id identifying a code path, for example `GET /api/v4/projects/:id` or `ProjectsController#show`. Use comma to separate multiple endpoint paths force: type: boolean description: Skip feature flag validation checks, such as a YAML definition required: - value description: Set or create a feature API_Entities_Geo_PipelineRefs: type: object properties: pipeline_refs: type: array items: type: string example: - refs/pipelines/1 required: - pipeline_refs description: API_Entities_Geo_PipelineRefs model postApiV4GeoStatus: type: object properties: data: type: object description: |- Object that contains status information and replication metrics for the Geo node 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 description: |- Object that contains information on replication and verification status metrics for GitLab resources on Geo nodes 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 packages_nuget_symbols_count: type: integer format: int32 description: NuGet symbols count packages_nuget_symbols_checksum_total_count: type: integer format: int32 description: NuGet symbols checksum total count packages_nuget_symbols_checksummed_count: type: integer format: int32 description: NuGet symbols checksummed count packages_nuget_symbols_checksum_failed_count: type: integer format: int32 description: NuGet symbols checksum failed count packages_nuget_symbols_synced_count: type: integer format: int32 description: NuGet symbols synced count packages_nuget_symbols_failed_count: type: integer format: int32 description: NuGet symbols failed count packages_nuget_symbols_registry_count: type: integer format: int32 description: NuGet symbols registry count packages_nuget_symbols_verification_total_count: type: integer format: int32 description: NuGet symbols verification total count packages_nuget_symbols_verified_count: type: integer format: int32 description: NuGet symbols verified count packages_nuget_symbols_verification_failed_count: type: integer format: int32 description: NuGet symbols 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 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 ci_secure_files_oldest_unsynced_time: 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 container_repositories_oldest_unsynced_time: 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_blobs_oldest_unsynced_time: 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 dependency_proxy_manifests_oldest_unsynced_time: 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 design_management_repositories_oldest_unsynced_time: 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 group_wiki_repositories_oldest_unsynced_time: 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 job_artifacts_oldest_unsynced_time: 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 lfs_objects_oldest_unsynced_time: 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 merge_request_diffs_oldest_unsynced_time: 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 package_files_oldest_unsynced_time: 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 pages_deployments_oldest_unsynced_time: 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 pipeline_artifacts_oldest_unsynced_time: 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_repositories_oldest_unsynced_time: 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 project_wiki_repositories_oldest_unsynced_time: 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 snippet_repositories_oldest_unsynced_time: 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 terraform_state_versions_oldest_unsynced_time: 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 uploads_oldest_unsynced_time: type: string packages_nuget_symbols_count: type: string packages_nuget_symbols_checksum_total_count: type: string packages_nuget_symbols_checksummed_count: type: string packages_nuget_symbols_checksum_failed_count: type: string packages_nuget_symbols_synced_count: type: string packages_nuget_symbols_failed_count: type: string packages_nuget_symbols_registry_count: type: string packages_nuget_symbols_verification_total_count: type: string packages_nuget_symbols_verified_count: type: string packages_nuget_symbols_verification_failed_count: type: string packages_nuget_symbols_oldest_unsynced_time: type: string supply_chain_attestations_count: type: string supply_chain_attestations_checksum_total_count: type: string supply_chain_attestations_checksummed_count: type: string supply_chain_attestations_checksum_failed_count: type: string supply_chain_attestations_synced_count: type: string supply_chain_attestations_failed_count: type: string supply_chain_attestations_registry_count: type: string supply_chain_attestations_verification_total_count: type: string supply_chain_attestations_verified_count: type: string supply_chain_attestations_verification_failed_count: type: string supply_chain_attestations_oldest_unsynced_time: type: string packages_helm_metadata_caches_count: type: string packages_helm_metadata_caches_checksum_total_count: type: string packages_helm_metadata_caches_checksummed_count: type: string packages_helm_metadata_caches_checksum_failed_count: type: string packages_helm_metadata_caches_synced_count: type: string packages_helm_metadata_caches_failed_count: type: string packages_helm_metadata_caches_registry_count: type: string packages_helm_metadata_caches_verification_total_count: type: string packages_helm_metadata_caches_verified_count: type: string packages_helm_metadata_caches_verification_failed_count: type: string packages_helm_metadata_caches_oldest_unsynced_time: type: string bulk_import_export_upload_uploads_count: type: string bulk_import_export_upload_uploads_checksum_total_count: type: string bulk_import_export_upload_uploads_checksummed_count: type: string bulk_import_export_upload_uploads_checksum_failed_count: type: string bulk_import_export_upload_uploads_synced_count: type: string bulk_import_export_upload_uploads_failed_count: type: string bulk_import_export_upload_uploads_registry_count: type: string bulk_import_export_upload_uploads_verification_total_count: type: string bulk_import_export_upload_uploads_verified_count: type: string bulk_import_export_upload_uploads_verification_failed_count: type: string bulk_import_export_upload_uploads_oldest_unsynced_time: type: string ai_vectorizable_file_uploads_count: type: string ai_vectorizable_file_uploads_checksum_total_count: type: string ai_vectorizable_file_uploads_checksummed_count: type: string ai_vectorizable_file_uploads_checksum_failed_count: type: string ai_vectorizable_file_uploads_synced_count: type: string ai_vectorizable_file_uploads_failed_count: type: string ai_vectorizable_file_uploads_registry_count: type: string ai_vectorizable_file_uploads_verification_total_count: type: string ai_vectorizable_file_uploads_verified_count: type: string ai_vectorizable_file_uploads_verification_failed_count: type: string ai_vectorizable_file_uploads_oldest_unsynced_time: type: string import_export_upload_uploads_count: type: string import_export_upload_uploads_checksum_total_count: type: string import_export_upload_uploads_checksummed_count: type: string import_export_upload_uploads_checksum_failed_count: type: string import_export_upload_uploads_synced_count: type: string import_export_upload_uploads_failed_count: type: string import_export_upload_uploads_registry_count: type: string import_export_upload_uploads_verification_total_count: type: string import_export_upload_uploads_verified_count: type: string import_export_upload_uploads_verification_failed_count: type: string import_export_upload_uploads_oldest_unsynced_time: type: string design_management_action_uploads_count: type: string design_management_action_uploads_checksum_total_count: type: string design_management_action_uploads_checksummed_count: type: string design_management_action_uploads_checksum_failed_count: type: string design_management_action_uploads_synced_count: type: string design_management_action_uploads_failed_count: type: string design_management_action_uploads_registry_count: type: string design_management_action_uploads_verification_total_count: type: string design_management_action_uploads_verified_count: type: string design_management_action_uploads_verification_failed_count: type: string design_management_action_uploads_oldest_unsynced_time: type: string user_uploads_count: type: string user_uploads_checksum_total_count: type: string user_uploads_checksummed_count: type: string user_uploads_checksum_failed_count: type: string user_uploads_synced_count: type: string user_uploads_failed_count: type: string user_uploads_registry_count: type: string user_uploads_verification_total_count: type: string user_uploads_verified_count: type: string user_uploads_verification_failed_count: type: string user_uploads_oldest_unsynced_time: type: string achievement_uploads_count: type: string achievement_uploads_checksum_total_count: type: string achievement_uploads_checksummed_count: type: string achievement_uploads_checksum_failed_count: type: string achievement_uploads_synced_count: type: string achievement_uploads_failed_count: type: string achievement_uploads_registry_count: type: string achievement_uploads_verification_total_count: type: string achievement_uploads_verified_count: type: string achievement_uploads_verification_failed_count: type: string achievement_uploads_oldest_unsynced_time: type: string group_uploads_count: type: string group_uploads_checksum_total_count: type: string group_uploads_checksummed_count: type: string group_uploads_checksum_failed_count: type: string group_uploads_synced_count: type: string group_uploads_failed_count: type: string group_uploads_registry_count: type: string group_uploads_verification_total_count: type: string group_uploads_verified_count: type: string group_uploads_verification_failed_count: type: string group_uploads_oldest_unsynced_time: type: string project_uploads_count: type: string project_uploads_checksum_total_count: type: string project_uploads_checksummed_count: type: string project_uploads_checksum_failed_count: type: string project_uploads_synced_count: type: string project_uploads_failed_count: type: string project_uploads_registry_count: type: string project_uploads_verification_total_count: type: string project_uploads_verified_count: type: string project_uploads_verification_failed_count: type: string project_uploads_oldest_unsynced_time: type: string abuse_report_uploads_count: type: string abuse_report_uploads_checksum_total_count: type: string abuse_report_uploads_checksummed_count: type: string abuse_report_uploads_checksum_failed_count: type: string abuse_report_uploads_synced_count: type: string abuse_report_uploads_failed_count: type: string abuse_report_uploads_registry_count: type: string abuse_report_uploads_verification_total_count: type: string abuse_report_uploads_verified_count: type: string abuse_report_uploads_verification_failed_count: type: string abuse_report_uploads_oldest_unsynced_time: 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 packages_nuget_symbols_synced_in_percentage: type: string packages_nuget_symbols_verified_in_percentage: type: string supply_chain_attestations_synced_in_percentage: type: string supply_chain_attestations_verified_in_percentage: type: string packages_helm_metadata_caches_synced_in_percentage: type: string packages_helm_metadata_caches_verified_in_percentage: type: string bulk_import_export_upload_uploads_synced_in_percentage: type: string bulk_import_export_upload_uploads_verified_in_percentage: type: string ai_vectorizable_file_uploads_synced_in_percentage: type: string ai_vectorizable_file_uploads_verified_in_percentage: type: string import_export_upload_uploads_synced_in_percentage: type: string import_export_upload_uploads_verified_in_percentage: type: string design_management_action_uploads_synced_in_percentage: type: string design_management_action_uploads_verified_in_percentage: type: string user_uploads_synced_in_percentage: type: string user_uploads_verified_in_percentage: type: string achievement_uploads_synced_in_percentage: type: string achievement_uploads_verified_in_percentage: type: string group_uploads_synced_in_percentage: type: string group_uploads_verified_in_percentage: type: string project_uploads_synced_in_percentage: type: string project_uploads_verified_in_percentage: type: string abuse_report_uploads_synced_in_percentage: type: string abuse_report_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 required: - self - node required: - geo_node_id - projects_count - container_repositories_replication_enabled - ci_secure_files_count - ci_secure_files_checksum_total_count - ci_secure_files_checksummed_count - ci_secure_files_checksum_failed_count - ci_secure_files_synced_count - ci_secure_files_failed_count - ci_secure_files_registry_count - ci_secure_files_verification_total_count - ci_secure_files_verified_count - ci_secure_files_verification_failed_count - ci_secure_files_oldest_unsynced_time - container_repositories_count - container_repositories_checksum_total_count - container_repositories_checksummed_count - container_repositories_checksum_failed_count - container_repositories_synced_count - container_repositories_failed_count - container_repositories_registry_count - container_repositories_verification_total_count - container_repositories_verified_count - container_repositories_verification_failed_count - container_repositories_oldest_unsynced_time - dependency_proxy_blobs_count - dependency_proxy_blobs_checksum_total_count - dependency_proxy_blobs_checksummed_count - dependency_proxy_blobs_checksum_failed_count - dependency_proxy_blobs_synced_count - dependency_proxy_blobs_failed_count - dependency_proxy_blobs_registry_count - dependency_proxy_blobs_verification_total_count - dependency_proxy_blobs_verified_count - dependency_proxy_blobs_verification_failed_count - dependency_proxy_blobs_oldest_unsynced_time - dependency_proxy_manifests_count - dependency_proxy_manifests_checksum_total_count - dependency_proxy_manifests_checksummed_count - dependency_proxy_manifests_checksum_failed_count - dependency_proxy_manifests_synced_count - dependency_proxy_manifests_failed_count - dependency_proxy_manifests_registry_count - dependency_proxy_manifests_verification_total_count - dependency_proxy_manifests_verified_count - dependency_proxy_manifests_verification_failed_count - dependency_proxy_manifests_oldest_unsynced_time - design_management_repositories_count - design_management_repositories_checksum_total_count - design_management_repositories_checksummed_count - design_management_repositories_checksum_failed_count - design_management_repositories_synced_count - design_management_repositories_failed_count - design_management_repositories_registry_count - design_management_repositories_verification_total_count - design_management_repositories_verified_count - design_management_repositories_verification_failed_count - design_management_repositories_oldest_unsynced_time - group_wiki_repositories_count - group_wiki_repositories_checksum_total_count - group_wiki_repositories_checksummed_count - group_wiki_repositories_checksum_failed_count - group_wiki_repositories_synced_count - group_wiki_repositories_failed_count - group_wiki_repositories_registry_count - group_wiki_repositories_verification_total_count - group_wiki_repositories_verified_count - group_wiki_repositories_verification_failed_count - group_wiki_repositories_oldest_unsynced_time - job_artifacts_count - job_artifacts_checksum_total_count - job_artifacts_checksummed_count - job_artifacts_checksum_failed_count - job_artifacts_synced_count - job_artifacts_failed_count - job_artifacts_registry_count - job_artifacts_verification_total_count - job_artifacts_verified_count - job_artifacts_verification_failed_count - job_artifacts_oldest_unsynced_time - lfs_objects_count - lfs_objects_checksum_total_count - lfs_objects_checksummed_count - lfs_objects_checksum_failed_count - lfs_objects_synced_count - lfs_objects_failed_count - lfs_objects_registry_count - lfs_objects_verification_total_count - lfs_objects_verified_count - lfs_objects_verification_failed_count - lfs_objects_oldest_unsynced_time - merge_request_diffs_count - merge_request_diffs_checksum_total_count - merge_request_diffs_checksummed_count - merge_request_diffs_checksum_failed_count - merge_request_diffs_synced_count - merge_request_diffs_failed_count - merge_request_diffs_registry_count - merge_request_diffs_verification_total_count - merge_request_diffs_verified_count - merge_request_diffs_verification_failed_count - merge_request_diffs_oldest_unsynced_time - package_files_count - package_files_checksum_total_count - package_files_checksummed_count - package_files_checksum_failed_count - package_files_synced_count - package_files_failed_count - package_files_registry_count - package_files_verification_total_count - package_files_verified_count - package_files_verification_failed_count - package_files_oldest_unsynced_time - pages_deployments_count - pages_deployments_checksum_total_count - pages_deployments_checksummed_count - pages_deployments_checksum_failed_count - pages_deployments_synced_count - pages_deployments_failed_count - pages_deployments_registry_count - pages_deployments_verification_total_count - pages_deployments_verified_count - pages_deployments_verification_failed_count - pages_deployments_oldest_unsynced_time - pipeline_artifacts_count - pipeline_artifacts_checksum_total_count - pipeline_artifacts_checksummed_count - pipeline_artifacts_checksum_failed_count - pipeline_artifacts_synced_count - pipeline_artifacts_failed_count - pipeline_artifacts_registry_count - pipeline_artifacts_verification_total_count - pipeline_artifacts_verified_count - pipeline_artifacts_verification_failed_count - pipeline_artifacts_oldest_unsynced_time - project_repositories_count - project_repositories_checksum_total_count - project_repositories_checksummed_count - project_repositories_checksum_failed_count - project_repositories_synced_count - project_repositories_failed_count - project_repositories_registry_count - project_repositories_verification_total_count - project_repositories_verified_count - project_repositories_verification_failed_count - project_repositories_oldest_unsynced_time - project_wiki_repositories_count - project_wiki_repositories_checksum_total_count - project_wiki_repositories_checksummed_count - project_wiki_repositories_checksum_failed_count - project_wiki_repositories_synced_count - project_wiki_repositories_failed_count - project_wiki_repositories_registry_count - project_wiki_repositories_verification_total_count - project_wiki_repositories_verified_count - project_wiki_repositories_verification_failed_count - project_wiki_repositories_oldest_unsynced_time - snippet_repositories_count - snippet_repositories_checksum_total_count - snippet_repositories_checksummed_count - snippet_repositories_checksum_failed_count - snippet_repositories_synced_count - snippet_repositories_failed_count - snippet_repositories_registry_count - snippet_repositories_verification_total_count - snippet_repositories_verified_count - snippet_repositories_verification_failed_count - snippet_repositories_oldest_unsynced_time - terraform_state_versions_count - terraform_state_versions_checksum_total_count - terraform_state_versions_checksummed_count - terraform_state_versions_checksum_failed_count - terraform_state_versions_synced_count - terraform_state_versions_failed_count - terraform_state_versions_registry_count - terraform_state_versions_verification_total_count - terraform_state_versions_verified_count - terraform_state_versions_verification_failed_count - terraform_state_versions_oldest_unsynced_time - uploads_count - uploads_checksum_total_count - uploads_checksummed_count - uploads_checksum_failed_count - uploads_synced_count - uploads_failed_count - uploads_registry_count - uploads_verification_total_count - uploads_verified_count - uploads_verification_failed_count - uploads_oldest_unsynced_time - packages_nuget_symbols_count - packages_nuget_symbols_checksum_total_count - packages_nuget_symbols_checksummed_count - packages_nuget_symbols_checksum_failed_count - packages_nuget_symbols_synced_count - packages_nuget_symbols_failed_count - packages_nuget_symbols_registry_count - packages_nuget_symbols_verification_total_count - packages_nuget_symbols_verified_count - packages_nuget_symbols_verification_failed_count - packages_nuget_symbols_oldest_unsynced_time - supply_chain_attestations_count - supply_chain_attestations_checksum_total_count - supply_chain_attestations_checksummed_count - supply_chain_attestations_checksum_failed_count - supply_chain_attestations_synced_count - supply_chain_attestations_failed_count - supply_chain_attestations_registry_count - supply_chain_attestations_verification_total_count - supply_chain_attestations_verified_count - supply_chain_attestations_verification_failed_count - supply_chain_attestations_oldest_unsynced_time - packages_helm_metadata_caches_count - packages_helm_metadata_caches_checksum_total_count - packages_helm_metadata_caches_checksummed_count - packages_helm_metadata_caches_checksum_failed_count - packages_helm_metadata_caches_synced_count - packages_helm_metadata_caches_failed_count - packages_helm_metadata_caches_registry_count - packages_helm_metadata_caches_verification_total_count - packages_helm_metadata_caches_verified_count - packages_helm_metadata_caches_verification_failed_count - packages_helm_metadata_caches_oldest_unsynced_time - bulk_import_export_upload_uploads_count - bulk_import_export_upload_uploads_checksum_total_count - bulk_import_export_upload_uploads_checksummed_count - bulk_import_export_upload_uploads_checksum_failed_count - bulk_import_export_upload_uploads_synced_count - bulk_import_export_upload_uploads_failed_count - bulk_import_export_upload_uploads_registry_count - bulk_import_export_upload_uploads_verification_total_count - bulk_import_export_upload_uploads_verified_count - bulk_import_export_upload_uploads_verification_failed_count - bulk_import_export_upload_uploads_oldest_unsynced_time - ai_vectorizable_file_uploads_count - ai_vectorizable_file_uploads_checksum_total_count - ai_vectorizable_file_uploads_checksummed_count - ai_vectorizable_file_uploads_checksum_failed_count - ai_vectorizable_file_uploads_synced_count - ai_vectorizable_file_uploads_failed_count - ai_vectorizable_file_uploads_registry_count - ai_vectorizable_file_uploads_verification_total_count - ai_vectorizable_file_uploads_verified_count - ai_vectorizable_file_uploads_verification_failed_count - ai_vectorizable_file_uploads_oldest_unsynced_time - import_export_upload_uploads_count - import_export_upload_uploads_checksum_total_count - import_export_upload_uploads_checksummed_count - import_export_upload_uploads_checksum_failed_count - import_export_upload_uploads_synced_count - import_export_upload_uploads_failed_count - import_export_upload_uploads_registry_count - import_export_upload_uploads_verification_total_count - import_export_upload_uploads_verified_count - import_export_upload_uploads_verification_failed_count - import_export_upload_uploads_oldest_unsynced_time - design_management_action_uploads_count - design_management_action_uploads_checksum_total_count - design_management_action_uploads_checksummed_count - design_management_action_uploads_checksum_failed_count - design_management_action_uploads_synced_count - design_management_action_uploads_failed_count - design_management_action_uploads_registry_count - design_management_action_uploads_verification_total_count - design_management_action_uploads_verified_count - design_management_action_uploads_verification_failed_count - design_management_action_uploads_oldest_unsynced_time - user_uploads_count - user_uploads_checksum_total_count - user_uploads_checksummed_count - user_uploads_checksum_failed_count - user_uploads_synced_count - user_uploads_failed_count - user_uploads_registry_count - user_uploads_verification_total_count - user_uploads_verified_count - user_uploads_verification_failed_count - user_uploads_oldest_unsynced_time - achievement_uploads_count - achievement_uploads_checksum_total_count - achievement_uploads_checksummed_count - achievement_uploads_checksum_failed_count - achievement_uploads_synced_count - achievement_uploads_failed_count - achievement_uploads_registry_count - achievement_uploads_verification_total_count - achievement_uploads_verified_count - achievement_uploads_verification_failed_count - achievement_uploads_oldest_unsynced_time - group_uploads_count - group_uploads_checksum_total_count - group_uploads_checksummed_count - group_uploads_checksum_failed_count - group_uploads_synced_count - group_uploads_failed_count - group_uploads_registry_count - group_uploads_verification_total_count - group_uploads_verified_count - group_uploads_verification_failed_count - group_uploads_oldest_unsynced_time - project_uploads_count - project_uploads_checksum_total_count - project_uploads_checksummed_count - project_uploads_checksum_failed_count - project_uploads_synced_count - project_uploads_failed_count - project_uploads_registry_count - project_uploads_verification_total_count - project_uploads_verified_count - project_uploads_verification_failed_count - project_uploads_oldest_unsynced_time - abuse_report_uploads_count - abuse_report_uploads_checksum_total_count - abuse_report_uploads_checksummed_count - abuse_report_uploads_checksum_failed_count - abuse_report_uploads_synced_count - abuse_report_uploads_failed_count - abuse_report_uploads_registry_count - abuse_report_uploads_verification_total_count - abuse_report_uploads_verified_count - abuse_report_uploads_verification_failed_count - abuse_report_uploads_oldest_unsynced_time - git_fetch_event_count_weekly - git_push_event_count_weekly - proxy_remote_requests_event_count_weekly - proxy_local_requests_event_count_weekly - repositories_checked_in_percentage - replication_slots_used_in_percentage - ci_secure_files_synced_in_percentage - ci_secure_files_verified_in_percentage - container_repositories_synced_in_percentage - container_repositories_verified_in_percentage - dependency_proxy_blobs_synced_in_percentage - dependency_proxy_blobs_verified_in_percentage - dependency_proxy_manifests_synced_in_percentage - dependency_proxy_manifests_verified_in_percentage - design_management_repositories_synced_in_percentage - design_management_repositories_verified_in_percentage - group_wiki_repositories_synced_in_percentage - group_wiki_repositories_verified_in_percentage - job_artifacts_synced_in_percentage - job_artifacts_verified_in_percentage - lfs_objects_synced_in_percentage - lfs_objects_verified_in_percentage - merge_request_diffs_synced_in_percentage - merge_request_diffs_verified_in_percentage - package_files_synced_in_percentage - package_files_verified_in_percentage - pages_deployments_synced_in_percentage - pages_deployments_verified_in_percentage - pipeline_artifacts_synced_in_percentage - pipeline_artifacts_verified_in_percentage - project_repositories_synced_in_percentage - project_repositories_verified_in_percentage - project_wiki_repositories_synced_in_percentage - project_wiki_repositories_verified_in_percentage - snippet_repositories_synced_in_percentage - snippet_repositories_verified_in_percentage - terraform_state_versions_synced_in_percentage - terraform_state_versions_verified_in_percentage - uploads_synced_in_percentage - uploads_verified_in_percentage - packages_nuget_symbols_synced_in_percentage - packages_nuget_symbols_verified_in_percentage - supply_chain_attestations_synced_in_percentage - supply_chain_attestations_verified_in_percentage - packages_helm_metadata_caches_synced_in_percentage - packages_helm_metadata_caches_verified_in_percentage - bulk_import_export_upload_uploads_synced_in_percentage - bulk_import_export_upload_uploads_verified_in_percentage - ai_vectorizable_file_uploads_synced_in_percentage - ai_vectorizable_file_uploads_verified_in_percentage - import_export_upload_uploads_synced_in_percentage - import_export_upload_uploads_verified_in_percentage - design_management_action_uploads_synced_in_percentage - design_management_action_uploads_verified_in_percentage - user_uploads_synced_in_percentage - user_uploads_verified_in_percentage - achievement_uploads_synced_in_percentage - achievement_uploads_verified_in_percentage - group_uploads_synced_in_percentage - group_uploads_verified_in_percentage - project_uploads_synced_in_percentage - project_uploads_verified_in_percentage - abuse_report_uploads_synced_in_percentage - abuse_report_uploads_verified_in_percentage - repositories_count - replication_slots_count - replication_slots_used_count - healthy - health - health_status - missing_oauth_application - db_replication_lag_seconds - replication_slots_max_retained_wal_bytes - repositories_checked_count - repositories_checked_failed_count - last_event_id - last_event_timestamp - cursor_last_event_id - cursor_last_event_timestamp - last_successful_status_check_timestamp - version - revision - selective_sync_type - namespaces - updated_at - storage_shards_match - _links description: API_Entities_GeoNodeStatus model StorageShardEntity: type: object properties: name: type: string required: - name postApiV4GeoProxyGitSshInfoRefsUploadPack: type: object properties: secret_token: type: string description: Secret token to authenticate by gitlab shell data: type: object description: Object that contains the payload data for the Geo operation properties: gl_id: type: string description: ID of the user performing the operation primary_repo: type: string description: Primary repository to clone or pull from 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 description: |- Secret token used to authenticate requests from gitlab-shell to Geo proxy endpoints data: type: object description: Object that contains the payload data for the Geo operation properties: gl_id: type: string description: ID of the user performing the operation primary_repo: type: string description: Primary repository to clone or pull from 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 description: |- Secret token used to authenticate requests from gitlab-shell to Geo proxy endpoints data: type: object description: Object that contains the payload data for the Geo operation properties: gl_id: type: string description: ID of the user performing the operation primary_repo: type: string description: Primary repository to push to 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 description: |- Secret token used to authenticate requests from gitlab-shell to Geo proxy endpoints data: type: object description: Object that contains the payload data for the Geo operation properties: gl_id: type: string description: ID of the user performing the operation primary_repo: type: string description: Primary repository to push to 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 postApiV4Glql: type: object properties: glql_yaml: type: string description: The full GLQL code block containing YAML configuration and query after: type: string description: Cursor for forward pagination. Use the `endCursor` from previous response to fetch the next page required: - glql_yaml description: Execute GLQL query API_Entities_Glql_Result: type: object properties: data: allOf: - "$ref": "#/definitions/API_Entities_Glql_Data" description: Query result data containing count, nodes, and pagination info error: type: string description: Error message if query failed fields: type: array items: "$ref": "#/definitions/API_Entities_Glql_Field" description: Field definitions for the query results success: type: boolean example: true required: - data - error - fields - success description: API_Entities_Glql_Result model API_Entities_Glql_Data: type: object properties: count: type: integer format: int32 example: 42 description: Number of found items nodes: type: array items: type: array example: [] description: The list of found items pageInfo: allOf: - "$ref": "#/definitions/API_Entities_Glql_PageInfo" description: Pagination information required: - count - nodes - pageInfo API_Entities_Glql_PageInfo: type: object properties: endCursor: type: string example: eyJpZCI6IjE3In0 description: Cursor for the last item hasNextPage: type: boolean example: true description: Whether there are more items hasPreviousPage: type: boolean example: false description: Whether there are previous items startCursor: type: string example: eyJpZCI6IjE3In0 description: Cursor for the first item required: - endCursor - hasNextPage - hasPreviousPage - startCursor API_Entities_Glql_Field: type: object properties: key: type: string example: title description: Unique field key label: type: string example: Title description: Human-readable field label name: type: string example: title description: Underlying name of field, often the same as `key`, but it may be different if one type of field has multiple possible keys. Example `created` and `createdAt` required: - key - label - name 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: {} required: - success 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" required: - id - title - created_at - expires_at - last_used_at - key - usage_type - user 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 job_title: type: string pronouns: type: string organization: type: string bot: type: boolean 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: boolean private_profile: type: boolean example: false commit_email: type: string preferred_language: type: string example: en 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" 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 required: - id - username - public_email - name - state - locked - avatar_url - web_url - bio - location - linkedin - twitter - discord - website_url - github - job_title - pronouns - organization - bot - work_information - local_time - last_sign_in_at - confirmed_at - last_activity_on - email - theme_id - color_scheme_id - projects_limit - current_sign_in_at - identities - can_create_group - can_create_project - two_factor_enabled - external - private_profile - commit_email - preferred_language - shared_runners_minutes_limit - extra_shared_runners_minutes_limit - scim_identities - is_admin - note - namespace_id - created_by - using_license_seat 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:

Hello world!

" required: - html 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 description: Object that contains information on the GitLab subscription 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: 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 required: - id - name - path - kind - full_path - parent_id - avatar_url - web_url - billable_members_count 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 required: - code - name - trial - auto_renew - upgradable - exclude_guests usage: type: object properties: seats_in_subscription: type: string seats_in_use: type: string max_seats_used: type: string seats_owed: type: string required: - seats_in_subscription - seats_in_use - max_seats_used - seats_owed billing: type: object properties: subscription_start_date: type: string subscription_end_date: type: string trial_ends_on: type: string required: - subscription_start_date - subscription_end_date - trial_ends_on required: - plan - usage - billing 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 required: - id - namespace_id - namespace_name - 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 required: - exists - suggests description: API_Entities_NamespaceExistence model postApiV4OfflineExports: type: object properties: bucket: type: string description: Name of the object storage bucket where export data is stored aws_s3_configuration: type: object description: AWS S3 object storage configuration properties: aws_access_key_id: type: string description: AWS S3 access key ID aws_secret_access_key: type: string description: AWS S3 secret access key region: type: string description: AWS S3 object storage region path_style: type: boolean description: Use path-style URLs instead of virtual-hosted-style URLs default: false required: - aws_access_key_id - aws_secret_access_key - region s3_compatible_configuration: type: object description: MinIO or other S3-compatible object storage configuration properties: aws_access_key_id: type: string description: S3-compatible access key ID aws_secret_access_key: type: string description: S3-compatible secret access key region: type: string description: S3-compatible object storage region endpoint: type: string description: Object storage location endpoint path_style: type: boolean description: Use path-style URLs instead of virtual-hosted-style URLs default: true required: - aws_access_key_id - aws_secret_access_key - region - endpoint entities: type: array description: List of entities to export items: type: object properties: full_path: type: string description: Relative path of the entity to export example: "'source/full/path' not 'https://example.com/source/full/path'" required: - full_path required: - bucket - entities description: Start a new offline transfer export postApiV4OfflineImports: type: object properties: bucket: type: string description: Name of the object storage bucket where export data is stored aws_s3_configuration: type: object description: AWS S3 object storage configuration properties: aws_access_key_id: type: string description: AWS S3 access key ID aws_secret_access_key: type: string description: AWS S3 secret access key region: type: string description: AWS S3 object storage region path_style: type: boolean description: Use path-style URLs instead of virtual-hosted-style URLs default: false required: - aws_access_key_id - aws_secret_access_key - region s3_compatible_configuration: type: object description: MinIO or other S3-compatible object storage configuration properties: aws_access_key_id: type: string description: S3-compatible access key ID aws_secret_access_key: type: string description: S3-compatible secret access key region: type: string description: S3-compatible object storage region endpoint: type: string description: Object storage location endpoint path_style: type: boolean description: Use path-style URLs instead of virtual-hosted-style URLs default: true required: - aws_access_key_id - aws_secret_access_key - region - endpoint export_prefix: type: string description: Prefix of the export within the bucket entities: type: array description: List of entities to import items: type: object properties: source_type: type: string description: Type of the entity to import enum: - group_entity - project_entity source_full_path: type: string description: Full path of the entity on the source instance destination_namespace: type: string description: Full path of the destination namespace destination_slug: type: string description: Destination slug for the imported entity required: - source_type - source_full_path - destination_namespace required: - bucket - export_prefix - entities description: Start a new offline transfer import 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/o/gitlab/-/overview avatar_url: type: string example: https://example.com/uploads/-/system/organizations/organization_detail/avatar/1/avatar.png required: - id - name - path - description - created_at - updated_at - web_url - avatar_url 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" required: - domain - url - project_id - verified - verification_code - enabled_until - auto_ssl_enabled description: API_Entities_PagesDomainBasic model API_Entities_PagesDomainCertificateExpiration: type: object properties: expired: type: string expiration: type: string required: - expired - expiration 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 granular: 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 required: - id - name - revoked - created_at - description - scopes - user_id - last_used_at - active - granular - expires_at - last_used_ips 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 granular: type: boolean expires_at: type: string format: date-time example: '2020-08-31T15:53:00.073Z' required: - id - name - revoked - created_at - description - scopes - user_id - last_used_at - active - granular - expires_at 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 granular: type: boolean expires_at: type: string format: date-time example: '2020-08-31T15:53:00.073Z' token: type: string required: - id - name - revoked - created_at - description - scopes - user_id - last_used_at - active - granular - expires_at - token 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: object example: - path: file.txt raw_url: https://gitlab.example.com/.../raw imported: type: boolean example: false imported_from: type: string example: none repository_storage: type: string example: default required: - id - title - description - visibility - author - created_at - updated_at - project_id - web_url - raw_url - file_name - files - imported - imported_from 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: object example: - path: file.txt raw_url: https://gitlab.example.com/.../raw imported: type: boolean example: false imported_from: type: string example: none repository_storage: type: string example: default required: - id - title - description - visibility - author - created_at - updated_at - project_id - web_url - raw_url - file_name - files - imported - imported_from 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: integer format: int32 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 organization_id: type: integer format: int32 example: 1 alert_status: type: string 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 token_present: type: boolean example: false description: Whether a secret token is configured signing_token_present: type: boolean example: false description: Whether an HMAC signing token is configured required: - id - url - name - description - created_at - push_events - tag_push_events - merge_requests_events - repository_update_events - enable_ssl_verification - alert_status - disabled_until - push_events_branch_filter - branch_filter_strategy - custom_webhook_template - token_present - signing_token_present 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 signing_token: type: string description: HMAC signing token used to compute the webhook-signature header. Must be in whsec_ format encoding a 32-byte key. Not 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 custom_webhook_template: type: string description: Custom template for the request payload 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 signing_token: type: string description: HMAC signing token used to compute the webhook-signature header. Must be in whsec_ format encoding a 32-byte key. Not 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 custom_webhook_template: type: string description: Custom template for the request payload 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 description: Register 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 description: Report Unleash client metrics 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 project_path: type: string description: Project path (used to resolve project_id if not provided) example: namespace/project 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 project_path: type: string description: Project path (used to resolve project_id if not provided) example: namespace/project 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 required: - merge_requests - assigned_issues - assigned_merge_requests - review_requested_merge_requests - todos 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 token_expires_at: type: string format: date-time description: The expiration time for the runner authentication token (ISO 8601 format). Must be between 5 minutes and 15 days in the future, and cannot exceed instance/group/project limits. token_rotation_deadline: type: string format: date-time description: The deadline for token rotation (ISO 8601 format). Must be specified with token_expires_at and be <= token_expires_at. 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 web_hook_calls: type: integer format: int32 example: 500 web_hook_calls_low: type: integer format: int32 example: 500 web_hook_calls_mid: type: integer format: int32 example: 500 max_pipelines_per_merge_train: type: integer format: int32 example: 20 required: - ci_instance_level_variables - ci_pipeline_size - ci_active_jobs - ci_project_subscriptions - ci_pipeline_schedules - ci_needs_size_limit - ci_registered_group_runners - ci_registered_project_runners - conan_max_file_size - dotenv_variables - dotenv_size - enforcement_limit - generic_packages_max_file_size - helm_max_file_size - limits_history - maven_max_file_size - notification_limit - npm_max_file_size - nuget_max_file_size - pipeline_hierarchy_size - pypi_max_file_size - terraform_module_max_file_size - storage_size_limit - web_hook_calls - web_hook_calls_low - web_hook_calls_mid - max_pipelines_per_merge_train 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 web_hook_calls: type: integer format: int32 description: Maximum number of times a webhook can be called per minute, per top-level namespace. 0 for unlimited. web_hook_calls_low: type: integer format: int32 description: Maximum number of times a webhook can be called per minute, per top-level namespace. 0 for unlimited (GitLab.com only). web_hook_calls_mid: type: integer format: int32 description: Maximum number of times a webhook can be called per minute, per top-level namespace. 0 for unlimited (GitLab.com only). max_pipelines_per_merge_train: type: integer format: int32 description: Maximum number of parallel pipelines per merge train 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 site_name: type: string required: - title - description - pwa_name - pwa_short_name - pwa_description - logo - pwa_icon - header_logo - favicon - new_project_guidelines - member_guidelines - profile_image_guidelines - header_message - footer_message - message_background_color - message_font_color - email_header_and_footer_enabled - site_name 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 required: - forks - issues - merge_requests - notes - snippets - ssh_keys - milestones - users - projects - groups - active_users description: API_Entities_ApplicationStatistics model API_Entities_DiscoveredClusters: type: object properties: groups: type: string projects: type: string required: - groups - projects 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_email: type: string description: BitBucket email bitbucket_api_token: type: string description: BitBucket API token repo_path: type: string description: Repository path target_namespace: type: string description: Target namespace new_name: type: string description: New repository name required: - bitbucket_email - bitbucket_api_token - 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 required: - id - name - full_path - full_name - refs_url - forked - import_source - import_status - human_import_status_name - provider_link - relation_type 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 required: - id - name - full_path - full_name - refs_url - forked 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 minimum: 1 maximum: 100 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 required: - enabled - externalUrl - externalK8sProxyUrl - version enterprise: type: boolean required: - version - revision - kas - enterprise description: API_Entities_Metadata model API_Entities_Projects_Topic: type: object properties: id: type: integer format: int32 example: 1 name: type: string example: topic1 title: type: string example: Topic 1 description: type: string example: A description total_projects_count: type: integer format: int32 example: 1 organization_id: type: integer format: int32 example: 1 avatar_url: type: string example: http://gitlab.example.com/uploads/topic/avatar/1/avatar.png required: - id - name - title - description - total_projects_count - organization_id - avatar_url 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