GitLab REST API
gitlab.com
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.
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.
oauth2
free
1.0
https://gitlab.com/api/v4
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
GETList 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
GETList 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
GETList 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)
Create a new branch.
List branches in a repository.
groups (2)
Get details of a specific group.
List groups accessible to the authenticated user.
issues (5)
Create a new issue in a project.
Get a specific issue by its IID.
List issues for a project with filtering by state, labels, assignee, and more.
Create a comment (note) on an issue.
Update an issue's attributes, state, or assignments.
merge_requests (5)
Create a new merge request.
Get a specific merge request by its IID.
List merge requests for a project with optional filtering.
Accept and merge a merge request.
Update a merge request's title, description, assignee, labels, or state.
pipelines (6)
Cancel a running or pending pipeline.
Trigger a new pipeline for a branch or tag.
Get a specific pipeline by ID.
List jobs in a pipeline.
List CI/CD pipelines for a project with optional filtering.
Retry failed jobs in a pipeline.
projects (5)
Create a new project.
Delete a project. Requires owner or admin access.
Get detailed information about a specific project by ID or URL-encoded path.
List projects accessible to the authenticated user with filtering and sorting options.
Update a project's settings.
releases (2)
Create a new release for a project.
List releases for a project.
users (1)
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