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
Alert management alerts/projects/:id/alert_management_alerts/:alert_iid/metric_images
Attestations/:id/attestations/:subject_digest
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
Container registry protection tag rules/projects/:id/registry/protection/tag/rules
Custom attributes/projects/:id/custom_attributes (also available for groups and users)
Composer distributions/projects/:id/packages/composer (also available for groups)
Conan v1 distributions/projects/:id/packages/conan (also available standalone)
Conan v2 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
Dependency Firewall/projects/:id/dependency_firewall
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
DevOps Research and Assessment (DORA) metrics/projects/:id/dora/metrics (also available for groups)
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
Google Cloud integration/projects/:id/google_cloud/setup/
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
Markdown uploads/projects/:id/uploads
Maven repository/projects/:id/packages/maven (also available for groups and standalone)
Members/projects/:id/members (also available for groups)
Merge request approval settings/projects/:id/merge_request_approval_setting (also available for groups)
Merge request approvals/projects/:id/approvals, /projects/:id/merge_requests/.../approvals
Merge request context commits/projects/:id/merge_requests/:merge_request_iid/context_commits
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 forks/projects/:id/fork, /projects/:id/forks
Project import/export/projects/:id/export, /projects/import, /projects/:id/import
Project milestones/projects/:id/milestones
Project push rules/projects/:id/push_rule
Project relations export/projects/:id/export_relations
Project security settings/projects/:id/security_settings
Project snippets/projects/:id/snippets
Project starring/projects/:id/star, /projects/:id/unstar, /projects/:id/starrers
Project statistics/projects/:id/statistics
Project templates/projects/:id/templates
Project vulnerabilities./projects/:id/vulnerabilities
Project webhooks/projects/:id/hooks
Project wikis/projects/:id/wikis
Project-level Secure Files/projects/:project_id/secure_files
Project-level variables/projects/:id/variables
Projects/projects
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
Pull mirroring/projects/:id/mirror/pull
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 group/projects/:id/resource_groups
Resource iteration events/projects/:id/issues/.../resource_iteration_events
Resource label events/projects/:id/issues/.../resource_label_events, /projects/:id/merge_requests/.../resource_label_events (also available for groups)
Resource milestone events/projects/:id/issues/.../resource_milestone_events, /projects/:id/merge_requests/.../resource_milestone_events
Resource state events/projects/:id/issues/.../resource_state_events, /projects/:id/merge_requests/.../resource_state_events (also available for groups)
Resource weight events/projects/:id/issues/.../resource_weight_events
Ruby gems/projects/:id/packages/rubygems
Runners/projects/:id/runners (also available standalone)
Search/projects/:id/search (also available for groups and standalone)
Secrets Manager/projects/:id/secrets_manager/access_token (also available for groups)
Service accounts/projects/:id/service_accounts (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 archive export/security/projects/:id/vulnerability_archive_exports
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)
Container virtual registry/groups/:id/-/virtual_registries/container/registries
Custom attributes/groups/:id/custom_attributes (also available for projects and users)
Debian distributions/groups/:id/-/packages/debian (also available for projects)
Dependency Proxy/groups/:id/dependency_proxy/cache
Deploy tokens/groups/:id/deploy_tokens (also available for projects and standalone)
DevOps Research and Assessment (DORA) metrics/groups/:id/dora/metrics (also available for projects)
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 enterprise users/groups/:id/enterprise_users
Group epic boards/groups/:id/epic_boards
Group import and export/groups/:id/export, /groups/import
Group integrations/groups/:id/integrations
Group issue boards/groups/:id/boards
Group iterations/groups/:id/iterations (also available for projects)
Group labels/groups/:id/labels
Group Markdown uploads/groups/:id/uploads
Group-level protected branches/groups/:id/protected_branches
Group-level protected environments/groups/:id/protected_environments
Group-level variables/groups/:id/variables
Group milestones/groups/:id/milestones
Group placeholder reassignments/groups/:id/placeholder_reassignments
Group push rules/groups/:id/push_rule
Group relations export/groups/:id/export_relations
Group releases/groups/:id/releases
Group security settings/groups/:id/security_settings
Group SSH certificates/groups/:id/ssh_certificates
Group webhooks/groups/:id/hooks
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)
LDAP group links/groups/:id/ldap_group_links
Linked epics/groups/:id/epics/.../related_epics
Maven virtual registry/groups/:id/-/virtual_registries/packages/maven/registries
Member Roles/groups/:id/member_roles
Members/groups/:id/members (also available for projects)
Merge request approval settings/groups/:id/merge_request_approval_setting (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)
Resource state events/groups/:id/epics/:epic_id/resource_state_events (also available for projects)
SAML/groups/:id/saml/identities, /groups/:id/saml_group_links
SCIM/groups/:id/scim/identities
Search/groups/:id/search (also available for projects and standalone)
Secrets Manager/groups/:id/secrets_manager/access_token (also available for projects)
Service accounts/groups/:id/service_accounts (also available for projects and standalone)
Virtual registries cleanup policies/groups/:id/-/virtual_registries/cleanup/policy

Standalone resources

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

ResourceAvailable endpoints
AI Catalog admin/admin/ai_catalog/seed_external_agents
Appearance/application/appearance
Applications/applications
Audit events/audit_events
Avatar/avatar
Batched background migrations/admin/batched_background_migrations
Broadcast messages/broadcast_messages
Cluster discovery (certificate-based) (deprecated)/discover-cert-based-clusters
Code snippets/snippets
Code Suggestions/code_suggestions
Compliance and Policy settings/admin/security/compliance_policy_settings
Custom attributes/users/:id/custom_attributes (also available for groups and projects)
Data management/admin/data_management/:model_name
Database migrations/admin/migrations/:version/mark
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)
Experiments (internal)/experiments
Feature flags/features
Geo Nodes/geo_nodes
Geo sites/geo_sites
GitLab Duo Agent Platform flows/ai/duo_workflows
GitLab Duo Chat completions (internal)/chat/completions
GLQL/glql, /glql/schema
Group Activity Analytics/analytics/group_activity/{issues_count}
Group and project migration by direct transfer/bulk_imports
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
Instance SSH certificates/admin/ssh_certificates
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)
Mobile push subscriptions/user/push_subscriptions
Namespaces/namespaces
Notification settings/notification_settings (also available for groups and projects)
Orbit/orbit/query
Organizations/organizations
Pages domains/pages/domains (also available for projects)
Personal access tokens/personal_access_tokens
Plan limits/application/plan_limits
Policy store/security/policy_store, /organizations/:id/security/policy_store
Project Aliases/project_aliases
Project repository storage moves/project_repository_storage_moves
Projects/users/:id/projects (also available for projects)
Runner controller tokens/runner_controllers/:id/tokens
Runner controllers/runner_controllers
Runners/runners (also available for projects)
Search/search (also available for groups and projects)
Search admin/admin/search/migrations
Service accounts/service_accounts (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
User applications/user/applications
User email addresses/user/emails
User follow and unfollow/users/:id/follow, /users/:id/unfollow
User moderation/users/:id/approve, /users/:id/reject
User SSH and GPG keys/user/keys
User tokens/users/:user_id/personal_access_tokens
Users/users
Web commits/web_commits/public_key

Template resources

Endpoints are available for: