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:
| Resource | Available 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:
| Resource | Available 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):
| Resource | Available 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: