REST API resources

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

The GitLab REST API gives you programmatic control over GitLab resources. Build integrations with your existing tools, automate repetitive tasks, and extract data for custom reports. Access and manipulate projects, groups, issues, and merge requests without using the web interface.

Use the REST API to:

  • Automate project creation and user management.
  • Trigger CI/CD pipelines from external systems.
  • Extract issue and merge request data for custom dashboards.
  • Integrate GitLab with third-party applications.
  • Implement custom workflows across multiple repositories.

The REST API resources are organized into:

Project resources

The following API resources are available in the project context:

ResourceAvailable endpoints
Access requests/projects/:id/access_requests (also available for groups)
Access tokens/projects/:id/access_tokens (also available for groups)
Agents/projects/:id/cluster_agents
Branches/projects/:id/repository/branches/, /projects/:id/repository/merged_branches
Commits/projects/:id/repository/commits, /projects/:id/statuses
Container registry/projects/:id/registry/repositories
Container repository protection rules/projects/:id/registry/protection/repository/rules
Custom attributes/projects/:id/custom_attributes (also available for groups and users)
Composer distributions/projects/:id/packages/composer (also available for groups)
Conan distributions/projects/:id/packages/conan (also available standalone)
Debian distributions/projects/:id/debian_distributions (also available for groups)
Debian packages/projects/:id/packages/debian (also available for groups)
Dependencies/projects/:id/dependencies
Deploy keys/projects/:id/deploy_keys (also available standalone)
Deploy tokens/projects/:id/deploy_tokens (also available for groups and standalone)
Deployments/projects/:id/deployments
Discussions (threaded comments)/projects/:id/issues/.../discussions, /projects/:id/snippets/.../discussions, /projects/:id/merge_requests/.../discussions, /projects/:id/commits/.../discussions (also available for groups)
Draft Notes (comments)/projects/:id/merge_requests/.../draft_notes
Emoji reactions/projects/:id/issues/.../award_emoji, /projects/:id/merge_requests/.../award_emoji, /projects/:id/snippets/.../award_emoji
Environments/projects/:id/environments
Error Tracking/projects/:id/error_tracking/settings
Events/projects/:id/events (also available for users and standalone)
External status checks/projects/:id/external_status_checks
Feature flag User Lists/projects/:id/feature_flags_user_lists
Feature flags/projects/:id/feature_flags
Freeze Periods/projects/:id/freeze_periods
Go Proxy/projects/:id/packages/go
Helm repository/projects/:id/packages/helm_repository
Integrations (Formerly “services”)/projects/:id/integrations
Invitations/projects/:id/invitations (also available for groups)
Issue boards/projects/:id/boards
Issue links/projects/:id/issues/.../links
Issues Statistics/projects/:id/issues_statistics (also available for groups and standalone)
Issues/projects/:id/issues (also available for groups and standalone)
Iterations/projects/:id/iterations (also available for groups)
Project CI/CD job token scope/projects/:id/job_token_scope
Jobs/projects/:id/jobs, /projects/:id/pipelines/.../jobs
Jobs Artifacts/projects/:id/jobs/:job_id/artifacts
Labels/projects/:id/labels
Maven repository/projects/:id/packages/maven (also available for groups and standalone)
Members/projects/:id/members (also available for groups)
Merge request approvals/projects/:id/approvals, /projects/:id/merge_requests/.../approvals
Merge requests/projects/:id/merge_requests (also available for groups and standalone)
Merge trains/projects/:id/merge_trains
Metadata/metadata
Model registry/projects/:id/packages/ml_models/
Notes (comments)/projects/:id/issues/.../notes, /projects/:id/snippets/.../notes, /projects/:id/merge_requests/.../notes (also available for groups)
Notification settings/projects/:id/notification_settings (also available for groups and standalone)
NPM repository/projects/:id/packages/npm
NuGet packages/projects/:id/packages/nuget (also available for groups)
Packages/projects/:id/packages
Pages domains/projects/:id/pages/domains (also available standalone)
Pages settings/projects/:id/pages
Pipeline schedules/projects/:id/pipeline_schedules
Pipeline triggers/projects/:id/triggers
Pipelines/projects/:id/pipelines
Project badges/projects/:id/badges
Project clusters/projects/:id/clusters
Project import/export/projects/:id/export, /projects/import, /projects/:id/import
Project milestones/projects/:id/milestones
Project snippets/projects/:id/snippets
Project templates/projects/:id/templates
Project vulnerabilities./projects/:id/vulnerabilities
Project wikis/projects/:id/wikis
Project-level variables/projects/:id/variables
Projects including setting Webhooks/projects, /projects/:id/hooks (also available for users)
Protected branches/projects/:id/protected_branches
Protected container registry/projects/:id/registry/protection/rules
Protected environments/projects/:id/protected_environments
Protected packages/projects/:id/packages/protection/rules
Protected tags/projects/:id/protected_tags
PyPI packages/projects/:id/packages/pypi (also available for groups)
Release links/projects/:id/releases/.../assets/links
Releases/projects/:id/releases
Remote mirrors/projects/:id/remote_mirrors
Repositories/projects/:id/repository
Repository files/projects/:id/repository/files
Repository submodules/projects/:id/repository/submodules
Resource label events/projects/:id/issues/.../resource_label_events, /projects/:id/merge_requests/.../resource_label_events (also available for groups)
Ruby gems/projects/:id/packages/rubygems
Runners/projects/:id/runners (also available standalone)
Search/projects/:id/search (also available for groups and standalone)
Tags/projects/:id/repository/tags
Terraform modules/projects/:id/packages/terraform/modules (also available standalone)
Validate .gitlab-ci.yml file/projects/:id/ci/lint
Vulnerabilities/vulnerabilities/:id
Vulnerability exports/projects/:id/vulnerability_exports
Vulnerability findings/projects/:id/vulnerability_findings

Group resources

The following API resources are available in the group context:

ResourceAvailable endpoints
Access requests/groups/:id/access_requests/ (also available for projects)
Access tokens/groups/:id/access_tokens (also available for projects)
Custom attributes/groups/:id/custom_attributes (also available for projects and users)
Debian distributions/groups/:id/-/packages/debian (also available for projects)
Deploy tokens/groups/:id/deploy_tokens (also available for projects and standalone)
Discussions (comments and threads)/groups/:id/epics/.../discussions (also available for projects)
Epic issues/groups/:id/epics/.../issues
Epic links/groups/:id/epics/.../epics
Epics/groups/:id/epics
Groups/groups, /groups/.../subgroups
Group badges/groups/:id/badges
Group issue boards/groups/:id/boards
Group iterations/groups/:id/iterations (also available for projects)
Group labels/groups/:id/labels
Group-level variables/groups/:id/variables
Group milestones/groups/:id/milestones
Group releases/groups/:id/releases
Group SSH certificates/groups/:id/ssh_certificates
Group wikis/groups/:id/wikis
Invitations/groups/:id/invitations (also available for projects)
Issues/groups/:id/issues (also available for projects and standalone)
Issues Statistics/groups/:id/issues_statistics (also available for projects and standalone)
Linked epics/groups/:id/epics/.../related_epics
Member Roles/groups/:id/member_roles
Members/groups/:id/members (also available for projects)
Merge requests/groups/:id/merge_requests (also available for projects and standalone)
Notes (comments)/groups/:id/epics/.../notes (also available for projects)
Notification settings/groups/:id/notification_settings (also available for projects and standalone)
Resource label events/groups/:id/epics/.../resource_label_events (also available for projects)
Search/groups/:id/search (also available for projects and standalone)

Standalone resources

The following API resources are available outside of project and group contexts (including /users):

ResourceAvailable endpoints
Appearance/application/appearance
Applications/applications
Audit events/audit_events
Avatar/avatar
Broadcast messages/broadcast_messages
Code snippets/snippets
Code Suggestions/code_suggestions
Custom attributes/users/:id/custom_attributes (also available for groups and projects)
Dependency list exports/pipelines/:id/dependency_list_exports, /projects/:id/dependency_list_exports, /groups/:id/dependency_list_exports, /security/dependency_list_exports/:id, /security/dependency_list_exports/:id/download
Deploy keys/deploy_keys (also available for projects)
Deploy tokens/deploy_tokens (also available for projects and groups)
Events/events, /users/:id/events (also available for projects)
Feature flags/features
Geo Nodes/geo_nodes
Group Activity Analytics/analytics/group_activity/{issues_count}
Group repository storage moves/group_repository_storage_moves
Import repository from GitHub/import/github
Import repository from Bitbucket Server/import/bitbucket_server
Instance clusters/admin/clusters
Instance-level CI/CD variables/admin/ci/variables
Issues Statistics/issues_statistics (also available for groups and projects)
Issues/issues (also available for groups and projects)
Jobs/job
Keys/keys
License/license
Markdown/markdown
Merge requests/merge_requests (also available for groups and projects)
Namespaces/namespaces
Notification settings/notification_settings (also available for groups and projects)
Pages domains/pages/domains (also available for projects)
Personal access tokens/personal_access_tokens
Plan limits/application/plan_limits
Project repository storage moves/project_repository_storage_moves
Projects/users/:id/projects (also available for projects)
Runners/runners (also available for projects)
Search/search (also available for groups and projects)
Service Data/usage_data (For GitLab instance Administrator users only)
Settings/application/settings
Sidekiq metrics/sidekiq
Sidekiq queues administration/admin/sidekiq/queues/:queue_name
Snippet repository storage moves/snippet_repository_storage_moves
Statistics/application/statistics
Suggestions/suggestions
System hooks/hooks
To-dos/todos
Token information/admin/token
Topics/topics
Users/users
Web commits/web_commits/public_key
Version/version

Template resources

Endpoints are available for: