- GitLab API v4
- Topics
- Endpoints
- access_requests
- List access requests for a project
- Requests access for the authenticated user to a project
- Approves access for the authenticated user to a project
- Denies a project access request for the given user
- Denies a project access request for the given user
- List access requests for a group
- Requests access for the authenticated user to a group
- Approves access for the authenticated user to a group
- Denies a group access request for the given user
- access_tokens
- Retrieve metadata information for this GitLab instance
- Retrieve metadata information for this GitLab instance
- access_requests
- application
- ci
- deploy_keys
- dockerfiles
- gitignores
- gitlab_ci_ymls
- groups
- Get a groups listGET
- Create a group. Available only for users who can create groups.POST
- Get list of owned groups for authenticated userGET
- Remove a group.DELETE
- Get a single group, with containing projects.GET
- Update a group. Available only for users who can administrate groups.PUT
- Gets a list of access requests for a group.GET
- Requests access for the authenticated user to a group.POST
- Denies an access request for the given user.DELETE
- Approves an access request for the given user.PUT
- Get a list of group issuesGET
- Gets a list of group or project members viewable by the authenticated user.GET
- Adds a member to a group or project.POST
- Removes a user from a group or project.DELETE
- Gets a member of a group or project.GET
- Updates a member of a group or project.PUT
- Get group level notification level settings, defaults to GlobalGET
- Update group level notification level settings, defaults to GlobalPUT
- Get a list of projects in this group.GET
- Transfer a project to the group namespace. Available only for admin.POST
- hooks
- internal
- issues
- keys
- licenses
- namespaces
- notification_settings
- projects
- Get a projects list for authenticated user
- Create new project
- Get all projects for admin user
- Fork new project for the current user or provided namespace.
- Get an owned projects list for authenticated user
- Search for projects the current user has access to
- Gets starred project for the authenticated user
- Create new project for a specified user. Only available to admin users.
- Get a list of visible projects for authenticated user
- Remove a project
- Get a single project
- Update an existing project
- Trigger a GitLab project build
- Gets a list of access requests for a project.
- Requests access for the authenticated user to a project.
- Denies an access request for the given user.
- Approves an access request for the given user.
- Archive a project
- Get all project boards
- Get the lists of a project board
- Create a new board list
- Delete a board list
- Get a list of a project board
- Moves a board list to a new position
- Get a project builds
- Download the artifacts file from build
- Get a specific build of a project
- Download the artifacts file from build
- Keep the artifacts to prevent them from being deleted
- Cancel a specific build of a project
- Erase build (remove artifacts and build trace)
- Trigger a manual build
- Retry a specific build of a project
- Get a trace of a specific build of a project
- Get a specific project's deploy keys
- Add new deploy key to currently authenticated user
- Delete deploy key for a project
- Get single deploy key
- Disable a deploy key for a project
- Enable a deploy key for a project
- Get all deployments of the project
- Gets a specific deployment
- Get all environments of the project
- Creates a new environment
- Deletes an existing environment
- Updates an existing environment
- Get events for a single project
- Remove a forked_from relationship
- Mark this project as forked from another
- Get project hooks
- Add hook to project
- Deletes project hook
- Get a project hook
- Update an existing project hook
- Get a list of project issues
- Create a new project issue
- Delete a project issue
- Get a single project issue
- Update an existing issue
- Add spent time for a project issue
- Get a list of project +awardable+ award emoji
- Award a new Emoji
- Delete a +awardables+ award emoji
- Get a specific award emoji
- Move an existing issue
- Get a list of project +awardable+ award emoji
- Award a new Emoji
- Delete a +awardables+ award emoji
- Get a specific award emoji
- Reset spent time for a project issue
- Reset the time estimate for a project issue
- Set a time estimate for a project issue
- Show time stats for a project issue
- Create a todo on an issuable
- Get a list of project +noteable+ notes
- Create a new +noteable+ note
- Delete a +noteable+ note
- Get a single +noteable+ note
- Update an existing +noteable+ note
- Unsubscribe from a resource
- Subscribe to a resource
- Get a specific project's deploy keys
- Add new deploy key to currently authenticated user
- Delete deploy key for a project
- Get single deploy key
- Disable a deploy key for a project
- Enable a deploy key for a project
- Delete an existing label
- Get all labels of the project
- Create a new label
- Update an existing label. At least one optional parameter is required.
- Unsubscribe from a resource
- Subscribe to a resource
- Gets a list of group or project members viewable by the authenticated user.
- Adds a member to a group or project.
- Removes a user from a group or project.
- Gets a member of a group or project.
- Updates a member of a group or project.
- Get a single merge request
- Update a merge request
- Cancel merge if "Merge When Pipeline Succeeds" is enabled
- Show the merge request changes
- List issues that will be closed on merge
- Get the comments of a merge request
- Post a comment to a merge request
- Get the commits of a merge request
- Merge a merge request
- Unsubscribe from a resource
- Subscribe to a resource
- List merge requests
- Create a merge request
- Delete a merge request
- Get a single merge request
- Update a merge request
- Add spent time for a project merge_request
- Get a list of project +awardable+ award emoji
- Award a new Emoji
- Delete a +awardables+ award emoji
- Get a specific award emoji
- Cancel merge if "Merge When Pipeline Succeeds" is enabled
- Show the merge request changes
- List issues that will be closed on merge
- Get the comments of a merge request
- Post a comment to a merge request
- Get the commits of a merge request
- Merge a merge request
- Get a list of project +awardable+ award emoji
- Award a new Emoji
- Delete a +awardables+ award emoji
- Get a specific award emoji
- Reset spent time for a project merge_request
- Reset the time estimate for a project merge_request
- Set a time estimate for a project merge_request
- Show time stats for a project merge_request
- Create a todo on an issuable
- Get a list of merge request diff versions
- Get a single merge request diff version
- Get a list of project +noteable+ notes
- Create a new +noteable+ note
- Delete a +noteable+ note
- Get a single +noteable+ note
- Update an existing +noteable+ note
- Unsubscribe from a resource
- Subscribe to a resource
- Get a list of project milestones
- Create a new project milestone
- Get a single project milestone
- Update an existing project milestone
- Get all issues for a single project milestone
- Get project level notification level settings, defaults to Global
- Update project level notification level settings, defaults to Global
- Create a new pipeline
- Get all Pipelines of the project
- Gets a specific pipeline for the project
- Cancel all builds in the pipeline
- Retry failed builds in the pipeline
- Get an archive of the repository
- Get a raw file contents
- Get a project repository branches
- Create branch
- Delete a branch
- Get a single branch
- Protect a single branch
- Unprotect a single branch
- Get a project repository commits
- Commit multiple file changes as one commit
- Get a specific commit of a project
- Get a raw file contents
- Get builds for a specific commit of a project
- Cherry pick commit into a branch
- Get a commit's comments
- Post comment to commit
- Get the diff for a specific commit of a project
- Get a commit's statuses
- Compare two branches, tags, or commits
- Get repository contributors
- Delete an existing file in repository
- Get a file from repository
- Create new file in repository
- Update existing file in repository
- /v3/projects/{id}/repository/merged_branches
- Get a raw blob contents by blob sha
- Get a project repository tags
- Create a new repository tag
- Delete a repository tag
- Get a single repository tag
- Add a release note to a tag
- Update a tag's release note
- Get a project repository tree
- Get runners available for project
- Enable a runner for a project
- Disable project's runner
- Set asana service for project
- Set assembla service for project
- Set bamboo service for project
- Set bugzilla service for project
- Set buildkite service for project
- Set builds-email service for project
- Set campfire service for project
- Set custom-issue-tracker service for project
- Set drone-ci service for project
- Set emails-on-push service for project
- Set external-wiki service for project
- Set flowdock service for project
- Set gemnasium service for project
- Set hipchat service for project
- Set irker service for project
- Set jira service for project
- Set kubernetes service for project
- Set mattermost service for project
- Set mattermost-slash-commands service for project
- Trigger a slash command for mattermost-slash-commands
- Set pipelines-email service for project
- Set pivotaltracker service for project
- Set pushover service for project
- Set redmine service for project
- Set slack service for project
- Set slack-slash-commands service for project
- Trigger a slash command for slack-slash-commands
- Set teamcity service for project
- Delete a service for project
- Get the service settings for project
- Share the project with a group
- /v3/projects/{id}/share/{group_id}
- Get all project snippets
- Create a new project snippet
- Get a list of project +noteable+ notes
- Create a new +noteable+ note
- Delete a +noteable+ note
- Get a single +noteable+ note
- Update an existing +noteable+ note
- Delete a project snippet
- Get a single project snippet
- Update an existing project snippet
- Get a list of project +awardable+ award emoji
- Award a new Emoji
- Delete a +awardables+ award emoji
- Get a specific award emoji
- Get a list of project +awardable+ award emoji
- Award a new Emoji
- Delete a +awardables+ award emoji
- Get a specific award emoji
- Get a raw project snippet
- Unstar a project
- Star a project
- Post status to a commit
- Get triggers list
- Create a trigger
- Delete a trigger
- Get specific trigger of a project
- Unarchive a project
- Upload a file
- Get the users list of a project
- Get project variables
- Create a new variable in a project
- Delete an existing variable from a project
- Get a specific variable from a project
- Update an existing variable from a project
- runners
- session
- sidekiq
- snippets
- templates
- Get the list of the available template
- Get the text for a specific template present in local filesystem
- Get the list of the available template
- Get the text for a specific template present in local filesystem
- Get the list of the available template
- Get the text for a specific template present in local filesystem
- Get the list of the available license template
- Get the text for a specific license
- todos
- user
- Get the currently authenticated user
- Get the currently authenticated user's email addresses
- Add new email address to the currently authenticated user
- Delete an email address from the currently authenticated user
- Get a single email address owned by the currently authenticated user
- Get the currently authenticated user's SSH keys
- Add a new SSH key to the currently authenticated user
- Delete an SSH key from the currently authenticated user
- Get a single key owned by currently authenticated user
- users
- Get the list of users
- Create a user. Available only for admins.
- Delete a user. Available only for admins.
- Get a single user
- Update a user. Available only for admins.
- Block a user. Available only for admins.
- Get the emails addresses of a specified user. Available only for admins.
- Add an email address to a specified user. Available only for admins.
- Delete an email address of a specified user. Available only for admins.
- Get the contribution events of a specified user
- Get the SSH keys of a specified user. Available only for admins.
- Add an SSH key to a specified user. Available only for admins.
- Delete an existing SSH key from a specified user. Available only for admins.
- Unblock a user. Available only for admins.
- version
Introduction
GitLab API v4#
Few API resources or endpoints are currently included.
The intent is to expand this to match the entire Markdown documentation of the API:
https://docs.gitlab.com/ee/api/. Contributions are welcome.
against the
gitlab.com
instance, if you are logged in.The feature uses the current GitLab session cookie,
so each request is made using your account.
v4
of the API. Last update on Oct 4, 2023.Modified at 2023-10-13 02:35:12