APIHub
Back to Explore

Gitlab

The GitLab API provides a RESTful interface for automating interaction with a GitLab instance, covering operations on projects, groups, issues, CI/CD pipelines, users, and various administrative settings.

Development
OAuth
HTTPS
CORS: Unknown
Description enriched
Visit official documentation

Latency

763ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
GET

/v3/user/keys

Get the currently authenticated user's SSH keys

POST

/v3/user/keys

Add a new SSH key to the currently authenticated user

DELETE

/v3/user/keys/{key_id}

Delete an SSH key from the currently authenticated user

  • key_id (path, required) — The ID of the SSH key
PUT

/v3/projects/{id}/merge_request/{merge_request_id}

Update a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
POST

/v3/projects/{id}/merge_request/{merge_request_id}/cancel_merge_when_build_succeeds

Cancel merge if "Merge When Pipeline Succeeds" is enabled

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
PUT

/v3/projects/{id}/services/pivotaltracker

Set pivotaltracker service for project

  • id (path, required)
DELETE

/v3/projects/{id}/boards/{board_id}/lists/{list_id}

Delete a board list

  • id (path, required) — The ID of a project
  • board_id (path, required) — The ID of a board
  • list_id (path, required) — The ID of a board list
GET

/v3/projects/{id}/deployments/{deployment_id}

Gets a specific deployment

  • id (path, required) — The project ID
  • deployment_id (path, required) — The deployment ID
PUT

/v3/projects/{id}/services/pushover

Set pushover service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/redmine

Set redmine service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/slack

Set slack service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/slack-slash-commands

Set slack-slash-commands service for project

  • id (path, required)
GET

/v3/gitignores/{name}

Get the text for a specific template present in local filesystem

  • name (path, required) — The name of the template
GET

/v3/gitlab_ci_ymls

Get the list of the available template

GET

/v3/gitlab_ci_ymls/{name}

Get the text for a specific template present in local filesystem

  • name (path, required) — The name of the template
DELETE

/v3/projects/{id}/access_requests/{user_id}

Denies an access request for the given user.

  • id (path, required) — The project ID
  • user_id (path, required) — The user ID of the access requester
POST

/v3/projects/{id}/services/slack_slash_commands/trigger

Trigger a slash command for slack-slash-commands

  • id (path, required) — The ID of a project
PUT

/v3/projects/{id}/services/teamcity

Set teamcity service for project

  • id (path, required)
PUT

/v3/projects/{id}/access_requests/{user_id}/approve

Approves an access request for the given user.

  • id (path, required) — The project ID
  • user_id (path, required) — The user ID of the access requester
POST

/v3/projects/{id}/archive

Archive a project

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/boards

Get all project boards

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/boards/{board_id}/lists

Get the lists of a project board

  • id (path, required) — The ID of a project
  • board_id (path, required) — The ID of a board
GET

/v3/application/settings

Get the current application settings

PUT

/v3/application/settings

Modify application settings

POST

/v3/ci/lint

Validation of .gitlab-ci.yml content

GET

/v3/deploy_keys

GET

/v3/dockerfiles

Get the list of the available template

GET

/v3/dockerfiles/{name}

Get the text for a specific template present in local filesystem

  • name (path, required) — The name of the template
GET

/v3/gitignores

Get the list of the available template

GET

/v3/groups

Get a groups list

  • statistics (query) — Include project statistics
  • all_available (query) — Show all group that you have access to
  • search (query) — Search for a specific group
  • order_by (query) — Order by name or path
  • sort (query) — Sort by asc (ascending) or desc (descending)
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/groups

Create a group. Available only for users who can create groups.

GET

/v3/groups/owned

Get list of owned groups for authenticated user

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • statistics (query) — Include project statistics
DELETE

/v3/groups/{id}

Remove a group.

  • id (path, required) — The ID of a group
GET

/v3/groups/{id}

Get a single group, with containing projects.

  • id (path, required) — The ID of a group
PUT

/v3/groups/{id}

Update a group. Available only for users who can administrate groups.

  • id (path, required) — The ID of a group
GET

/v3/groups/{id}/access_requests

Gets a list of access requests for a group.

  • id (path, required) — The group ID
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/groups/{id}/access_requests

Requests access for the authenticated user to a group.

  • id (path, required) — The group ID
DELETE

/v3/groups/{id}/access_requests/{user_id}

Denies an access request for the given user.

  • id (path, required) — The group ID
  • user_id (path, required) — The user ID of the access requester
PUT

/v3/groups/{id}/access_requests/{user_id}/approve

Approves an access request for the given user.

  • id (path, required) — The group ID
  • user_id (path, required) — The user ID of the access requester
GET

/v3/groups/{id}/issues

Get a list of group issues

  • id (path, required) — The ID of a group
  • state (query) — Return opened, closed, or all issues
  • labels (query) — Comma-separated list of label names
  • milestone (query) — Return issues for a specific milestone
  • order_by (query) — Return issues ordered by `created_at` or `updated_at` fields.
  • sort (query) — Return issues sorted in `asc` or `desc` order.
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/groups/{id}/members

Gets a list of group or project members viewable by the authenticated user.

  • id (path, required) — The group ID
  • query (query) — A query string to search for members
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/groups/{id}/members

Adds a member to a group or project.

  • id (path, required) — The group ID
DELETE

/v3/groups/{id}/members/{user_id}

Removes a user from a group or project.

  • id (path, required) — The group ID
  • user_id (path, required) — The user ID of the member
GET

/v3/groups/{id}/members/{user_id}

Gets a member of a group or project.

  • id (path, required) — The group ID
  • user_id (path, required) — The user ID of the member
PUT

/v3/groups/{id}/members/{user_id}

Updates a member of a group or project.

  • id (path, required) — The group ID
  • user_id (path, required) — The user ID of the new member
GET

/v3/groups/{id}/notification_settings

Get group level notification level settings, defaults to Global

  • id (path, required) — The group ID or project ID or project NAMESPACE/PROJECT_NAME
PUT

/v3/groups/{id}/notification_settings

Update group level notification level settings, defaults to Global

  • id (path, required) — The group ID or project ID or project NAMESPACE/PROJECT_NAME
GET

/v3/groups/{id}/projects

Get a list of projects in this group.

  • id (path, required) — The ID of a group
  • archived (query) — Limit by archived status
  • visibility (query) — Limit by visibility
  • search (query) — Return list of authorized projects matching the search criteria
  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • simple (query) — Return only the ID, URL, name, and path of each project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/groups/{id}/projects/{project_id}

Transfer a project to the group namespace. Available only for admin.

  • id (path, required) — The ID of a group
  • project_id (path, required) — The ID or path of the project
GET

/v3/hooks

Get the list of system hooks

POST

/v3/hooks

Create a new system hook

DELETE

/v3/hooks/{id}

Delete a hook

  • id (path, required) — The ID of the system hook
GET

/v3/hooks/{id}

Test a hook

  • id (path, required) — The ID of the system hook
POST

/v3/internal/allowed

GET

/v3/internal/broadcast_message

GET

/v3/internal/check

GET

/v3/internal/discover

POST

/v3/internal/lfs_authenticate

GET

/v3/internal/merge_request_urls

POST

/v3/internal/two_factor_recovery_codes

GET

/v3/issues

Get currently authenticated user's issues

  • state (query) — Return opened, closed, or all issues
  • labels (query) — Comma-separated list of label names
  • milestone (query) — Return issues for a specific milestone
  • order_by (query) — Return issues ordered by `created_at` or `updated_at` fields.
  • sort (query) — Return issues sorted in `asc` or `desc` order.
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/keys/{id}

Get single ssh key by id. Only available to admin users

  • id (path, required)
GET

/v3/licenses

Get the list of the available license template

  • popular (query) — If passed, returns only popular licenses
GET

/v3/licenses/{name}

Get the text for a specific license

  • name (path, required) — The name of the template
GET

/v3/namespaces

Get a namespaces list

  • search (query) — Search query for namespaces
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/notification_settings

Get global notification level settings and email, defaults to Participate

PUT

/v3/notification_settings

Update global notification level settings and email, defaults to Participate

GET

/v3/projects

Get a projects list for authenticated user

  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • archived (query) — Limit by archived status
  • visibility (query) — Limit by visibility
  • search (query) — Return list of authorized projects matching the search criteria
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • simple (query) — Return only the ID, URL, name, and path of each project
POST

/v3/projects

Create new project

POST

/v3/projects/{id}/boards/{board_id}/lists

Create a new board list

  • id (path, required) — The ID of a project
  • board_id (path, required) — The ID of a board
GET

/v3/projects/all

Get all projects for admin user

  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • archived (query) — Limit by archived status
  • visibility (query) — Limit by visibility
  • search (query) — Return list of authorized projects matching the search criteria
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • simple (query) — Return only the ID, URL, name, and path of each project
  • statistics (query) — Include project statistics
POST

/v3/projects/fork/{id}

Fork new project for the current user or provided namespace.

  • id (path, required) — The ID of a project
GET

/v3/projects/owned

Get an owned projects list for authenticated user

  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • archived (query) — Limit by archived status
  • visibility (query) — Limit by visibility
  • search (query) — Return list of authorized projects matching the search criteria
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • simple (query) — Return only the ID, URL, name, and path of each project
  • statistics (query) — Include project statistics
GET

/v3/projects/search/{query}

Search for projects the current user has access to

  • query (path, required) — The project name to be searched
  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/projects/starred

Gets starred project for the authenticated user

  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • archived (query) — Limit by archived status
  • visibility (query) — Limit by visibility
  • search (query) — Return list of authorized projects matching the search criteria
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • simple (query) — Return only the ID, URL, name, and path of each project
POST

/v3/projects/user/{user_id}

Create new project for a specified user. Only available to admin users.

  • user_id (path, required) — The ID of a user
GET

/v3/projects/visible

Get a list of visible projects for authenticated user

  • order_by (query) — Return projects ordered by field
  • sort (query) — Return projects sorted in ascending and descending order
  • archived (query) — Limit by archived status
  • visibility (query) — Limit by visibility
  • search (query) — Return list of authorized projects matching the search criteria
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • simple (query) — Return only the ID, URL, name, and path of each project
DELETE

/v3/projects/{id}

Remove a project

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}

Get a single project

  • id (path, required) — The ID of a project
PUT

/v3/projects/{id}

Update an existing project

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/(ref/{ref}/)trigger/builds

Trigger a GitLab project build

  • id (path, required) — The ID of a project
  • ref (path, required) — The commit sha or name of a branch or tag
GET

/v3/projects/{id}/access_requests

Gets a list of access requests for a project.

  • id (path, required) — The project ID
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/access_requests

Requests access for the authenticated user to a project.

  • id (path, required) — The project ID
GET

/v3/projects/{id}/boards/{board_id}/lists/{list_id}

Get a list of a project board

  • id (path, required) — The ID of a project
  • board_id (path, required) — The ID of a board
  • list_id (path, required) — The ID of a list
PUT

/v3/projects/{id}/boards/{board_id}/lists/{list_id}

Moves a board list to a new position

  • id (path, required) — The ID of a project
  • board_id (path, required) — The ID of a board
  • list_id (path, required) — The ID of a list
GET

/v3/projects/{id}/builds

Get a project builds

  • id (path, required) — The ID of a project
  • scope (query) — The scope of builds to show
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/projects/{id}/builds/artifacts/{ref_name}/download

Download the artifacts file from build

  • id (path, required) — The ID of a project
  • ref_name (path, required) — The ref from repository
  • job (query, required) — The name for the build
GET

/v3/projects/{id}/builds/{build_id}

Get a specific build of a project

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
GET

/v3/projects/{id}/builds/{build_id}/artifacts

Download the artifacts file from build

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
POST

/v3/projects/{id}/builds/{build_id}/artifacts/keep

Keep the artifacts to prevent them from being deleted

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
POST

/v3/projects/{id}/builds/{build_id}/cancel

Cancel a specific build of a project

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
POST

/v3/projects/{id}/builds/{build_id}/erase

Erase build (remove artifacts and build trace)

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
POST

/v3/projects/{id}/builds/{build_id}/play

Trigger a manual build

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a Build
POST

/v3/projects/{id}/builds/{build_id}/retry

Retry a specific build of a project

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
GET

/v3/projects/{id}/builds/{build_id}/trace

Get a trace of a specific build of a project

  • id (path, required) — The ID of a project
  • build_id (path, required) — The ID of a build
GET

/v3/projects/{id}/deploy_keys

Get a specific project's deploy keys

  • id (path, required) — The ID of the project
POST

/v3/projects/{id}/deploy_keys

Add new deploy key to currently authenticated user

  • id (path, required) — The ID of the project
DELETE

/v3/projects/{id}/deploy_keys/{key_id}

Delete deploy key for a project

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
GET

/v3/projects/{id}/deploy_keys/{key_id}

Get single deploy key

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
DELETE

/v3/projects/{id}/deploy_keys/{key_id}/disable

Disable a deploy key for a project

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
POST

/v3/projects/{id}/deploy_keys/{key_id}/enable

Enable a deploy key for a project

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
GET

/v3/projects/{id}/deployments

Get all deployments of the project

  • id (path, required) — The project ID
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/user/keys/{key_id}

Get a single key owned by currently authenticated user

  • key_id (path, required) — The ID of the SSH key
GET

/v3/projects/{id}/environments

Get all environments of the project

  • id (path, required) — The project ID
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/environments

Creates a new environment

  • id (path, required) — The project ID
DELETE

/v3/projects/{id}/environments/{environment_id}

Deletes an existing environment

  • id (path, required) — The project ID
  • environment_id (path, required) — The environment ID
PUT

/v3/projects/{id}/environments/{environment_id}

Updates an existing environment

  • id (path, required) — The project ID
  • environment_id (path, required) — The environment ID
GET

/v3/projects/{id}/events

Get events for a single project

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
DELETE

/v3/projects/{id}/fork

Remove a forked_from relationship

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/fork/{forked_from_id}

Mark this project as forked from another

  • id (path, required) — The ID of a project
  • forked_from_id (path, required) — The ID of the project it was forked from
GET

/v3/projects/{id}/hooks

Get project hooks

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/hooks

Add hook to project

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/hooks/{hook_id}

Deletes project hook

  • id (path, required) — The ID of a project
  • hook_id (path, required) — The ID of the hook to delete
GET

/v3/projects/{id}/hooks/{hook_id}

Get a project hook

  • id (path, required) — The ID of a project
  • hook_id (path, required) — The ID of a project hook
PUT

/v3/projects/{id}/hooks/{hook_id}

Update an existing project hook

  • id (path, required) — The ID of a project
  • hook_id (path, required) — The ID of the hook to update
GET

/v3/projects/{id}/issues

Get a list of project issues

  • id (path, required) — The ID of a project
  • state (query) — Return opened, closed, or all issues
  • iid (query) — Return the issue having the given `iid`
  • labels (query) — Comma-separated list of label names
  • milestone (query) — Return issues for a specific milestone
  • order_by (query) — Return issues ordered by `created_at` or `updated_at` fields.
  • sort (query) — Return issues sorted in `asc` or `desc` order.
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/issues

Create a new project issue

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/issues/{issue_id}

Delete a project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
GET

/v3/projects/{id}/issues/{issue_id}

Get a single project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
PUT

/v3/projects/{id}/issues/{issue_id}

Update an existing issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
POST

/v3/projects/{id}/issues/{issue_id}/add_spent_time

Add spent time for a project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
GET

/v3/projects/{id}/issues/{noteable_id}/notes/{note_id}

Get a single +noteable+ note

  • id (path, required) — The ID of a project
  • note_id (path, required) — The ID of a note
  • noteable_id (path, required) — The ID of the noteable
GET

/v3/projects/{id}/issues/{issue_id}/award_emoji

Get a list of project +awardable+ award emoji

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of an Issue, Merge Request or Snippet
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/issues/{issue_id}/award_emoji

Award a new Emoji

  • id (path, required)
  • issue_id (path, required)
DELETE

/v3/projects/{id}/issues/{issue_id}/award_emoji/{award_id}

Delete a +awardables+ award emoji

  • award_id (path, required) — The ID of an award emoji
  • id (path, required)
  • issue_id (path, required)
GET

/v3/projects/{id}/issues/{issue_id}/award_emoji/{award_id}

Get a specific award emoji

  • award_id (path, required) — The ID of the award
  • id (path, required)
  • issue_id (path, required)
POST

/v3/projects/{id}/issues/{issue_id}/move

Move an existing issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
GET

/v3/projects/{id}/issues/{issue_id}/notes/{note_id}/award_emoji

Get a list of project +awardable+ award emoji

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • id (path, required)
  • issue_id (path, required)
  • note_id (path, required)
POST

/v3/projects/{id}/issues/{issue_id}/notes/{note_id}/award_emoji

Award a new Emoji

  • id (path, required)
  • issue_id (path, required)
  • note_id (path, required)
DELETE

/v3/projects/{id}/issues/{issue_id}/notes/{note_id}/award_emoji/{award_id}

Delete a +awardables+ award emoji

  • award_id (path, required) — The ID of an award emoji
  • id (path, required)
  • issue_id (path, required)
  • note_id (path, required)
GET

/v3/projects/{id}/issues/{issue_id}/notes/{note_id}/award_emoji/{award_id}

Get a specific award emoji

  • award_id (path, required) — The ID of the award
  • id (path, required)
  • issue_id (path, required)
  • note_id (path, required)
POST

/v3/projects/{id}/issues/{issue_id}/reset_spent_time

Reset spent time for a project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
POST

/v3/projects/{id}/issues/{issue_id}/reset_time_estimate

Reset the time estimate for a project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
POST

/v3/projects/{id}/issues/{issue_id}/time_estimate

Set a time estimate for a project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
GET

/v3/projects/{id}/issues/{issue_id}/time_stats

Show time stats for a project issue

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of a project issue
POST

/v3/projects/{id}/issues/{issue_id}/todo

Create a todo on an issuable

  • id (path, required) — The ID of a project
  • issue_id (path, required) — The ID of an issuable
GET

/v3/projects/{id}/issues/{noteable_id}/notes

Get a list of project +noteable+ notes

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/issues/{noteable_id}/notes

Create a new +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
DELETE

/v3/projects/{id}/issues/{noteable_id}/notes/{note_id}

Delete a +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • note_id (path, required) — The ID of a note
PUT

/v3/projects/{id}/issues/{noteable_id}/notes/{note_id}

Update an existing +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • note_id (path, required) — The ID of a note
DELETE

/v3/projects/{id}/issues/{subscribable_id}/subscription

Unsubscribe from a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
POST

/v3/projects/{id}/issues/{subscribable_id}/subscription

Subscribe to a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
GET

/v3/projects/{id}/keys

Get a specific project's deploy keys

  • id (path, required) — The ID of the project
POST

/v3/projects/{id}/keys

Add new deploy key to currently authenticated user

  • id (path, required) — The ID of the project
DELETE

/v3/projects/{id}/keys/{key_id}

Delete deploy key for a project

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
GET

/v3/projects/{id}/keys/{key_id}

Get single deploy key

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
DELETE

/v3/projects/{id}/keys/{key_id}/disable

Disable a deploy key for a project

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
POST

/v3/projects/{id}/keys/{key_id}/enable

Enable a deploy key for a project

  • id (path, required) — The ID of the project
  • key_id (path, required) — The ID of the deploy key
DELETE

/v3/projects/{id}/labels

Delete an existing label

  • id (path, required) — The ID of a project
  • name (query, required) — The name of the label to be deleted
GET

/v3/projects/{id}/labels

Get all labels of the project

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/labels

Create a new label

  • id (path, required) — The ID of a project
PUT

/v3/projects/{id}/labels

Update an existing label. At least one optional parameter is required.

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/labels/{subscribable_id}/subscription

Unsubscribe from a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
POST

/v3/projects/{id}/labels/{subscribable_id}/subscription

Subscribe to a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
GET

/v3/projects/{id}/members

Gets a list of group or project members viewable by the authenticated user.

  • id (path, required) — The project ID
  • query (query) — A query string to search for members
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/members

Adds a member to a group or project.

  • id (path, required) — The project ID
DELETE

/v3/projects/{id}/members/{user_id}

Removes a user from a group or project.

  • id (path, required) — The project ID
  • user_id (path, required) — The user ID of the member
GET

/v3/projects/{id}/members/{user_id}

Gets a member of a group or project.

  • id (path, required) — The project ID
  • user_id (path, required) — The user ID of the member
PUT

/v3/projects/{id}/members/{user_id}

Updates a member of a group or project.

  • id (path, required) — The project ID
  • user_id (path, required) — The user ID of the new member
GET

/v3/projects/{id}/merge_request/{merge_request_id}

Get a single merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a merge request
GET

/v3/projects/{id}/merge_request/{merge_request_id}/changes

Show the merge request changes

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_request/{merge_request_id}/closes_issues

List issues that will be closed on merge

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_request/{merge_request_id}/comments

Get the comments of a merge request

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • merge_request_id (path, required)
POST

/v3/projects/{id}/merge_request/{merge_request_id}/comments

Post a comment to a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_request/{merge_request_id}/commits

Get the commits of a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
PUT

/v3/projects/{id}/merge_request/{merge_request_id}/merge

Merge a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
DELETE

/v3/projects/{id}/merge_request/{subscribable_id}/subscription

Unsubscribe from a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
POST

/v3/projects/{id}/merge_request/{subscribable_id}/subscription

Subscribe to a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
GET

/v3/projects/{id}/merge_requests

List merge requests

  • id (path, required) — The ID of a project
  • state (query) — Return opened, closed, merged, or all merge requests
  • order_by (query) — Return merge requests ordered by `created_at` or `updated_at` fields.
  • sort (query) — Return merge requests sorted in `asc` or `desc` order.
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/merge_requests

Create a merge request

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/merge_requests/{merge_request_id}

Delete a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a merge request
GET

/v3/projects/{id}/merge_requests/{merge_request_id}

Get a single merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
PUT

/v3/projects/{id}/merge_requests/{merge_request_id}

Update a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/add_spent_time

Add spent time for a project merge_request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a project merge_request
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/award_emoji

Get a list of project +awardable+ award emoji

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of an Issue, Merge Request or Snippet
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/award_emoji

Award a new Emoji

  • id (path, required)
  • merge_request_id (path, required)
DELETE

/v3/projects/{id}/merge_requests/{merge_request_id}/award_emoji/{award_id}

Delete a +awardables+ award emoji

  • award_id (path, required) — The ID of an award emoji
  • id (path, required)
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/award_emoji/{award_id}

Get a specific award emoji

  • award_id (path, required) — The ID of the award
  • id (path, required)
  • merge_request_id (path, required)
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/cancel_merge_when_build_succeeds

Cancel merge if "Merge When Pipeline Succeeds" is enabled

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/changes

Show the merge request changes

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/closes_issues

List issues that will be closed on merge

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/comments

Get the comments of a merge request

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • merge_request_id (path, required)
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/comments

Post a comment to a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/commits

Get the commits of a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
PUT

/v3/projects/{id}/merge_requests/{merge_request_id}/merge

Merge a merge request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/notes/{note_id}/award_emoji

Get a list of project +awardable+ award emoji

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • id (path, required)
  • merge_request_id (path, required)
  • note_id (path, required)
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/notes/{note_id}/award_emoji

Award a new Emoji

  • id (path, required)
  • merge_request_id (path, required)
  • note_id (path, required)
DELETE

/v3/projects/{id}/merge_requests/{merge_request_id}/notes/{note_id}/award_emoji/{award_id}

Delete a +awardables+ award emoji

  • award_id (path, required) — The ID of an award emoji
  • id (path, required)
  • merge_request_id (path, required)
  • note_id (path, required)
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/notes/{note_id}/award_emoji/{award_id}

Get a specific award emoji

  • award_id (path, required) — The ID of the award
  • id (path, required)
  • merge_request_id (path, required)
  • note_id (path, required)
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/reset_spent_time

Reset spent time for a project merge_request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a project merge_request
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/reset_time_estimate

Reset the time estimate for a project merge_request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a project merge_request
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/time_estimate

Set a time estimate for a project merge_request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a project merge_request
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/time_stats

Show time stats for a project merge_request

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a project merge_request
POST

/v3/projects/{id}/merge_requests/{merge_request_id}/todo

Create a todo on an issuable

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of an issuable
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/versions

Get a list of merge request diff versions

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a merge request
GET

/v3/projects/{id}/merge_requests/{merge_request_id}/versions/{version_id}

Get a single merge request diff version

  • id (path, required) — The ID of a project
  • merge_request_id (path, required) — The ID of a merge request
  • version_id (path, required) — The ID of a merge request diff version
GET

/v3/projects/{id}/merge_requests/{noteable_id}/notes

Get a list of project +noteable+ notes

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/merge_requests/{noteable_id}/notes

Create a new +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
DELETE

/v3/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}

Delete a +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • note_id (path, required) — The ID of a note
GET

/v3/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}

Get a single +noteable+ note

  • id (path, required) — The ID of a project
  • note_id (path, required) — The ID of a note
  • noteable_id (path, required) — The ID of the noteable
PUT

/v3/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}

Update an existing +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • note_id (path, required) — The ID of a note
DELETE

/v3/projects/{id}/merge_requests/{subscribable_id}/subscription

Unsubscribe from a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
POST

/v3/projects/{id}/merge_requests/{subscribable_id}/subscription

Subscribe to a resource

  • id (path, required) — The ID of a project
  • subscribable_id (path, required) — The ID of a resource
GET

/v3/projects/{id}/milestones

Get a list of project milestones

  • id (path, required) — The ID of a project
  • state (query) — Return "active", "closed", or "all" milestones
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/milestones

Create a new project milestone

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/milestones/{milestone_id}

Get a single project milestone

  • id (path, required) — The ID of a project
  • milestone_id (path, required) — The ID of a project milestone
PUT

/v3/projects/{id}/milestones/{milestone_id}

Update an existing project milestone

  • id (path, required) — The ID of a project
  • milestone_id (path, required) — The ID of a project milestone
GET

/v3/projects/{id}/milestones/{milestone_id}/issues

Get all issues for a single project milestone

  • id (path, required) — The ID of a project
  • milestone_id (path, required) — The ID of a project milestone
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/projects/{id}/notification_settings

Get project level notification level settings, defaults to Global

  • id (path, required) — The group ID or project ID or project NAMESPACE/PROJECT_NAME
PUT

/v3/projects/{id}/notification_settings

Update project level notification level settings, defaults to Global

  • id (path, required) — The group ID or project ID or project NAMESPACE/PROJECT_NAME
POST

/v3/projects/{id}/pipeline

Create a new pipeline

  • id (path, required) — The project ID
GET

/v3/projects/{id}/pipelines

Get all Pipelines of the project

  • id (path, required) — The project ID
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • scope (query) — Either running, branches, or tags
GET

/v3/projects/{id}/pipelines/{pipeline_id}

Gets a specific pipeline for the project

  • id (path, required) — The project ID
  • pipeline_id (path, required) — The pipeline ID
POST

/v3/projects/{id}/pipelines/{pipeline_id}/cancel

Cancel all builds in the pipeline

  • id (path, required) — The project ID
  • pipeline_id (path, required) — The pipeline ID
POST

/v3/projects/{id}/pipelines/{pipeline_id}/retry

Retry failed builds in the pipeline

  • id (path, required) — The project ID
  • pipeline_id (path, required) — The pipeline ID
GET

/v3/projects/{id}/repository/archive

Get an archive of the repository

  • id (path, required) — The ID of a project
  • sha (query) — The commit sha of the archive to be downloaded
  • format (query) — The archive format
GET

/v3/projects/{id}/repository/blobs/{sha}

Get a raw file contents

  • id (path, required) — The ID of a project
  • sha (path, required) — The commit, branch name, or tag name
  • filepath (query, required) — The path to the file to display
GET

/v3/projects/{id}/repository/branches

Get a project repository branches

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/repository/branches

Create branch

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/repository/branches/{branch}

Delete a branch

  • id (path, required) — The ID of a project
  • branch (path, required) — The name of the branch
GET

/v3/projects/{id}/repository/branches/{branch}

