GitLab REST API

gitlab.com

Community

GitLab provides a comprehensive REST API for managing projects, repositories, merge requests, issues, CI/CD pipelines, users, groups, and more. Use this API to automate development workflows, manage code repositories, track issues, review merge requests, trigger and monitor CI/CD pipelines, and manage GitLab resources programmatically.

[catalog]Catalog only — enable via gateway with your own API key

Enable this service

This service is in the catalog but not part of v1 launch billing. To use it, run the command below and provide your own API key in the local config page — the gateway will call it under your account.

Auth

oauth2

Pricing

free

Spec version

1.0

Base URL

https://gitlab.com/api/v4

Last crawled

May 4, 2026

Health

This is a community-maintained manifest. Health monitoring is not available because this service doesn't host its own /.well-known/agent endpoint yet. Learn more about trust levels →

Top Capabilities

Most commonly used operations — ready to call without drill-down.

branches_list

GET

List branches in a repository.

GET https://gitlab.com/api/v4/projects/{id}/repository/branches

id (string, required) Project ID or path.

search (string) Search by branch name.

per_page (integer) Results per page.

groups_list

GET

List groups accessible to the authenticated user.

GET https://gitlab.com/api/v4/groups

search (string) Search by group name.

owned (boolean) Only groups owned by current user.

per_page (integer) Results per page.

issues_list

GET

List issues for a project with filtering by state, labels, assignee, and more.

GET https://gitlab.com/api/v4/projects/{id}/issues

id (string, required) Project ID or path.

state (string) Filter: opened, closed, all.

labels (string) Comma-separated label names.

assignee_id (integer) Filter by assignee user ID.

search (string) Search in title and description.

...and 2 more parameters

All Capabilities (28)

branches (2)

POSTbranches_create

Create a new branch.

GETbranches_list

List branches in a repository.

groups (2)

GETgroups_get

Get details of a specific group.

GETgroups_list

List groups accessible to the authenticated user.

issues (5)

POSTissues_create

Create a new issue in a project.

GETissues_get

Get a specific issue by its IID.

GETissues_list

List issues for a project with filtering by state, labels, assignee, and more.

POSTissues_notes_create

Create a comment (note) on an issue.

PUTissues_update

Update an issue's attributes, state, or assignments.

merge_requests (5)

POSTmerge_requests_create

Create a new merge request.

GETmerge_requests_get

Get a specific merge request by its IID.

GETmerge_requests_list

List merge requests for a project with optional filtering.

PUTmerge_requests_merge

Accept and merge a merge request.

PUTmerge_requests_update

Update a merge request's title, description, assignee, labels, or state.

pipelines (6)

POSTpipelines_cancel

Cancel a running or pending pipeline.

POSTpipelines_create

Trigger a new pipeline for a branch or tag.

GETpipelines_get

Get a specific pipeline by ID.

GETpipelines_jobs_list

List jobs in a pipeline.

GETpipelines_list

List CI/CD pipelines for a project with optional filtering.

POSTpipelines_retry

Retry failed jobs in a pipeline.

projects (5)

POSTprojects_create

Create a new project.

DELETEprojects_delete

Delete a project. Requires owner or admin access.

GETprojects_get

Get detailed information about a specific project by ID or URL-encoded path.

GETprojects_list

List projects accessible to the authenticated user with filtering and sorting options.

PUTprojects_update

Update a project's settings.

releases (2)

POSTreleases_create

Create a new release for a project.

GETreleases_list

List releases for a project.

users (1)

GETusers_get_current

Get the profile of the currently authenticated user.

Agent Preview

This is what an AI agent sees when it discovers this service via the Gateway:

Service: GitLab REST API
Description: GitLab provides a comprehensive REST API for managing projects, repositories, merge requests, issues, CI/CD pipelines, users, groups, and more. Use this API to automate development workflows, manage code repositories, track issues, review merge requests, trigger and monitor CI/CD pipelines, and manage GitLab resources programmatically.
Auth: oauth2
Capabilities (28 total):
  branches (2):
    - branches_create: Create a new branch.
    - branches_list: List branches in a repository.
  groups (2):
    - groups_get: Get details of a specific group.
    - groups_list: List groups accessible to the authenticated user.
  issues (5):
    - issues_create: Create a new issue in a project.
    - issues_get: Get a specific issue by its IID.
    - issues_list: List issues for a project with filtering by state, labels, assignee, and more.
    - issues_notes_create: Create a comment (note) on an issue.
    - issues_update: Update an issue's attributes, state, or assignments.
  merge_requests (5):
    - merge_requests_create: Create a new merge request.
    - merge_requests_get: Get a specific merge request by its IID.
    - merge_requests_list: List merge requests for a project with optional filtering.
    - merge_requests_merge: Accept and merge a merge request.
    - merge_requests_update: Update a merge request's title, description, assignee, labels, or state.
  pipelines (6):
    - pipelines_cancel: Cancel a running or pending pipeline.
    - pipelines_create: Trigger a new pipeline for a branch or tag.
    - pipelines_get: Get a specific pipeline by ID.
    - pipelines_jobs_list: List jobs in a pipeline.
    - pipelines_list: List CI/CD pipelines for a project with optional filtering.
    - pipelines_retry: Retry failed jobs in a pipeline.
  projects (5):
    - projects_create: Create a new project.
    - projects_delete: Delete a project. Requires owner or admin access.
    - projects_get: Get detailed information about a specific project by ID or URL-encoded path.
    - projects_list: List projects accessible to the authenticated user with filtering and sorting options.
    - projects_update: Update a project's settings.
  releases (2):
    - releases_create: Create a new release for a project.
    - releases_list: List releases for a project.
  users (1):
    - users_get_current: Get the profile of the currently authenticated user.

Top capabilities (ready to call):
  - branches_list: GET /projects/{id}/repository/branches
  - groups_list: GET /groups
  - issues_list: GET /projects/{id}/issues