Get a single branch

  • id (path, required) — The ID of a project
  • branch (path, required) — The name of the branch
PUT

/v3/projects/{id}/repository/branches/{branch}/protect

Protect a single branch

  • id (path, required) — The ID of a project
  • branch (path, required) — The name of the branch
PUT

/v3/projects/{id}/repository/branches/{branch}/unprotect

Unprotect a single branch

  • id (path, required) — The ID of a project
  • branch (path, required) — The name of the branch
GET

/v3/projects/{id}/repository/commits

Get a project repository commits

  • id (path, required) — The ID of a project
  • ref_name (query) — The name of a repository branch or tag, if not given the default branch is used
  • since (query) — Only commits after or in this date will be returned
  • until (query) — Only commits before or in this date will be returned
  • page (query, page) — The page for pagination
  • per_page (query, limit) — The number of results per page
  • path (query) — The file path
POST

/v3/projects/{id}/repository/commits

Commit multiple file changes as one commit

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/repository/commits/{sha}

Get a specific commit of a project

  • id (path, required) — The ID of a project
  • sha (path, required) — A commit sha, or the name of a branch or tag
GET

/v3/projects/{id}/repository/commits/{sha}/blob

Get a raw file contents

  • id (path, required) — The ID of a project
  • sha (path, required) — The commit, branch name, or tag name
  • filepath (query, required) — The path to the file to display
GET

/v3/projects/{id}/repository/commits/{sha}/builds

Get builds for a specific commit of a project

  • id (path, required) — The ID of a project
  • sha (path, required) — The SHA id of a commit
  • scope (query) — The scope of builds to show
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
DELETE

/v3/user/emails/{email_id}

Delete an email address from the currently authenticated user

  • email_id (path, required) — The ID of the email
POST

/v3/projects/{id}/repository/commits/{sha}/cherry_pick

Cherry pick commit into a branch

  • id (path, required) — The ID of a project
  • sha (path, required) — A commit sha to be cherry picked
GET

/v3/projects/{id}/repository/commits/{sha}/comments

Get a commit's comments

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • sha (path, required) — A commit sha, or the name of a branch or tag
POST

/v3/projects/{id}/repository/commits/{sha}/comments

Post comment to commit

  • id (path, required) — The ID of a project
  • sha (path, required) — The commit's SHA
GET

/v3/projects/{id}/repository/commits/{sha}/diff

Get the diff for a specific commit of a project

  • id (path, required) — The ID of a project
  • sha (path, required) — A commit sha, or the name of a branch or tag
GET

/v3/projects/{id}/repository/commits/{sha}/statuses

Get a commit's statuses

  • id (path, required) — The ID of a project
  • sha (path, required) — The commit hash
  • ref (query) — The ref
  • stage (query) — The stage
  • name (query) — The name
  • all (query) — Show all statuses, default: false
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/projects/{id}/repository/compare

Compare two branches, tags, or commits

  • id (path, required) — The ID of a project
  • from (query, required) — The commit, branch name, or tag name to start comparison
  • to (query, required) — The commit, branch name, or tag name to stop comparison
GET

/v3/projects/{id}/repository/contributors

Get repository contributors

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/repository/files

Delete an existing file in repository

  • id (path, required) — The project ID
  • file_path (query, required) — The path to new file. Ex. lib/class.rb
  • branch_name (query, required) — The name of branch
  • commit_message (query, required) — Commit Message
  • author_email (query) — The email of the author
  • author_name (query) — The name of the author
GET

/v3/projects/{id}/repository/files

Get a file from repository

  • id (path, required) — The project ID
  • file_path (query, required) — The path to the file. Ex. lib/class.rb
  • ref (query, required) — The name of branch, tag, or commit
POST

/v3/projects/{id}/repository/files

Create new file in repository

  • id (path, required) — The project ID
PUT

/v3/projects/{id}/repository/files

Update existing file in repository

  • id (path, required) — The project ID
DELETE

/v3/projects/{id}/repository/merged_branches

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/repository/raw_blobs/{sha}

Get a raw blob contents by blob sha

  • id (path, required) — The ID of a project
  • sha (path, required) — The commit, branch name, or tag name
GET

/v3/projects/{id}/repository/tags

Get a project repository tags

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/repository/tags

Create a new repository tag

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/repository/tags/{tag_name}

Delete a repository tag

  • id (path, required) — The ID of a project
  • tag_name (path, required) — The name of the tag
GET

/v3/projects/{id}/repository/tags/{tag_name}

Get a single repository tag

  • id (path, required) — The ID of a project
  • tag_name (path, required) — The name of the tag
POST

/v3/projects/{id}/repository/tags/{tag_name}/release

Add a release note to a tag

  • id (path, required) — The ID of a project
  • tag_name (path, required) — The name of the tag
PUT

/v3/projects/{id}/repository/tags/{tag_name}/release

Update a tag's release note

  • id (path, required) — The ID of a project
  • tag_name (path, required) — The name of the tag
GET

/v3/projects/{id}/repository/tree

Get a project repository tree

  • id (path, required) — The ID of a project
  • ref_name (query) — The name of a repository branch or tag, if not given the default branch is used
  • path (query) — The path of the tree
  • recursive (query) — Used to get a recursive tree
GET

/v3/projects/{id}/runners

Get runners available for project

  • id (path, required) — The ID of a project
  • scope (query) — The scope of specific runners to show
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/runners

Enable a runner for a project

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/runners/{runner_id}

Disable project's runner

  • id (path, required) — The ID of a project
  • runner_id (path, required) — The ID of the runner
PUT

/v3/projects/{id}/services/asana

Set asana service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/assembla

Set assembla service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/bamboo

Set bamboo service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/bugzilla

Set bugzilla service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/buildkite

Set buildkite service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/builds-email

Set builds-email service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/campfire

Set campfire service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/custom-issue-tracker

Set custom-issue-tracker service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/drone-ci

Set drone-ci service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/emails-on-push

Set emails-on-push service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/external-wiki

Set external-wiki service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/flowdock

Set flowdock service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/gemnasium

Set gemnasium service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/hipchat

Set hipchat service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/irker

Set irker service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/jira

Set jira service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/kubernetes

Set kubernetes service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/mattermost

Set mattermost service for project

  • id (path, required)
PUT

/v3/projects/{id}/services/mattermost-slash-commands

Set mattermost-slash-commands service for project

  • id (path, required)
POST

/v3/projects/{id}/services/mattermost_slash_commands/trigger

Trigger a slash command for mattermost-slash-commands

  • id (path, required) — The ID of a project
PUT

/v3/projects/{id}/services/pipelines-email

Set pipelines-email service for project

  • id (path, required)
DELETE

/v3/projects/{id}/services/{service_slug}

Delete a service for project

  • service_slug (path, required) — The name of the service
  • id (path, required)
GET

/v3/projects/{id}/services/{service_slug}

Get the service settings for project

  • service_slug (path, required) — The name of the service
  • id (path, required)
POST

/v3/projects/{id}/share

Share the project with a group

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/share/{group_id}

  • id (path, required) — The ID of a project
  • group_id (path, required) — The ID of the group
GET

/v3/projects/{id}/snippets

Get all project snippets

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/snippets

Create a new project snippet

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/snippets/{noteable_id}/notes

Get a list of project +noteable+ notes

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/snippets/{noteable_id}/notes

Create a new +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
DELETE

/v3/projects/{id}/snippets/{noteable_id}/notes/{note_id}

Delete a +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • note_id (path, required) — The ID of a note
GET

/v3/projects/{id}/snippets/{noteable_id}/notes/{note_id}

Get a single +noteable+ note

  • id (path, required) — The ID of a project
  • note_id (path, required) — The ID of a note
  • noteable_id (path, required) — The ID of the noteable
PUT

/v3/projects/{id}/snippets/{noteable_id}/notes/{note_id}

Update an existing +noteable+ note

  • id (path, required) — The ID of a project
  • noteable_id (path, required) — The ID of the noteable
  • note_id (path, required) — The ID of a note
DELETE

/v3/projects/{id}/snippets/{snippet_id}

Delete a project snippet

  • id (path, required) — The ID of a project
  • snippet_id (path, required) — The ID of a project snippet
GET

/v3/projects/{id}/snippets/{snippet_id}

Get a single project snippet

  • id (path, required) — The ID of a project
  • snippet_id (path, required) — The ID of a project snippet
PUT

/v3/projects/{id}/snippets/{snippet_id}

Update an existing project snippet

  • id (path, required) — The ID of a project
  • snippet_id (path, required) — The ID of a project snippet
GET

/v3/projects/{id}/snippets/{snippet_id}/award_emoji

Get a list of project +awardable+ award emoji

  • id (path, required) — The ID of a project
  • snippet_id (path, required) — The ID of an Issue, Merge Request or Snippet
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/snippets/{snippet_id}/award_emoji

Award a new Emoji

  • id (path, required)
  • snippet_id (path, required)
DELETE

/v3/projects/{id}/snippets/{snippet_id}/award_emoji/{award_id}

Delete a +awardables+ award emoji

  • award_id (path, required) — The ID of an award emoji
  • id (path, required)
  • snippet_id (path, required)
GET

/v3/projects/{id}/snippets/{snippet_id}/award_emoji/{award_id}

Get a specific award emoji

  • award_id (path, required) — The ID of the award
  • id (path, required)
  • snippet_id (path, required)
GET

/v3/user/emails/{email_id}

Get a single email address owned by the currently authenticated user

  • email_id (path, required) — The ID of the email
GET

/v3/projects/{id}/snippets/{snippet_id}/notes/{note_id}/award_emoji

Get a list of project +awardable+ award emoji

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
  • id (path, required)
  • snippet_id (path, required)
  • note_id (path, required)
POST

/v3/projects/{id}/snippets/{snippet_id}/notes/{note_id}/award_emoji

Award a new Emoji

  • id (path, required)
  • snippet_id (path, required)
  • note_id (path, required)
DELETE

/v3/projects/{id}/snippets/{snippet_id}/notes/{note_id}/award_emoji/{award_id}

Delete a +awardables+ award emoji

  • award_id (path, required) — The ID of an award emoji
  • id (path, required)
  • snippet_id (path, required)
  • note_id (path, required)
GET

/v3/projects/{id}/snippets/{snippet_id}/notes/{note_id}/award_emoji/{award_id}

Get a specific award emoji

  • award_id (path, required) — The ID of the award
  • id (path, required)
  • snippet_id (path, required)
  • note_id (path, required)
GET

/v3/projects/{id}/snippets/{snippet_id}/raw

Get a raw project snippet

  • id (path, required) — The ID of a project
  • snippet_id (path, required) — The ID of a project snippet
DELETE

/v3/projects/{id}/star

Unstar a project

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/star

Star a project

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/statuses/{sha}

Post status to a commit

  • id (path, required) — The ID of a project
  • sha (path, required) — The commit hash
GET

/v3/projects/{id}/triggers

Get triggers list

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/triggers

Create a trigger

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/triggers/{token}

Delete a trigger

  • id (path, required) — The ID of a project
  • token (path, required) — The unique token of trigger
GET

/v3/projects/{id}/triggers/{token}

Get specific trigger of a project

  • id (path, required) — The ID of a project
  • token (path, required) — The unique token of trigger
POST

/v3/projects/{id}/unarchive

Unarchive a project

  • id (path, required) — The ID of a project
POST

/v3/projects/{id}/uploads

Upload a file

  • id (path, required) — The ID of a project
GET

/v3/projects/{id}/users

Get the users list of a project

  • id (path, required) — The ID of a project
  • search (query) — Return list of users matching the search criteria
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/projects/{id}/variables

Get project variables

  • id (path, required) — The ID of a project
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/projects/{id}/variables

Create a new variable in a project

  • id (path, required) — The ID of a project
DELETE

/v3/projects/{id}/variables/{key}

Delete an existing variable from a project

  • id (path, required) — The ID of a project
  • key (path, required) — The key of the variable
GET

/v3/projects/{id}/variables/{key}

Get a specific variable from a project

  • id (path, required) — The ID of a project
  • key (path, required) — The key of the variable
PUT

/v3/projects/{id}/variables/{key}

Update an existing variable from a project

  • id (path, required) — The ID of a project
  • key (path, required) — The key of the variable
GET

/v3/runners

Get runners available for user

  • scope (query) — The scope of specific runners to show
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/runners/all

Get all runners - shared and specific

  • scope (query) — The scope of specific runners to show
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
DELETE

/v3/runners/{id}

Remove a runner

  • id (path, required) — The ID of the runner
GET

/v3/runners/{id}

Get runner's details

  • id (path, required) — The ID of the runner
PUT

/v3/runners/{id}

Update runner's details

  • id (path, required) — The ID of the runner
POST

/v3/session

Login to get token

GET

/v3/sidekiq/compound_metrics

Get the Sidekiq Compound metrics. Includes queue, process, and job statistics

GET

/v3/sidekiq/job_stats

Get the Sidekiq job statistics

GET

/v3/sidekiq/process_metrics

Get the Sidekiq process metrics

GET

/v3/sidekiq/queue_metrics

Get the Sidekiq queue metrics

GET

/v3/snippets

Get a snippets list for authenticated user

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/snippets

Create new snippet

GET

/v3/snippets/public

List all public snippets current_user has access to

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
DELETE

/v3/snippets/{id}

Remove snippet

  • id (path, required) — The ID of a snippet
GET

/v3/snippets/{id}

Get a single snippet

  • id (path, required) — The ID of a snippet
PUT

/v3/snippets/{id}

Update an existing snippet

  • id (path, required) — The ID of a snippet
GET

/v3/snippets/{id}/raw

Get a raw snippet

  • id (path, required) — The ID of a snippet
GET

/v3/templates/dockerfiles

Get the list of the available template

GET

/v3/templates/dockerfiles/{name}

Get the text for a specific template present in local filesystem

  • name (path, required) — The name of the template
GET

/v3/templates/gitignores

Get the list of the available template

GET

/v3/templates/gitignores/{name}

Get the text for a specific template present in local filesystem

  • name (path, required) — The name of the template
GET

/v3/templates/gitlab_ci_ymls

Get the list of the available template

GET

/v3/templates/gitlab_ci_ymls/{name}

Get the text for a specific template present in local filesystem

  • name (path, required) — The name of the template
GET

/v3/templates/licenses

Get the list of the available license template

  • popular (query) — If passed, returns only popular licenses
GET

/v3/templates/licenses/{name}

Get the text for a specific license

  • name (path, required) — The name of the template
DELETE

/v3/todos

Mark all todos as done

GET

/v3/todos

Get a todo list

  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
DELETE

/v3/todos/{id}

Mark a todo as done

  • id (path, required) — The ID of the todo being marked as done
GET

/v3/user

Get the currently authenticated user

GET

/v3/user/emails

Get the currently authenticated user's email addresses

POST

/v3/user/emails

Add new email address to the currently authenticated user

GET

/v3/users

Get the list of users

  • username (query) — Get a single user with a specific username
  • search (query) — Search for a username
  • active (query) — Filters only active users
  • external (query) — Filters only external users
  • blocked (query) — Filters only blocked users
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
POST

/v3/users

Create a user. Available only for admins.

DELETE

/v3/users/{id}

Delete a user. Available only for admins.

  • id (path, required) — The ID of the user
GET

/v3/users/{id}

Get a single user

  • id (path, required) — The ID of the user
PUT

/v3/users/{id}

Update a user. Available only for admins.

  • id (path, required) — The ID of the user
PUT

/v3/users/{id}/block

Block a user. Available only for admins.

  • id (path, required) — The ID of the user
GET

/v3/users/{id}/emails

Get the emails addresses of a specified user. Available only for admins.

  • id (path, required) — The ID of the user
POST

/v3/users/{id}/emails

Add an email address to a specified user. Available only for admins.

  • id (path, required) — The ID of the user
DELETE

/v3/users/{id}/emails/{email_id}

Delete an email address of a specified user. Available only for admins.

  • id (path, required) — The ID of the user
  • email_id (path, required) — The ID of the email
GET

/v3/users/{id}/events

Get the contribution events of a specified user

  • id (path, required) — The ID of the user
  • page (query, page) — Current page number
  • per_page (query, limit) — Number of items per page
GET

/v3/users/{id}/keys

Get the SSH keys of a specified user. Available only for admins.

  • id (path, required) — The ID of the user
POST

/v3/users/{id}/keys

Add an SSH key to a specified user. Available only for admins.

  • id (path, required) — The ID of the user
DELETE

/v3/users/{id}/keys/{key_id}

Delete an existing SSH key from a specified user. Available only for admins.

  • id (path, required) — The ID of the user
  • key_id (path, required) — The ID of the SSH key
PUT

/v3/users/{id}/unblock

Unblock a user. Available only for admins.

  • id (path, required) — The ID of the user
GET

/v3/version

Get the version information of the GitLab instance.

358 endpoints auto-detected

Authentication

This API requires authentication: OAuth.

curl -X GET \
  "https://docs.gitlab.com/ee/api//v3/user/keys"

docs.gitlab.com · HTTPS only