GitLab website screenshot

GitLab

GitLab Inc. is an open-core company that develops GitLab, a DevOps software platform for building, securing, and managing applications. Created by Ukrainian developer Dmytro Zaporozhets and Dutch developer Sytse Sijbrandij, GitLab became the first partly-Ukrainian unicorn in 2018. Known for promoting remote work, it is one of the largest all-remote companies globally. GitLab has approximately 30 million registered users, including 1 million active licensed users.

GitLab publishes 189 API contracts indexed on the APIs.io network, including Orbit gRPC API, Applications API, Authorization API, and 186 more. Tagged areas include Code, Developer Tools, Platform, Software Development, and Version Control.

The GitLab catalog on APIs.io includes 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 4 Spectral governance rulesets.

GitLab’s developer surface includes authentication, changelog, CLI, developer portal, documentation, engineering blog, pricing, and 97 more developer resources.

79.6/100 exemplar ▬ flat Agent 56/100 agent native Front door AI 4/6 moderate Heartbeat 99/100 alive saas Full breakdown ↓
scored 2026-11-06 · rubric v0.27.0 · Show this score on your site →
AccessFreemiumSelf serve⚡ Free to try
14 published contracts 1 MCP Servers 7 Agent Skills 16 Features 8 Use Cases
CodeDeveloper ToolsPlatformSoftware DevelopmentVersion ControlGitLab

What this lets a business do 2

Business capabilities this provider's published APIs can perform, derived from its own contracts. Browse all capabilities →

Developer Platform & API Ecosystem Management
BC-4270
ApplicationsProject WebhooksWebhook ConfigurationWebhook Events
POST /projects/{id}/hooks GET /projects/{id}/hooks/{hook_id}/events
Software Product Engineering Management
BC-4200
Projects
GET /api/v4/projects GET /api/v4/projects/{id}

What people ask GitLab 14

The questions people put to an LLM, and the jobs they hand an agent, that GitLab's APIs answer — each one linked to the operation that does it. Generated by API Evangelist

GitLab Admin API Get a batched background migration “How do I check the progress of one batched background migration on my instance?” List batched background migrations “Which batched background migrations are running or queued on my self-managed GitLab?” Resume a paused background migration “How do I restart a batched background migration I paused?” Pause a batched background migration “How do I temporarily halt a batched background migration that is loading the database?”
GitLab Bulk Imports API Get one entity from a group migration “How do I check the status of a single group or project inside a migration?” List entities in one migration “Which groups and projects are part of a specific migration?” Get a group migration “How do I check whether a GitLab-to-GitLab migration has finished?” List entities across all migrations “Can I see every group and project I've migrated, across all my imports?”
GitLab Project Webhooks API List a project's webhooks “Which webhooks are configured on my GitLab project?” Add a webhook to a project “How do I send a notification to my server whenever someone pushes to a project?” Get a project webhook's configuration “How do I check which events a specific webhook is subscribed to?” Update a project webhook “How do I change the delivery URL of an existing project webhook?”
GitLab Broadcast Messages API List all broadcast messages “What announcement banners are configured on the instance?” Create a broadcast message “How do I post a maintenance banner to all users of my GitLab instance?” Get a broadcast message “How do I view one broadcast banner and its schedule?” Update a broadcast message “How do I change the wording or end date of an existing announcement banner?”
GitLab Webhook Configuration API Set a custom header on a webhook “How do I add an authorization header to every delivery from a project webhook?” Remove a custom header from a webhook “How do I stop a webhook from sending one of its custom headers?” Set a URL variable on a webhook “How do I keep a secret out of a webhook URL by using a URL variable?” Remove a URL variable from a webhook “How do I delete a URL variable I no longer substitute into a webhook URL?”
GitLab Application API Get the instance's appearance settings “What title, logo and header message is my GitLab instance currently using?” Change the instance's branding and appearance “How do I set a custom logo and sign-in title for my self-managed GitLab?” Get a plan's limits “What limits apply to a plan on my GitLab instance, like max pipeline size?” Change a plan's limits “How do I raise the maximum npm package size for a plan?”
GitLab Webhook Events API List recent deliveries of a project webhook “How do I see what a webhook sent and what my server answered over the last week?” Resend a past webhook delivery “How do I retry a webhook delivery that failed?” Send a test payload to a webhook “How do I check my webhook endpoint is reachable before real events arrive?”
GitLab Tokens API Exchange a code or refresh token for an access token “How do I turn an OAuth authorization code into an access token?” Revoke an OAuth access or refresh token “How do I invalidate an OAuth token when a user logs out?” Inspect the current OAuth token “What scopes does my current OAuth token have?”
GitLab Applications API Register a new OAuth application “How do I register an instance-wide OAuth app so I get a client ID and secret?” List registered OAuth applications “Which OAuth applications are registered on my GitLab instance?” Delete an OAuth application “How do I remove an OAuth application registered on the instance?”
GitLab Authorization API Start the OAuth authorization code flow “How do I send a user to GitLab to approve my app's access?” Start a device authorization grant “How do I sign in a CLI or TV app that can't open a browser?”
GitLab Avatar API Look up a user's avatar URL by email “How do I get the profile picture URL for someone from their email address?”
GitLab Metadata API Get metadata about the GitLab instance “What version and revision is this GitLab instance running?”

Showing 12 of 14 APIs with phrasing — see every API.

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-11-06 · rubric v0.27.0
Regulatory Posture applies to this provider. Its tags matched the Horizontal (data, software, accessibility, platform) regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 75 points between them, because the conditional facet above carries the other 25. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 75% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site. Kin Score badge preview for GitLab It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/gitlab/"><img src="https://apis.io/badge/gitlab/card.svg" alt="GitLab on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
  • A2A Agent Card +8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
  • Registration Without a Human +6 pts — a `registration_endpoint` in the served RFC 8414 / OIDC discovery document
  • Documented Reversibility +6 pts — a reversal operation in the contract, graded up when a window is documented too
  • Agentic Commerce Well-Known Document +5 pts — a parsing /.well-known/ucp.json or acp.json declaring a version and at least one service, OR (0.27) a live x402 payment challenge from _data/x402-adoption.json — `self` when its endpoints are on the provider's own domain, `platform` when they are on a vendor's
  • Well-Known Catalog +4 pts — common[].type includes WellKnown, APICatalog, or api-catalog
  • Distinct Operations +3 pts — share of operations whose summary is unique within its document after light normalisation; na without two summarised operations
1 more unmet check in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from the provider profile at artifacts.apis.io/gitlab/apis.yml: open an issue on github.com/api-evangelist/gitlab to ask a question or point us at an artifact you publish. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

Markets this provider is in provisional

The Kin Score Market layer reads a provider inside its market: its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted: not part of the Kin Score or agent readiness.

Registered MCP server and declares compatibility are report only — not weighted. Undeclared means we found nothing we can read, so there is no number: we never infer integrations.

Standards implemented 4

Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.

measured — observed by APIs.io (verified)
measured — observed by APIs.io (verified)
measured — observed by APIs.io (published)
measured — observed by APIs.io (declared)

APIs 189

Individual APIs this provider publishes, each with its own machine-readable definition.

GitLab Orbit gRPC API

GitLab Orbit knowledge graph gRPC service (package orbit.v1, OrbitService) that serves the Orbit dashboard, MCP agents and the glab CLI; published in GitLab's own gitlabhq/orbit...

GitLab GraphQL API

GraphQL is a query language for APIs. You can use it to request the exact data you need, and therefore limit the number of requests you need. GraphQL data is arranged in types, ...

GitLab Applications API

The Applications API from GitLab — 2 operation(s) for applications.

GitLab Authorization API

Endpoints for initiating OAuth authorization flows.

GitLab Broadcast Messages API

The Broadcast Messages API from GitLab — 2 operation(s) for broadcast messages.

GitLab Groups API

The Groups API from GitLab — 6 operation(s) for groups.

GitLab Metadata API

The Metadata API from GitLab — 1 operation(s) for metadata.

GitLab Project Webhooks API

Manage webhooks for a specific project.

GitLab Projects API

The Projects API from GitLab — 17 operation(s) for projects.

GitLab Tokens API

Endpoints for exchanging, refreshing, and revoking OAuth tokens.

GitLab User Info API

Endpoints for retrieving authenticated user information via OAuth.

GitLab Webhook Configuration API

Manage custom headers and URL variables for webhooks.

GitLab Webhook Events API

Access webhook delivery history and resend events.

GitLab Access requests API

Use this API to interact with access requests for groups and projects.

GitLab Access tokens API

Use this API to interact with access tokens including: - [Personal access tokens](https://docs.gitlab.com/user/profile/personal_access_tokens/). - [Group access tokens](https://...

GitLab Active context API

Use this API to administer the ActiveContext indexing infrastructure, including its connections, collection options, the namespaces enabled for code indexing, and the dead queue...

GitLab Add on purchases API

Use this API to retrieve, create, and update the [subscription add-on](https://docs.gitlab.com/subscriptions/subscription-add-ons/) purchases of a namespace.

GitLab Advanced search rollout API

Use this API to control what percentage of namespaces are indexed for [advanced search](https://docs.gitlab.com/integration/advanced_search/elasticsearch/), rolling indexing for...

GitLab Agents API

Use this API to retrieve the [GitLab agents for Kubernetes](https://docs.gitlab.com/user/clusters/agent/) that a CI/CD job is authorized to access.

GitLab Ai agent audit events API

Operations related to ai agent audit events.

GitLab Ai agent identities API

Use this API to register an external agent identity for a project, so that agent sessions can be attributed to a user and a machine. Registration returns the existing record if ...

GitLab Ai agent sessions API

Operations related to ai agent sessions.

GitLab Alert management API

Use this API to interact with metric images for [alerts](https://docs.gitlab.com/operations/incident_management/alerts/). Additional endpoints are available with the [GraphQL AP...

GitLab Analytics API

Use this API to retrieve analytics about a group's activity, a project's deployment frequency, and product analytics data. For more information about the group metrics, see [gro...

GitLab Approval rules API

Use this API to manage the [merge request approval rules](https://docs.gitlab.com/user/project/merge_requests/approvals/rules/) defined for a project or a group, where the rules...

GitLab Attestations API

Use this API to retrieve and download [provenance attestations](https://docs.gitlab.com/ci/pipeline_security/slsa/level_3/provenance_v1/) for a project. > [!note] > The availabi...

GitLab Audit events API

Use this API to list and retrieve the [audit events](https://docs.gitlab.com/user/compliance/audit_events/) recorded for an instance or a group.

GitLab Authn API

Operations related to authn.

GitLab Avatars API

Use this API to retrieve and upload avatars for [users](https://docs.gitlab.com/user/profile/), [groups](https://docs.gitlab.com/user/group/), and [projects](https://docs.gitlab...

GitLab Award emoji API

Use this API to manage [emoji reactions](https://docs.gitlab.com/user/emoji_reactions/). GitLab objects that accept emoji reactions are called awardables. You can react with emo...

GitLab Badges API

Use this API to manage badges for [projects](https://docs.gitlab.com/user/project/badges/) and [groups](https://docs.gitlab.com/user/project/badges/#group-badges). ## Placeholde...

GitLab Batched background migrations API

Use this API to list, retrieve, pause, and resume the [batched background migrations](https://docs.gitlab.com/update/background_migrations/) running on an instance. These endpoi...

GitLab Batched background operations API

Use this API to list, retrieve, restart, and stop the batched background operations running on an instance. These endpoints require administrator access to the instance.

GitLab Boards API

Use this API to manage [issue boards](https://docs.gitlab.com/user/project/issue_board/) and their lists, for both projects and [groups](https://docs.gitlab.com/user/project/iss...

GitLab Branches API

Use this API to manage [Git branches](https://docs.gitlab.com/user/project/repository/branches/). To change the branch protections configured for a project, use the [protected b...

GitLab CI catalog API

Use this API to publish a release of a component project to the [CI/CD catalog](https://docs.gitlab.com/ci/components/). This endpoint is intended for CLI tooling and must be au...

GitLab CI jobs API

Use this API to interact with [CI/CD jobs](https://docs.gitlab.com/ci/jobs/).

GitLab CI lint API

Use this API to [validate a GitLab CI/CD configuration](https://docs.gitlab.com/ci/yaml/lint/). These endpoints take JSON-encoded YAML content. To preserve the formatting of you...

GitLab CI minutes API

> [!warning] > These endpoints are [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/515371) and were used > only by the GitLab subscription portal. Use this API to rec...

GitLab CI resource groups API

Use this API to interact with [resource groups](https://docs.gitlab.com/ci/resource_groups/).

GitLab CI runners API

> [!warning] > Registering a runner with a registration token is > [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/380872) and disabled by default in > GitLab 17.0 an...

GitLab CI triggers API

Use this API to [trigger pipelines](https://docs.gitlab.com/ci/triggers/).

GitLab CI variables API

Use this API to manage CI/CD variables for a [project](https://docs.gitlab.com/ci/variables/#for-a-project), a [group](https://docs.gitlab.com/ci/variables/#for-a-group), or an ...

GitLab Cluster agents API

Use this API to interact with the [GitLab agent for Kubernetes](https://docs.gitlab.com/user/clusters/agent/).

GitLab Clusters API

> [!warning] > These certificate-based cluster endpoints are [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/work_items/8). Use this API to manage and discover the...

GitLab Code review analytics API

Use this API to retrieve [code review analytics](https://docs.gitlab.com/user/analytics/code_review_analytics/) for a project.

GitLab Code search API

Use this API to administer the [Zoekt](https://docs.gitlab.com/integration/zoekt/) nodes that power [exact code search](https://docs.gitlab.com/user/search/exact_code_search/), ...

GitLab Code Suggestions API

Operations related to Code Suggestions.

GitLab Commit statuses API

Use this API to list the statuses recorded against a [commit](https://docs.gitlab.com/user/project/repository/commits/), and to add or update the status that an external [CI/CD ...

GitLab Commits API

Use this API to manage [Git commits](https://docs.gitlab.com/user/project/repository/commits/).

GitLab Compliance policy settings API

Use this API to manage the security policy settings for an instance, and to set the status of compliance controls that are evaluated by an external service. Managing security po...

GitLab Container registry API

Use this API to manage the [GitLab container registry](https://docs.gitlab.com/user/packages/container_registry/): list the registry repositories in a project or a group, retrie...

GitLab Custom attributes API

Use this API to manage the custom attributes set on users, groups, and projects. These endpoints require administrator access to the instance.

GitLab Data management API

> [!note] > These endpoints are an [experiment](https://docs.gitlab.com/policy/development_stages_support/). Use this API to inspect and checksum the records that an instance st...

GitLab Database dictionary API

Use this API to list the tables in a GitLab database and retrieve the [database dictionary](https://docs.gitlab.com/development/database/database_dictionary/) entry for a single...

GitLab Dependency management API

Use this API to retrieve a project's dependencies and to export [dependency lists](https://docs.gitlab.com/user/application_security/dependency_list/) for a project, group, or p...

GitLab Dependency proxy API

Use this API to purge the cache of a group's [dependency proxy](https://docs.gitlab.com/user/packages/dependency_proxy/).

GitLab Deploy resources API

Use this API to manage [deploy keys](https://docs.gitlab.com/user/project/deploy_keys/), [deploy tokens](https://docs.gitlab.com/user/project/deploy_tokens/), and [code deployme...

GitLab Discussions API

Use this API to manage [discussions](https://docs.gitlab.com/user/discussions/). This includes [comments, threads](https://docs.gitlab.com/user/discussions/), and system notes a...

GitLab DORA metrics API

Use this API to retrieve [DORA metrics](https://docs.gitlab.com/user/analytics/dora_metrics/) for groups and projects. Additional metrics are available through the [GraphQL API]...

GitLab Draft notes API

Use this API to manage draft notes. These notes are pending, unpublished comments on merge requests. Draft notes can start a discussion, or continue an existing discussion as a ...

GitLab Enterprise users API

Use this API to manage the [enterprise users](https://docs.gitlab.com/user/enterprise_user/) of a top-level group, including disabling two-factor authentication for them. These ...

GitLab Environments API

Use this API to interact with [GitLab environments](https://docs.gitlab.com/ci/environments/).

GitLab Epics API

> [!warning] > The Epics REST API was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/460668) in GitLab 17.0 > and is planned for removal in v5 of the API. From GitLa...

GitLab Error tracking API

Use this API to manage [error tracking](https://docs.gitlab.com/operations/error_tracking/) settings and client keys for a project. These endpoints require the Maintainer or Own...

GitLab Events API

Use this API to review event activity for a user, a project, or an instance. Events cover a wide range of actions, such as joining a project, commenting on an issue, pushing cha...

GitLab Experiments API

Use this API to retrieve the A/B experiments running on an instance. This API is for internal use only, requires you to be a [GitLab team member](https://gitlab.com/groups/gitla...

GitLab External status checks API

Use this API to manage [external status checks](https://docs.gitlab.com/user/project/merge_requests/status_checks/).

GitLab Feature flags API

Use this API to manage a project's [feature flags](https://docs.gitlab.com/operations/feature_flags/) and the [user lists](https://docs.gitlab.com/operations/feature_flags/#user...

GitLab Features API

Use this API to manage the Flipper-based feature flags used in the development of GitLab itself. These endpoints support only boolean and percentage-of-time gate values, and req...

GitLab Files API

Use this API to manage [repository files](https://docs.gitlab.com/user/project/repository/). You can also [configure rate limits](https://docs.gitlab.com/administration/settings...

GitLab Freeze periods API

Use this API to interact with deployment [freeze periods](https://docs.gitlab.com/user/project/releases/#prevent-unintentional-releases-by-setting-a-deploy-freeze).

GitLab Geo API

Use this API to manage [Geo sites](https://docs.gitlab.com/administration/geo/). All of these endpoints require administrator access. > [!warning] > The Geo Nodes endpoints are ...

GitLab GitLab Duo API

Use this API to generate responses for [GitLab Duo Chat](https://docs.gitlab.com/user/gitlab_duo_chat/) and other GitLab Duo features. On GitLab.com, these endpoints are for int...

GitLab GitLab Duo workflows API

Use this API to create and manage [flows](https://docs.gitlab.com/user/duo_agent_platform/flows/) in the [GitLab Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platf...

GitLab GitLab Pages API

Use this API to [administer](https://docs.gitlab.com/administration/pages/) and [use](https://docs.gitlab.com/user/project/pages/) GitLab Pages, including managing [custom domai...

GitLab GitLab subscriptions API

Use this API to create and update the [subscription](https://docs.gitlab.com/subscriptions/) attached to a namespace.

GitLab GLQL API

Use this API to execute [GitLab Query Language (GLQL)](https://docs.gitlab.com/user/glql/) queries programmatically. GLQL provides a simplified query language to search and filt...

GitLab Group credentials inventory API

Use this API to manage the credentials that members of a top-level group hold, including their personal access tokens, resource access tokens, and SSH keys. You can list these c...

GitLab Group import and export API

Use this API to [migrate a group structure](https://docs.gitlab.com/user/group/import/) by exporting and importing a file. When you use it with the [project import and export AP...

GitLab Hooks API

Use this API to manage the hooks that GitLab uses to notify external services about events: - [Project webhooks](https://docs.gitlab.com/user/project/integrations/webhooks/) are...

GitLab Imports API

Use this API to migrate groups and projects by using [direct transfer](https://docs.gitlab.com/user/group/import/direct_transfer_migrations/), and to [import repositories from e...

GitLab Instance API

Use this API to manage an instance's [appearance](https://docs.gitlab.com/administration/appearance/) and [application settings](https://docs.gitlab.com/api/settings/#available-...

GitLab Integrations API

Use this API to manage [integrations](https://docs.gitlab.com/user/project/integrations/) for a project, or for a group and its subgroups. Managing integrations requires the Mai...

GitLab Internal API

The Internal API from GitLab — 1 operation(s) for internal.

GitLab Internal operations API

Operations related to internal operations.

GitLab Invitations API

Use this API to manage invitations and add users to a [group](https://docs.gitlab.com/user/group/#add-users-to-a-group) or [project](https://docs.gitlab.com/user/project/members/).

GitLab Issues API

Use this API to manage [issues](https://docs.gitlab.com/user/project/issues/), their [links to related issues](https://docs.gitlab.com/user/project/issues/related_issues/), and ...

GitLab Iterations API

Use this API to retrieve [iterations](https://docs.gitlab.com/user/group/iterations/) for a group or a project. Projects no longer have their own iterations, but you can use the...

GitLab Jira Connect subscriptions API

Use this API to subscribe a namespace to an installation of the [GitLab for Jira Cloud app](https://docs.gitlab.com/integration/jira/connect-app/).

GitLab Jira forge installation API

Use this API to configure a GitLab for Jira (Forge) installation, by setting the GitLab instance URL it points to and registering the system token it uses to synchronize develop...

GitLab Jira forge subscriptions API

Use this API to list, create, and delete the namespace subscriptions of a GitLab for Jira (Forge) installation. For more information, see the [Jira integrations](https://docs.gi...

GitLab Jira forge user delegation API

Operations related to jira forge user delegation.

GitLab Job artifacts API

Use this API to download, keep, and delete [job artifacts](https://docs.gitlab.com/ci/jobs/job_artifacts/).

GitLab Jobs API

Use this API to run CI/CD jobs on a [runner](https://docs.gitlab.com/ci/runners/): request the next job, update its state, append to its log, and transfer its artifacts. GitLab ...

GitLab Keys API

Use this API to retrieve information about [SSH keys](https://docs.gitlab.com/user/ssh/), manage a user's SSH and [GPG keys](https://docs.gitlab.com/user/project/repository/sign...

GitLab Knowledge graph API

Use this API to list the namespaces enabled for the knowledge graph, and to enable or disable an individual namespace. These endpoints require administrator access to the instance.

GitLab Labels API

Use this API to manage [labels](https://docs.gitlab.com/user/project/labels/) for both projects and groups. For the difference between the two, see [types of labels](https://doc...

GitLab LDAP API

Use this API to search the LDAP groups available to an instance, and to [manage group memberships with LDAP](https://docs.gitlab.com/user/group/access_and_permissions/#manage-gr...

GitLab Licenses API

Use this API to add, retrieve, and delete the license that [activates GitLab Enterprise Edition](https://docs.gitlab.com/administration/license_file/). These endpoints require a...

GitLab Markdown API

Use this API to render [Markdown](https://docs.gitlab.com/user/markdown/) content as HTML. All requests to this API must be [authenticated](https://docs.gitlab.com/api/rest/auth...

GitLab MCP API

Use this API to connect Model Context Protocol (MCP) clients to the GitLab MCP server.

GitLab Member roles API

Use this API to interact with member roles for your GitLab.com groups or entire GitLab Self-Managed instance.

GitLab Members API

Use this API to manage the [members](https://docs.gitlab.com/user/project/members/) of a group or a project, including inherited memberships, membership approvals, and the billa...

GitLab Merge request approvals API

Use this API to manage [merge request approvals](https://docs.gitlab.com/user/project/merge_requests/approvals/) and the group and project [approval settings](https://docs.gitla...

GitLab Merge requests API

Use this API to manage [merge requests](https://docs.gitlab.com/user/project/merge_requests/) in a project, and to list the merge requests across a group or an entire instance. ...

GitLab Merge trains API

Use this API to retrieve the [merge trains](https://docs.gitlab.com/ci/pipelines/merge_trains/) of a project. These endpoints require the Developer, Maintainer, or Owner role, a...

GitLab Metric images API

Use this API to upload, list, update, and delete the metric images attached to an issue, such as the charts attached to an [incident](https://docs.gitlab.com/operations/incident...

GitLab Metrics API

Use this API to retrieve the definitions of the metrics that GitLab collects for [Service Ping](https://docs.gitlab.com/development/internal_analytics/service_ping/).

GitLab Migrations API

Use this API to mark GitLab database migrations as successful, so that a deployment can proceed without re-running them. These endpoints are available for GitLab Self-Managed an...

GitLab Milestones API

Use this API to manage [milestones](https://docs.gitlab.com/user/project/milestones/) for both projects and groups.

GitLab ML Model Registry API

Use this API to upload and download the files attached to a version of a machine learning model in the [model registry](https://docs.gitlab.com/user/project/ml/model_registry/)....

GitLab ML Ops API

Use this API to track machine learning experiments, runs, and metrics, and to manage the [model registry](https://docs.gitlab.com/user/project/ml/model_registry/). These endpoin...

GitLab Mobile push subscriptions API

Operations related to mobile push subscriptions.

GitLab Namespace projects API

Operations related to namespace projects.

GitLab Namespaces API

Use this API to interact with namespaces, a special resource category used to organize users and groups. For more information, see [namespaces](https://docs.gitlab.com/user/name...

GitLab Notes API

Use this API to manage the comments and system records attached to GitLab content. You can: - Create and modify comments on issues, merge requests, epics, snippets, commits, and...

GitLab Notification settings API

Use this API to retrieve and update [notification settings](https://docs.gitlab.com/user/profile/notifications/) globally for your account, or for an individual group or project...

GitLab OAuth applications API

Use this API to retrieve the server configuration that the workspaces agent requires. This endpoint is internal and used by GitLab components.

GitLab Offline transfers API

Use this API to start and track offline transfer exports and imports, which migrate data between GitLab instances that cannot reach each other over a network.

GitLab Orbit API

Use this API to query [GitLab Orbit](https://docs.gitlab.com/orbit/), which indexes a group's software development lifecycle. > [!note] > The availability of these endpoints is ...

GitLab Organizations API

Use this API to interact with GitLab organizations. For more information, see [organizations](https://docs.gitlab.com/user/organization/).

GitLab Packages API

Use this API to manage the [packages](https://docs.gitlab.com/user/packages/package_registry/) stored in a project or a group.

GitLab Packages: Cargo API

Use this API to interact with the Cargo package registry, including its sparse index, registry configuration, and crate downloads. Generally these endpoints are used by Cargo it...

GitLab Packages: Composer API

Use this API to interact with the [Composer package manager client](https://docs.gitlab.com/user/packages/composer_repository/). > [!warning] > This API is used by the [Composer...

GitLab Packages: Conan API

> [!warning] > The Conan registry is not FIPS compliant and is disabled when FIPS mode is enabled. These > endpoints all return `404 Not Found`. Use this API to interact with th...

GitLab Packages: Debian API

> [!warning] > These endpoints are under development and are not ready for production use due to limited > functionality. The package endpoints are used by Debian package client...

GitLab Packages: Helm API

Use this API to interact with [Helm package clients](https://docs.gitlab.com/user/packages/helm_repository/). > [!warning] > This API is used by the Helm-related package clients...

GitLab Packages: NPM API

Use this API to interact with the [npm package manager client](https://docs.gitlab.com/user/packages/npm_registry/). > [!warning] > This API is used by the [npm package manager ...

GitLab Packages: NuGet API

Use this API to interact with the [NuGet package manager client](https://docs.gitlab.com/user/packages/nuget_repository/). > [!warning] > This API is used by the [NuGet package ...

GitLab Packages: PyPi API

Use this API to interact with the [PyPI package manager client](https://docs.gitlab.com/user/packages/pypi_repository/). > [!warning] > This API is used by the [PyPI package man...

GitLab Packages: RPM API

Use this API to upload RPM packages to the [package registry](https://docs.gitlab.com/user/packages/package_registry/).

GitLab Packages: RubyGem API

Use this API to interact with the [Ruby gems and Bundler package manager clients](https://docs.gitlab.com/user/packages/rubygems_registry/). > [!warning] > This API is used by t...

GitLab Pipeline schedules API

Use this API to interact with [pipeline schedules](https://docs.gitlab.com/ci/pipelines/schedules/).

GitLab Pipelines API

Use this API to manage [CI/CD pipelines](https://docs.gitlab.com/ci/pipelines/) and the [jobs](https://docs.gitlab.com/ci/jobs/) they run.

GitLab Plan limits API

Use this API to retrieve and change the application limits of a subscription plan. The available plans depend on the GitLab edition. In the Community Edition, only the `default`...

GitLab Project alias API

Use this API to manage [project aliases](https://docs.gitlab.com/user/project/working_with_projects/#project-aliases). After you create an alias for a project, users can clone t...

GitLab Project approvals API

Use this API to retrieve and change a project's [merge request approval configuration](https://docs.gitlab.com/user/project/merge_requests/approvals/settings/), such as the numb...

GitLab Project Google Cloud integration API

Use this API to interact with the Google Cloud integration. For more information, see [GitLab and Google Cloud integration](https://docs.gitlab.com/ci/gitlab_google_cloud_integr...

GitLab Project import API

Use this API to [import repositories from external sources](https://docs.gitlab.com/user/import/) and to [migrate a project](https://docs.gitlab.com/user/project/settings/import...

GitLab Project mirrors API

Use this API to manage project [pull mirroring](https://docs.gitlab.com/user/project/repository/mirror/pull/).

GitLab Project snapshots API

Use this API to download a snapshot of a project's repository, for use in salvaging a corrupt repository. These endpoints require administrator access to the instance.

GitLab Project templates API

Use this API to retrieve project-specific templates, in addition to the templates common to the entire instance: - [Dockerfile templates](https://docs.gitlab.com/api/templates/d...

GitLab Project topics API

Use this API to interact with project topics. For more information, see [project topics](https://docs.gitlab.com/user/project/project_topics/).

GitLab Projects job token scope API

Use this API to interact with [CI/CD job token](https://docs.gitlab.com/ci/jobs/ci_job_token/) scopes. > [!note] > All requests to the CI/CD job token scope API endpoint must be...

GitLab Protected branches API

Use this API to manage [protected branches](https://docs.gitlab.com/user/project/repository/branches/protected/) for a project, and the [protected branch settings](https://docs....

GitLab Protected environments API

Use this API to manage [protected environments](https://docs.gitlab.com/ci/environments/protected_environments/) for a project, and [protected environments for a group](https://...

GitLab Protected tags API

Use this API to manage [protected tags](https://docs.gitlab.com/user/project/protected_tags/).

GitLab Provider identities API

Use this API to manage the SAML and SCIM identities linked to users in a group. Prerequisites for the SCIM endpoints: - You must enable [group SSO](https://docs.gitlab.com/user/...

GitLab Push rules API

Use this API to manage [push rules](https://docs.gitlab.com/user/project/repository/push_rules/) for a project, and [group push rules](https://docs.gitlab.com/user/project/repos...

GitLab Releases API

Use this API to manage [releases](https://docs.gitlab.com/user/project/releases/) for a project, list the releases across a group, and manage the asset links attached to a relea...

GitLab Remote mirrors API

Use this API to manage [remote mirrors](https://docs.gitlab.com/user/project/repository/mirror/push/). You can query and modify the state of these mirrors. For security reasons,...

GitLab Repositories API

Use this API to manage [Git repositories](https://docs.gitlab.com/user/project/repository/).

GitLab Resource events API

Use this API to retrieve the events that track changes to issues, merge requests, and epics: - [Label](https://docs.gitlab.com/user/project/labels/) events record who added or r...

GitLab Resource subscriptions API

Use this API to subscribe to and unsubscribe from [issues](https://docs.gitlab.com/user/project/issues/), [merge requests](https://docs.gitlab.com/user/project/merge_requests/),...

GitLab Rollouts API

Operations related to rollouts.

GitLab Runner controller tokens API

Use this API to create, list, rotate, and revoke the authentication tokens that runner controllers use to authenticate with a GitLab instance and manage runners. These endpoints...

GitLab Runner controllers API

Use this API to manage the runner controllers that handle CI/CD job admission control, and the scopes assigned to them. Runner controllers connect to the job router and evaluate...

GitLab Runners API

Use this API to manage the [runners](https://docs.gitlab.com/ci/runners/) already registered to an instance, group, or project. To create a runner, use the [`POST /user/runners`...

GitLab SAML group links API

Use this API to manage the [SAML group links](https://docs.gitlab.com/user/group/saml_sso/group_sync/) that map a group in your identity provider to a GitLab group, and to the r...

GitLab Search API

Use this API to [search across GitLab](https://docs.gitlab.com/user/search/) in an instance, a group, or a project, and to retrieve information about [advanced search migrations...

GitLab Secure files API

Use this API to manage [secure files](https://docs.gitlab.com/ci/secure_files/) for a project.

GitLab Security scans API

Use this API to scan a single file for vulnerabilities and return the [SAST](https://docs.gitlab.com/user/application_security/sast/) results in real time.

GitLab Service accounts API

Use this API to interact with [service accounts](https://docs.gitlab.com/user/profile/service_accounts/). The number of service accounts you can create depends on your subscript...

GitLab Sidekiq API

Use this API to retrieve information about the current state of Sidekiq, including its jobs, queues, and processes, and to delete jobs from a queue.

GitLab Snippets API

Use this API to manage personal and project [snippets](https://docs.gitlab.com/user/snippets/). To move snippets between storages, use the [snippet repository storage moves API]...

GitLab Software composition analysis API

Use this API to upload the SBOM produced by a CI/CD job, download the resulting scan, and reuse a scan that already exists for the same SBOM.

GitLab Storage moves API

Use this API to schedule and track [repository storage moves](https://docs.gitlab.com/administration/operations/moving_repositories/) for groups, projects, and snippets. Project...

GitLab Submodules API

Use this API to update [Git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).

GitLab Suggestions API

Use this API to manage [code suggestions](https://docs.gitlab.com/user/project/merge_requests/reviews/suggestions/). Suggestions provide a way to propose specific changes that c...

GitLab Swagger Doc API

The Swagger Doc API from GitLab — 2 operation(s) for swagger doc.

GitLab Tags API

Use this API to manage [Git tags](https://docs.gitlab.com/user/project/repository/tags/). This API also returns X.509 signature information from signed tags.

GitLab Templates API

Use this API to retrieve the file templates available to an entire instance: - [Dockerfile templates](https://gitlab.com/gitlab-org/gitlab-foss/-/tree/master/vendor/Dockerfile) ...

GitLab Terraform API

Use this API to interact with the [Terraform CLI](https://docs.gitlab.com/user/packages/terraform_module_registry/). > [!warning] > This API is used by the [Terraform CLI](https...

GitLab To Dos API

Use this API to list [to-do items](https://docs.gitlab.com/user/todos/), mark them as done, and create a to-do item for an issue or a merge request.

GitLab Token exchange API

Use this API to exchange a token for a short-lived JWT that is scoped to a single GitLab service audience.

GitLab Unleash API

Use this API to serve [feature flags](https://docs.gitlab.com/operations/feature_flags/) to an Unleash-compatible client, and to register that client and receive its metrics. Ge...

GitLab Usage data API

Use this API to track internal events and to retrieve the [Service Ping](https://docs.gitlab.com/development/internal_analytics/service_ping/) payload that GitLab collects, incl...

GitLab Users API

Use this API to interact with user accounts on GitLab. These endpoints can help manage [your account](https://docs.gitlab.com/user/profile/), manage [accounts for other users](h...

GitLab VS Code API

Use this API to synchronize Visual Studio Code settings, so that a user's editor preferences follow them between VS Code and the [Web IDE](https://docs.gitlab.com/user/project/w...

GitLab Vulnerabilities API

> [!warning] > These endpoints are in the process of being deprecated and are considered unstable. > The response payload may be subject to change or breakage across GitLab rele...

GitLab Web commits API

Use this API to retrieve the public key that GitLab uses to sign the commits created with the [web editor](https://docs.gitlab.com/user/project/repository/web_editor/).

GitLab Wikis API

Use this API to manage [group wikis](https://docs.gitlab.com/user/project/wiki/group/). An API for [project wikis](https://docs.gitlab.com/api/wikis/) is also available. Comment...

GitLab Workspaces API

Use this API to retrieve agent information and authorize user access for the agent that runs [workspaces](https://docs.gitlab.com/user/workspace/). These endpoints are internal ...

GitLab Admin API

The Admin API from GitLab — 11 operation(s) for admin.

GitLab Application API

The Application API from GitLab — 2 operation(s) for application.

GitLab Avatar API

The Avatar API from GitLab — 1 operation(s) for avatar.

GitLab Bulk Imports API

Operations about bulk_imports

GitLab Version API

The Version API from GitLab — 1 operation(s) for version.

Scroll for all 189

Postman Collections 13

Ready-to-run Postman collections for exercising this provider's APIs.

GitLab API

POSTMAN

Scroll for all 13

Open Collections 18

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

GitLab api/v4/ Admin API

OPEN COLLECTION

GitLab OAuth 2.0 API

OPEN COLLECTION

GitLab Webhooks API

OPEN COLLECTION

Scroll for all 18

Arazzo Workflows 24

Multi-step API workflows described with the Arazzo specification.

GitLab Add and Preview a Group Badge

Render a group badge preview, add it to the group, and confirm the list.

ARAZZO

GitLab Add and Preview a Project Badge

Render a badge preview, then add it to a project and confirm the list.

ARAZZO

GitLab Approve a Pending Group Access Request

List a group's access requests and approve the first pending requester.

ARAZZO

GitLab Approve a Pending Project Access Request

List a project's access requests and approve the first pending requester.

ARAZZO

GitLab Attach a Metric Image to an Alert

Authorize an upload, attach a metric image to an alert, then list images.

ARAZZO

GitLab Clean Up a Merged Branch

Verify a branch has been merged, then unprotect and delete it.

ARAZZO

GitLab Create and Protect a Release Branch

Cut a new branch from a ref and immediately apply push/merge protection.

ARAZZO

GitLab Create a Feature Branch from the Default Branch

Resolve the default branch tip and cut a new feature branch from it.

ARAZZO

GitLab Ensure a Branch Exists

Check whether a branch exists and create it from a ref only when missing.

ARAZZO

GitLab Find and Run a Pending Manual Job

List project jobs, pick the first manual job, and trigger it.

ARAZZO

GitLab Inspect a Failed CI Job

List failed jobs in a project and fetch full detail for the first one.

ARAZZO

GitLab Prune Stale Merged Branches

Survey the branch list, then bulk-delete all merged branches.

ARAZZO

GitLab Publish and Verify a Broadcast Message

Create a broadcast banner, then read it back to confirm it was stored.

ARAZZO

GitLab Register an Existing Instance Cluster

Add an existing Kubernetes cluster, then confirm it in the cluster list.

ARAZZO

GitLab Request and Approve Project Access

Request access to a project, then approve that same requester.

ARAZZO

GitLab Retire an Instance-Level CI Variable

Confirm an instance CI variable exists, then delete it.

ARAZZO

GitLab Retire a Project Badge by Name

Find a project badge by name and remove it when present.

ARAZZO

GitLab Rotate the Active Broadcast Message

Retire the current broadcast message and publish a replacement.

ARAZZO

GitLab Rotate a Project Badge by Name

Find an existing project badge by name and update its link and image.

ARAZZO

GitLab Start a Migration and Poll to Completion

Kick off a direct-transfer migration, then poll the import until it finishes.

ARAZZO

GitLab Track a Migration's Entities

Read a migration's summary, then drill into a specific entity's detail.

ARAZZO

GitLab Trigger a Manual CI Job and Poll to Completion

Start a manual CI job, then poll its status until it finishes.

ARAZZO

GitLab Reschedule a Broadcast Message

Read an existing broadcast message, then update its window and text.

ARAZZO

GitLab Upsert an Instance-Level CI Variable

Look up an instance CI variable and update it or create it if missing.

ARAZZO

Scroll for all 24

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

GitLab MCP Server

Remote MCP server at gitlab.com over HTTP requiring OAuth; 59 tools listed.

MCP SERVER

Agent Skills 7

Packaged agent skills for driving this provider's APIs from an AI assistant.

Scroll for all 7

GraphQL 1

GraphQL schemas published by this provider.

GitLab GraphQL API

GraphQL is a query language for APIs. You can use it to request the exact data you need, and therefore limit the number of requests you need. GraphQL data is arranged in types, ...

GRAPHQL

GitLab API pricing

Prices published by GitLab, read 2026-09-20 from about.gitlab.com/pricing/.

PlanPrice
Free $0 per user/month
Includes: 5 users per top-level group; 400 compute minutes per month; 10 GiB adjustable storage
Premium $29 per user/month, billed annually
Includes: $12 included GitLab Credits per user/month; 10,000 compute minutes per month; 500 GiB storage
Ultimate Get custom pricing
Includes: $24 included GitLab Credits per user/month; 50,000 compute minutes per month; 500 GiB storage
GitLab Dedicated Book a demo
Includes: Everything from Ultimate
GitLab Dedicated for Government Contact us
Includes: 50,000 compute minutes per month; Unlimited guest users
GitLab Credits $1 per GitLab Credit
Compute Minutes add-on $10 per 1,000 minutes, one time payment
Storage add-on $5 per month for 10GiB of storage, billed annually

All 9 plans, limits and sources →

Rate limits

All 67 limits →

Billed by: user · FinOps profile →

Pricing Plans 2

Published pricing tiers and plan structures.

Gitlab Plans Pricing

9 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Gitlab Rate Limits

67 limits

RATE LIMITS

Service Levels 1

Uptime the provider promises or reports, as SLA4OAI. Read from its own pages; APIs.io runs no monitors.

GitLab

SLA

FinOps 1

Cost, billing, and metering signals for API financial operations.

Features 16

Notable capabilities this provider offers.

Free: 5 users, 400 compute minutes/mo, 10 GiB storage
Premium $29/user/mo: 10K compute minutes, $12 GitLab Credits/user
Ultimate custom: 50K compute minutes, $24 Credits/user, security testing
REST and GraphQL APIs
Authenticated API: 2,000 req/min/user
Unauthenticated API: 500 req/min/IP
Search API: 30 req/min/user
Self-hosted Community Edition (free OSS)
Self-hosted Enterprise Edition (paid)
GitLab Runner for shared/dedicated runners
OAuth 2.0 + personal access tokens + project access tokens
Webhooks for project, group, and system events
GitLab Duo AI assistant (separate add-on)
Container Registry, Package Registry, Helm Chart Registry
GitLab Pages static site hosting
Application Security Testing (Ultimate): SAST, DAST, secret detection

Scroll for all 16

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

GitLab Webhooks

GitLab Webhooks deliver HTTP POST payloads to a configured URL whenever specified events occur in a GitLab project or group, such as pushes, merge requests, issues, pipeline sta...

ASYNCAPI

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Gitlab Context

38 classes · 268 properties

JSON-LD

Spectral Rules 4

Spectral governance rulesets for linting and validating these APIs.

GitLab — asyncapi rules

7 rules · 1 errors 6 warnings

SPECTRAL

GitLab — jsonschema rules

6 rules · 5 warnings 1 info

SPECTRAL

GitLab API Rules

77 rules · 58 errors 18 warnings 1 info

SPECTRAL

GitLab API Rules

26 rules · 14 errors 9 warnings 3 info

SPECTRAL

OpenAPI Overlays 30

Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.

Gitlab Admin Api Phrasing Overlay

17 actions · phrasing · gitlab-admin-api-openapi.yml

GENERATED

Gitlab Api V4 Admin Openapi Search

1 action · update · gitlab-api-v4-admin-openapi-original.yml

DERIVED

Gitlab Api V4 Application Openapi Search

1 action · update · gitlab-api-v4-application-openapi-original.yml

DERIVED

Gitlab Api V4 Applications Openapi Search

1 action · update · gitlab-api-v4-applications-openapi-original.yml

DERIVED

Gitlab Api V4 Avatar Openapi Search

1 action · update · gitlab-api-v4-avatar-openapi-original.yml

DERIVED

Gitlab Api V4 Broadcast Messages Openapi Search

1 action · update · gitlab-api-v4-broadcast-messages-openapi-original.yml

DERIVED

Gitlab Api V4 Bulk Imports Openapi Search

1 action · update · gitlab-api-v4-bulk-imports-openapi-original.yml

DERIVED

Gitlab Api V4 Groups Openapi Search

1 action · update · gitlab-api-v4-groups-openapi-original.yml

DERIVED

Gitlab Api V4 Metadata Openapi Search

1 action · update · gitlab-api-v4-metadata-openapi-original.yml

DERIVED

Gitlab Api V4 Projects Openapi Search

1 action · update · gitlab-api-v4-projects-openapi-original.yml

DERIVED

Gitlab Api V4 Version Openapi Search

1 action · update · gitlab-api-v4-version-openapi-original.yml

DERIVED

Gitlab Application Api Phrasing Overlay

5 actions · phrasing · gitlab-application-api-openapi.yml

GENERATED

Gitlab Applications Api Phrasing Overlay

4 actions · phrasing · gitlab-applications-api-openapi.yml

GENERATED

Gitlab Authorization Api Phrasing Overlay

3 actions · phrasing · gitlab-authorization-api-openapi.yml

GENERATED

Gitlab Avatar Api Phrasing Overlay

2 actions · phrasing · gitlab-avatar-api-openapi.yml

GENERATED

Gitlab Broadcast Messages Api Phrasing Overlay

6 actions · phrasing · gitlab-broadcast-messages-api-openapi.yml

GENERATED

Gitlab Bulk Imports Api Phrasing Overlay

7 actions · phrasing · gitlab-bulk-imports-api-openapi.yml

GENERATED

Gitlab Groups Api Phrasing Overlay

11 actions · phrasing · gitlab-groups-api-openapi.yml

GENERATED

Gitlab Metadata Api Phrasing Overlay

2 actions · phrasing · gitlab-metadata-api-openapi.yml

GENERATED

Gitlab Oauth2 Openapi Search

1 action · update · gitlab-oauth2-openapi.yml

DERIVED

Gitlab Openapi Search

1 action · update · gitlab-openapi-original.yml

DERIVED

Gitlab Project Webhooks Api Phrasing Overlay

6 actions · phrasing · gitlab-project-webhooks-api-openapi.yml

GENERATED

Gitlab Projects Api Phrasing Overlay

27 actions · phrasing · gitlab-projects-api-openapi.yml

GENERATED

Gitlab Rest Api Mcp Overlay

68 actions · update · gitlab-rest-api-openapi.yml

DERIVED

Gitlab Tokens Api Phrasing Overlay

4 actions · phrasing · gitlab-tokens-api-openapi.yml

GENERATED

Gitlab User Info Api Phrasing Overlay

2 actions · phrasing · gitlab-user-info-api-openapi.yml

GENERATED

Gitlab Version Api Phrasing Overlay

2 actions · phrasing · gitlab-version-api-openapi.yml

GENERATED

Gitlab Webhook Configuration Api Phrasing Overlay

5 actions · phrasing · gitlab-webhook-configuration-api-openapi.yml

GENERATED

Gitlab Webhook Events Api Phrasing Overlay

4 actions · phrasing · gitlab-webhook-events-api-openapi.yml

GENERATED

Gitlab Webhooks Openapi Search

1 action · update · gitlab-webhooks-openapi.yml

DERIVED

Scroll for all 30

JSON Schema 87

Standalone JSON Schema definitions for this provider's data models.

API_Entities_AccessRequester

10 properties

JSON SCHEMA

API_Entities_Appearance

16 properties

JSON SCHEMA

API_Entities_Application

5 properties

JSON SCHEMA

API_Entities_ApplicationWithSecret

6 properties

JSON SCHEMA

API_Entities_Avatar

1 properties

JSON SCHEMA

API_Entities_Badge

7 properties

JSON SCHEMA

API_Entities_BasicBadgeDetails

5 properties

JSON SCHEMA

API_Entities_Branch

9 properties

JSON SCHEMA

API_Entities_BroadcastMessage

11 properties

JSON SCHEMA

API_Entities_BulkImport

5 properties

JSON SCHEMA

API_Entities_BulkImports

16 properties

JSON SCHEMA

API_Entities_Ci_Variable

7 properties

JSON SCHEMA

API_Entities_Cluster

15 properties

JSON SCHEMA

API_Entities_Dictionary_Table

2 properties

JSON SCHEMA

API_Entities_Job

19 properties

JSON SCHEMA

API_Entities_Metadata

4 properties

JSON SCHEMA

API_Entities_MetricImage

6 properties

JSON SCHEMA

API_Entities_PlanLimit

20 properties

JSON SCHEMA

API_Entities_Ci_Variable

7 properties

JSON SCHEMA

API_Entities_Cluster

15 properties

JSON SCHEMA

API_Entities_Dictionary_Table

2 properties

JSON SCHEMA

API_Entities_Appearance

16 properties

JSON SCHEMA

API_Entities_ApplicationWithSecret

6 properties

JSON SCHEMA

API_Entities_PlanLimit

20 properties

JSON SCHEMA

API_Entities_ApplicationWithSecret

6 properties

JSON SCHEMA

API_Entities_Avatar

1 properties

JSON SCHEMA

API_Entities_BroadcastMessage

11 properties

JSON SCHEMA

API_Entities_BulkImport

5 properties

JSON SCHEMA

API_Entities_BulkImports

16 properties

JSON SCHEMA

API_Entities_AccessRequester

10 properties

JSON SCHEMA

API_Entities_Badge

7 properties

JSON SCHEMA

API_Entities_BasicBadgeDetails

5 properties

JSON SCHEMA

API_Entities_Metadata

4 properties

JSON SCHEMA

API_Entities_AccessRequester

10 properties

JSON SCHEMA

API_Entities_Badge

7 properties

JSON SCHEMA

API_Entities_BasicBadgeDetails

5 properties

JSON SCHEMA

API_Entities_Branch

9 properties

JSON SCHEMA

API_Entities_Job

19 properties

JSON SCHEMA

API_Entities_MetricImage

6 properties

JSON SCHEMA

API_Entities_Metadata

4 properties

JSON SCHEMA

APIEntitiesApplicationSetting

690 properties

JSON SCHEMA

APIEntitiesGeoNodeStatus

605 properties

JSON SCHEMA

APIEntitiesGeoSiteStatus

605 properties

JSON SCHEMA

DeviceAuthorizationRequest

2 properties

JSON SCHEMA

DeviceAuthorizationResponse

6 properties

JSON SCHEMA

GitLab Issue

29 properties

JSON SCHEMA

GitLab Merge Request

33 properties

JSON SCHEMA

DeviceAuthorizationRequest

2 properties

JSON SCHEMA

DeviceAuthorizationResponse

6 properties

JSON SCHEMA

RevokeTokenRequest

3 properties

JSON SCHEMA

TokenInfo

5 properties

JSON SCHEMA

TokenRequest

10 properties

JSON SCHEMA

TokenResponse

6 properties

JSON SCHEMA

UserInfo

8 properties

JSON SCHEMA

API_Entities_AccessRequester

10 properties

JSON SCHEMA

API_Entities_Badge

7 properties

JSON SCHEMA

API_Entities_BasicBadgeDetails

5 properties

JSON SCHEMA

API_Entities_Branch

9 properties

JSON SCHEMA

API_Entities_Ci_Variable

7 properties

JSON SCHEMA

API_Entities_Cluster

15 properties

JSON SCHEMA

API_Entities_Commit

14 properties

JSON SCHEMA

API_Entities_CustomAttribute

2 properties

JSON SCHEMA

API_Entities_Dictionary_Table

2 properties

JSON SCHEMA

API_Entities_MetricImage

6 properties

JSON SCHEMA

API_Entities_Platform_Kubernetes

4 properties

JSON SCHEMA

API_Entities_ProjectIdentity

7 properties

JSON SCHEMA

API_Entities_Provider_Gcp

7 properties

JSON SCHEMA

API_Entities_UserBasic

9 properties

JSON SCHEMA

GitLab Pipeline

22 properties

JSON SCHEMA

postApiV4GeoStatusRequest

1 properties

JSON SCHEMA

GitLab Project

33 properties

JSON SCHEMA

putApiV4ApplicationSettingsRequest

687 properties

JSON SCHEMA

putApiV4ProjectsIdRequest

124 properties

JSON SCHEMA

RevokeTokenRequest

3 properties

JSON SCHEMA

TokenInfo

5 properties

JSON SCHEMA

TokenRequest

10 properties

JSON SCHEMA

TokenResponse

6 properties

JSON SCHEMA

UserInfo

8 properties

JSON SCHEMA

WebhookEvent

10 properties

JSON SCHEMA

WebhookInput

19 properties

JSON SCHEMA

Webhook

24 properties

JSON SCHEMA

WebhookEvent

10 properties

JSON SCHEMA

WebhookInput

19 properties

JSON SCHEMA

Webhook

24 properties

JSON SCHEMA

Scroll for all 87

JSON Structure 52

JSON Structure definitions describing this provider's data shapes.

Gitlab Issue Structure

29 properties

JSON STRUCTURE

Gitlab Merge Request Structure

33 properties

JSON STRUCTURE

Gitlab Oauth2 Token Info Structure

5 properties

JSON STRUCTURE

Gitlab Oauth2 Token Request Structure

10 properties

JSON STRUCTURE

Gitlab Oauth2 Token Response Structure

6 properties

JSON STRUCTURE

Gitlab Oauth2 User Info Structure

8 properties

JSON STRUCTURE

Gitlab Pipeline Structure

22 properties

JSON STRUCTURE

Gitlab Project Structure

33 properties

JSON STRUCTURE

Gitlab Webhooks Webhook Event Structure

10 properties

JSON STRUCTURE

Gitlab Webhooks Webhook Input Structure

19 properties

JSON STRUCTURE

Gitlab Webhooks Webhook Structure

24 properties

JSON STRUCTURE

Scroll for all 52

Examples 52

Example request and response payloads for these APIs.

Gitlab Issue Example

10 fields

EXAMPLE

Gitlab Pipeline Example

10 fields

EXAMPLE

Gitlab Project Example

10 fields

EXAMPLE

Scroll for all 52

Security Posture 4

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Gitlab Authentication

apiKey/http/oauth2 · 5 schemes

SECURITY

Gitlab Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Gitlab Vulnerability Disclosure

Hackerone · security.txt · contact published

SECURITY

Gitlab Trust Center

SOC 2, ISO 27001, ISO 27017, ISO 27018, PCI DSS, GDPR, CSA STAR

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Gitlab Scopes

25 scopes · authorizationCode/clientCredentials/deviceCode

25 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Gitlab Agentic Access

167 operations · 92 acting · 1 human-in-the-loop

167 operations · 92 acting

AGENTIC

Use Cases 8

What developers build with this provider.

DevOps Automation

Automate CI/CD pipeline creation, runner management, and deployment workflows.

Project Management

Programmatically manage issues, milestones, boards, and merge requests.

Infrastructure as Code

Manage GitLab configuration, groups, projects, and settings through APIs.

Security and Compliance

Access vulnerability reports, security scan results, and compliance data.

Migration and Integration

Bulk import projects, users, and data from other platforms.

Custom Tooling

Build custom developer tools, dashboards, and bots for GitLab workflows.

Container Management

Manage Docker images, Kubernetes clusters, and container deployments.

Analytics and Reporting

Extract project analytics, contribution data, and productivity metrics.

Scroll for all 8

Solutions 4

Packaged solutions this provider offers.

GitLab Free

Core DevOps platform with unlimited repositories, CI/CD, issue tracking, and API access.

GitLab Premium

Advanced DevOps with merge request approvals, code owners, and priority support.

GitLab Ultimate

Enterprise DevOps with security scanning, compliance, and advanced API features.

GitLab Dedicated

Single-tenant SaaS deployment with dedicated infrastructure and enhanced security.

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 8

Reference material describing how the API behaves

Scroll for all 8

Agent Surfaces 7

MCP servers, agent skills, and machine-readable catalogs

Scroll for all 7

Design & Contract 38

Pagination, idempotency, versioning, errors, and events

Scroll for all 38

Build 9

SDKs, sample code, and the tooling you integrate with

Scroll for all 9

Access & Security 10

Authentication, authorization, and security posture

Scroll for all 10

Operate 12

Status, limits, changes, and where to get help

Scroll for all 12

Commercial 5

Pricing, plans, and the legal terms of use

Company 5

The organization behind the API

Other 6

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: gitlab
url: https://raw.githubusercontent.com/api-search/code/main/_apis/gitlab/apis.md
name: GitLab
tags:
- Code
- Developer Tools
- Platform
- Software Development
- Version Control
- GitLab
tags_raw:
- Code
- Developer Tools
- Platform
- Software Development
- Source Control
- GitLab
kind: contract
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  gated: none
  gated_source:
  - onboarding
  label: Freemium · Self-serve signup
  confidence: high
  probe_state: covered
  source:
  - plans
  - authentication
  - scopes
  - rate-limits
  - security
  generated: '2026-11-06'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/gitlab.png
access: 3rd-Party
created: '2023-11-10'
modified: '2026-11-05'
position: Consuming
description: GitLab Inc. is an open-core company that develops GitLab, a DevOps software platform for building, securing,
  and managing applications. Created by Ukrainian developer Dmytro Zaporozhets and Dutch developer Sytse Sijbrandij, GitLab
  became the first partly-Ukrainian unicorn in 2018. Known for promoting remote work, it is one of the largest all-remote
  companies globally. GitLab has approximately 30 million registered users, including 1 million active licensed users.
maintainers:
- FN: Kin Lane
  url: http://apievangelist.com
  email: kin@apievangelist.com
specificationVersion: '0.23'
common:
- type: Idempotency
  url: conventions/gitlab-conventions.yml
- type: LLMsTxt
  url: llms/gitlab-docs-llms.txt
- type: ToolCrosswalk
  url: mcp/gitlab-tool-crosswalk.yml
- type: IntegrationEdges
  url: integrations/gitlab-integration-edges.yml
- type: FinOps
  url: finops/gitlab-finops.yml
- type: Spectral
  url: rules/gitlab-spectral-rules.yml
- type: Spectral
  url: rules/gitlab-rules.yml
- type: Spectral
  url: rules/gitlab-jsonschema-spectral-rules.yml
- type: Spectral
  url: rules/gitlab-asyncapi-spectral-rules.yml
- type: Vocabulary
  url: vocabulary/gitlab-vocabulary.yml
- type: AgentSkill
  url: skills/_index.yml
- type: Webhooks
  url: asyncapi/gitlab-webhooks-asyncapi.yml
- type: Compliance
  url: https://trust.gitlab.com/
- type: Hosts
  url: hosts/gitlab-hosts.yml
- type: Vendors
  url: vendors/gitlab-vendors.yml
- type: Webhooks
  url: https://docs.gitlab.com/user/project/integrations/webhooks/
- type: Roadmap
  url: https://handbook.gitlab.com/handbook/engineering/architecture/roadmap/
- type: Newsroom
  url: https://about.gitlab.com/press/
- type: Leadership
  url: https://handbook.gitlab.com/handbook/leadership/
- type: RateLimits
  url: rate-limits/gitlab-rate-limits.yml
- type: Plans
  url: plans/gitlab-plans-pricing.yml
- type: CapabilityMap
  url: capabilities/gitlab-capability-edges.yml
  name: GitLab Business Capability Map
- type: Overlay
  url: overlays/gitlab-api-v4-admin-openapi-search.yml
- type: AgenticAccess
  url: agentic-access/gitlab-agentic-access.yml
- type: DomainSecurity
  url: security/gitlab-domain-security.yml
- type: TrustCenter
  url: security/gitlab-trust-center.yml
- type: VulnerabilityDisclosure
  url: security/gitlab-vulnerability-disclosure.yml
- type: Authentication
  url: authentication/gitlab-authentication.yml
- type: OAuthScopes
  url: scopes/gitlab-scopes.yml
- type: Packages
  url: packages/gitlab-packages.yml
- type: WellKnown
  url: well-known/gitlab-well-known.yml
- type: SecurityTxt
  url: well-known/gitlab-security.txt
- type: MCPServer
  url: mcp/gitlab-mcp.yml
- type: LLMsTxt
  url: llms/gitlab-llms.txt
- type: Conformance
  url: conformance/gitlab-conformance.yml
- type: ErrorCatalog
  url: errors/gitlab-problem-types.yml
- type: Lifecycle
  url: lifecycle/gitlab-lifecycle.yml
- type: Conventions
  url: conventions/gitlab-conventions.yml
- type: ChangeLog
  url: changelog/gitlab-changelog.yml
- type: CLI
  url: cli/gitlab-cli.yml
- type: DataModel
  url: data-model/gitlab-data-model.yml
- type: PostmanWorkspace
  url: https://www.postman.com/kinlaneapi/gitlab/overview
- type: Arazzo
  url: arazzo/gitlab-add-group-badge-workflow.yml
  name: GitLab Add and Preview a Group Badge
- type: Arazzo
  url: arazzo/gitlab-add-project-badge-workflow.yml
  name: GitLab Add and Preview a Project Badge
- type: Arazzo
  url: arazzo/gitlab-approve-group-access-request-workflow.yml
  name: GitLab Approve a Pending Group Access Request
- type: Arazzo
  url: arazzo/gitlab-approve-project-access-request-workflow.yml
  name: GitLab Approve a Pending Project Access Request
- type: Arazzo
  url: arazzo/gitlab-attach-alert-metric-image-workflow.yml
  name: GitLab Attach a Metric Image to an Alert
- type: Arazzo
  url: arazzo/gitlab-cleanup-merged-branch-workflow.yml
  name: GitLab Clean Up a Merged Branch
- type: Arazzo
  url: arazzo/gitlab-create-and-protect-branch-workflow.yml
  name: GitLab Create and Protect a Release Branch
- type: Arazzo
  url: arazzo/gitlab-create-branch-from-default-workflow.yml
  name: GitLab Create a Feature Branch from the Default Branch
- type: Arazzo
  url: arazzo/gitlab-ensure-branch-exists-workflow.yml
  name: GitLab Ensure a Branch Exists
- type: Arazzo
  url: arazzo/gitlab-find-and-run-manual-job-workflow.yml
  name: GitLab Find and Run a Pending Manual Job
- type: Arazzo
  url: arazzo/gitlab-inspect-failed-jobs-workflow.yml
  name: GitLab Inspect a Failed CI Job
- type: Arazzo
  url: arazzo/gitlab-prune-stale-branches-workflow.yml
  name: GitLab Prune Stale Merged Branches
- type: Arazzo
  url: arazzo/gitlab-publish-broadcast-message-workflow.yml
  name: GitLab Publish and Verify a Broadcast Message
- type: Arazzo
  url: arazzo/gitlab-register-instance-cluster-workflow.yml
  name: GitLab Register an Existing Instance Cluster
- type: Arazzo
  url: arazzo/gitlab-request-and-self-approve-project-access-workflow.yml
  name: GitLab Request and Approve Project Access
- type: Arazzo
  url: arazzo/gitlab-retire-instance-ci-variable-workflow.yml
  name: GitLab Retire an Instance-Level CI Variable
- type: Arazzo
  url: arazzo/gitlab-retire-project-badge-workflow.yml
  name: GitLab Retire a Project Badge by Name
- type: Arazzo
  url: arazzo/gitlab-rotate-broadcast-message-workflow.yml
  name: GitLab Rotate the Active Broadcast Message
- type: Arazzo
  url: arazzo/gitlab-rotate-project-badge-workflow.yml
  name: GitLab Rotate a Project Badge by Name
- type: Arazzo
  url: arazzo/gitlab-start-migration-and-poll-workflow.yml
  name: GitLab Start a Migration and Poll to Completion
- type: Arazzo
  url: arazzo/gitlab-track-migration-entities-workflow.yml
  name: GitLab Track a Migration's Entities
- type: Arazzo
  url: arazzo/gitlab-trigger-manual-job-and-poll-workflow.yml
  name: GitLab Trigger a Manual CI Job and Poll to Completion
- type: Arazzo
  url: arazzo/gitlab-update-broadcast-message-workflow.yml
  name: GitLab Reschedule a Broadcast Message
- type: Arazzo
  url: arazzo/gitlab-upsert-instance-ci-variable-workflow.yml
  name: GitLab Upsert an Instance-Level CI Variable
- type: LinkedIn
  url: https://www.linkedin.com/company/gitlab-com
- type: Website
  url: https://about.gitlab.com/
- type: Portal
  url: https://docs.gitlab.com/api/
- type: Documentation
  url: https://docs.gitlab.com/
- type: Authentication
  url: https://docs.gitlab.com/api/rest/authentication/
- type: GitHubOrganization
  url: https://github.com/gitlabhq
- type: Blog
  url: https://about.gitlab.com/blog/
- type: StatusPage
  url: https://status.gitlab.com/
- type: Pricing
  url: https://about.gitlab.com/pricing/
- url: https://about.gitlab.com/terms/
  type: TermsOfService
- url: https://about.gitlab.com/privacy/
  type: PrivacyPolicy
- url: https://about.gitlab.com/company/contact/
  type: Support
- url: https://docs.gitlab.com/ee/editor_extensions/
  type: IDESupport
- url: https://about.gitlab.com/releases/categories/releases/
  type: ReleaseNotes
- url: https://developer.gitlab.com/
  type: DeveloperPortal
- url: https://about.gitlab.com/get-started/
  type: GettingStarted
- url: https://gitlab.com/users/sign_up
  type: SignUp
- url: https://about.gitlab.com/support/
  type: Support
- url: https://gitlab.com/gitlab-org/gitlab/blob/master/CHANGELOG.md
  type: ChangeLog
- url: https://docs.gitlab.com/api/rest/third_party_clients/
  type: SDKs
- url: https://forum.gitlab.com/
  type: Support
- url: https://docs.gitlab.com/security/rate_limits/
  type: RateLimits
- url: json-ld/gitlab-context.jsonld
  type: JSONLD
- url: json-schema/gitlab-project-schema.json
  type: JSONSchema
- url: json-schema/gitlab-merge-request-schema.json
  type: JSONSchema
- url: json-schema/gitlab-issue-schema.json
  type: JSONSchema
- url: json-schema/gitlab-pipeline-schema.json
  type: JSONSchema
- url: https://about.gitlab.com/security/
  type: Security
- url: https://about.gitlab.com/security/disclosure/
  type: Security
- url: https://about.gitlab.com/whats-new/
  type: ReleaseNotes
- url: https://about.gitlab.com/integrations/
  type: Integrations
- url: https://about.gitlab.com/partners/technology-partners/
  type: Partners
- url: https://about.gitlab.com/solutions/open-source/
  type: Documentation
- url: https://marketplace.gitlab.com/
  type: Marketplace
- url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  type: Tools
- url: https://gitlab.com/gitlab-org/gitlab
  type: GitHubRepository
- type: Features
  data:
  - 'Free: 5 users, 400 compute minutes/mo, 10 GiB storage'
  - 'Premium $29/user/mo: 10K compute minutes, $12 GitLab Credits/user'
  - 'Ultimate custom: 50K compute minutes, $24 Credits/user, security testing'
  - REST and GraphQL APIs
  - 'Authenticated API: 2,000 req/min/user'
  - 'Unauthenticated API: 500 req/min/IP'
  - 'Search API: 30 req/min/user'
  - Self-hosted Community Edition (free OSS)
  - Self-hosted Enterprise Edition (paid)
  - GitLab Runner for shared/dedicated runners
  - OAuth 2.0 + personal access tokens + project access tokens
  - Webhooks for project, group, and system events
  - GitLab Duo AI assistant (separate add-on)
  - Container Registry, Package Registry, Helm Chart Registry
  - GitLab Pages static site hosting
  - 'Application Security Testing (Ultimate): SAST, DAST, secret detection'
  sources:
  - https://about.gitlab.com/pricing/
  updated: '2026-05-04'
- type: UseCases
  data:
  - name: DevOps Automation
    description: Automate CI/CD pipeline creation, runner management, and deployment workflows.
  - name: Project Management
    description: Programmatically manage issues, milestones, boards, and merge requests.
  - name: Infrastructure as Code
    description: Manage GitLab configuration, groups, projects, and settings through APIs.
  - name: Security and Compliance
    description: Access vulnerability reports, security scan results, and compliance data.
  - name: Migration and Integration
    description: Bulk import projects, users, and data from other platforms.
  - name: Custom Tooling
    description: Build custom developer tools, dashboards, and bots for GitLab workflows.
  - name: Container Management
    description: Manage Docker images, Kubernetes clusters, and container deployments.
  - name: Analytics and Reporting
    description: Extract project analytics, contribution data, and productivity metrics.
- type: Solutions
  data:
  - name: GitLab Free
    description: Core DevOps platform with unlimited repositories, CI/CD, issue tracking, and API access.
  - name: GitLab Premium
    description: Advanced DevOps with merge request approvals, code owners, and priority support.
  - name: GitLab Ultimate
    description: Enterprise DevOps with security scanning, compliance, and advanced API features.
  - name: GitLab Dedicated
    description: Single-tenant SaaS deployment with dedicated infrastructure and enhanced security.
- type: LlmsText
  url: https://docs.gitlab.com/llms.txt
- type: APIReference
  url: https://docs.gitlab.com/api/api_resources/
- type: Documentation
  url: https://docs.gitlab.com/api/rest/
apis:
- aid: gitlab:gitlab-orbit-api
  name: GitLab Orbit gRPC API
  description: GitLab Orbit knowledge graph gRPC service (package orbit.v1, OrbitService) that serves the Orbit dashboard,
    MCP agents and the glab CLI; published in GitLab's own gitlabhq/orbit-knowledge-graph repository.
  tags:
  - gRPC
  - Knowledge Graph
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  humanURL: https://docs.gitlab.com/orbit/
  properties:
  - url: grpc/gitlab-orbit.proto
    type: Protobuf
  - url: https://raw.githubusercontent.com/gitlabhq/orbit-knowledge-graph/main/crates/orbit-server/proto/orbit.proto
    type: Protobuf
    name: Protobuf (provider-hosted)
- aid: gitlab:gitlab-graphql-api
  name: GitLab GraphQL API
  tags:
  - Data
  - GraphQL
  - Query Language
  image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
  baseURL: https://gitlab.com/api/graphql
  humanURL: https://docs.gitlab.com/api/graphql/
  overlays: []
  properties:
  - url: graphql/gitlab-introspection.json
    type: GraphQL
  - url: https://docs.gitlab.com/ee/api/graphql/
    type: Documentation
  - url: https://docs.gitlab.com/ee/api/graphql/#deprecation-and-removal-process
    type: Deprecation
  - url: https://docs.gitlab.com/ee/api/graphql/#deprecation-and-removal-process
    type: Documentation
  - url: https://docs.gitlab.com/ee/api/graphql/#limits
    type: RateLimits
  - url: https://docs.gitlab.com/api/rest/authentication/
    type: Authentication
  - url: https://docs.gitlab.com/api/graphql/reference/
    type: APIReference
  - url: https://docs.gitlab.com/api/graphql/getting_started/
    type: GettingStarted
  - url: graphql/gitlab-graphql.md
    type: GraphQL
  description: GraphQL is a query language for APIs. You can use it to request the exact data you need, and therefore limit
    the number of requests you need. GraphQL data is arranged in types, so your client can use client-side GraphQL libraries
    to consume the API and avoid manual parsing. There are no fixed endpoints and no data model, so you can add to the API
    without creating breaking changes. This enables us to have a versionless API.
- aid: gitlab:gitlab-applications-api
  name: GitLab Applications API
  description: The Applications API from GitLab — 2 operation(s) for applications.
  humanURL: https://docs.gitlab.com/api/applications/
  baseURL: https://gitlab.com
  tags:
  - Application
  tags_raw:
  - Applications
  properties:
  - type: OpenAPI
    url: openapi/gitlab-applications-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-application-with-secret-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-application-schema.json
- aid: gitlab:gitlab-authorization-api
  name: GitLab Authorization API
  description: Endpoints for initiating OAuth authorization flows.
  humanURL: https://docs.gitlab.com/api/oauth2/
  baseURL: https://gitlab.com
  tags:
  - Authorization
  properties:
  - type: OpenAPI
    url: openapi/gitlab-authorization-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-device-authorization-response-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-device-authorization-request-schema.json
- aid: gitlab:gitlab-broadcast-messages-api
  name: GitLab Broadcast Messages API
  description: The Broadcast Messages API from GitLab — 2 operation(s) for broadcast messages.
  humanURL: https://docs.gitlab.com/api/broadcast_messages/
  baseURL: https://gitlab.com
  tags:
  - Broadcast Messages
  properties:
  - type: OpenAPI
    url: openapi/gitlab-broadcast-messages-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-broadcast-message-schema.json
- aid: gitlab:gitlab-groups-api
  name: GitLab Groups API
  description: The Groups API from GitLab — 6 operation(s) for groups.
  humanURL: https://docs.gitlab.com/api/groups/
  baseURL: https://gitlab.com
  tags:
  - Group
  tags_raw:
  - Groups
  properties:
  - type: OpenAPI
    url: openapi/gitlab-groups-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-access-requester-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-badge-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-basic-badge-details-schema.json
- aid: gitlab:gitlab-metadata-api
  name: GitLab Metadata API
  description: The Metadata API from GitLab — 1 operation(s) for metadata.
  humanURL: https://docs.gitlab.com/api/metadata/
  baseURL: https://gitlab.com
  tags:
  - Metadata
  properties:
  - type: OpenAPI
    url: openapi/gitlab-metadata-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-metadata-schema.json
- aid: gitlab:gitlab-project-webhooks-api
  name: GitLab Project Webhooks API
  description: Manage webhooks for a specific project.
  humanURL: https://docs.gitlab.com/api/project_webhooks/
  baseURL: https://gitlab.com/api/v4
  tags:
  - Project Webhooks
  properties:
  - type: OpenAPI
    url: openapi/gitlab-project-webhooks-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-webhook-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-webhook-input-schema.json
- aid: gitlab:gitlab-projects-api
  name: GitLab Projects API
  description: The Projects API from GitLab — 17 operation(s) for projects.
  humanURL: https://docs.gitlab.com/api/projects/
  baseURL: https://gitlab.com
  tags:
  - Project
  tags_raw:
  - Projects
  properties:
  - type: OpenAPI
    url: openapi/gitlab-projects-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-job-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-access-requester-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-branch-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-badge-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-metric-image-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-api-entities-basic-badge-details-schema.json
- aid: gitlab:gitlab-tokens-api
  name: GitLab Tokens API
  description: Endpoints for exchanging, refreshing, and revoking OAuth tokens.
  humanURL: https://docs.gitlab.com/api/oauth2/
  baseURL: https://gitlab.com
  tags:
  - Tokens
  properties:
  - type: OpenAPI
    url: openapi/gitlab-tokens-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/
  - type: AsyncAPI
    url: asyncapi/gitlab-webhooks-asyncapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/user/project/integrations/webhooks.html
  - type: APIReference
    url: https://docs.gitlab.com/api/project_webhooks/
  - type: JSONSchema
    url: json-schema/gitlab-token-request-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-token-response-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-token-info-schema.json
  - type: JSONSchema
    url: json-schema/gitlab-revoke-token-request-schema.json
- aid: gitlab:gitlab-user-info-api
  name: GitLab User Info API
  description: Endpoints for retrieving authenticated user information via OAuth.
  humanURL: https://docs.gitlab.com/api/oauth2/
  baseURL: https://gitlab.com
  tags:
  - UserInfo
  tags_raw:
  - User Info
  properties:
  - type: OpenAPI
    url: openapi/gitlab-user-info-api-openapi.yml
  - type: Documentation
    url: https://docs.gitlab.com/api/groups/
  - type: Authentication
    url: https://docs.gitlab.com/api/rest/authentication/
  - type: Documentation
    url: https://docs.gitlab.com/api/projects/
  - type: Documentation
    url: https://docs.gitlab.com/api/applications/
  - type: Documentation
    url: https://docs.gitlab.com/api/avatar/
  - type: Documentation
    url: https://docs.gitlab.com/api/broadcast_messages/
  - type: Documentation
    url: https://docs.gitlab.com/api/bulk_imports/
  - type: Documentation
    url: https://docs.gitlab.com/api/settings/
  - type: Documentation
    url: https://docs.gitlab.com/api/metadata/
  - type: Documentation
    url: https://docs.gitlab.com/api/version/
  - type: Documentation
    url: https://docs.gitlab.com/api/rest/
  - type: SDKs
    url: https://docs.gitlab.com/api/rest/third_party_clients/
  - type: APIReference
    url: https://docs.gitlab.com/api/api_resources/
  - type: RateLimits
    url: https://docs.gitlab.com/security/rate_limits/
  - type: Interactive Documentation
    url: https://docs.gitlab.com/api/openapi/openapi_interactive/
  - type: Documentation
    url: https://docs.gitlab.com/api/oauth2/
  - type: Authentication
    url: https://docs.gitlab.com/integration/oauth_provider/


# --- truncated at 32 KB (981 KB total) ---
# Full source: https://artifacts.apis.io/gitlab/apis.yml

GitLab API — frequently asked questions

Does GitLab have an API?

Yes. APIs.io lists 189 APIs from GitLab, including GitLab Orbit gRPC API, GitLab GraphQL API and GitLab Applications API, and 186 more.

Is there an OpenAPI specification for the GitLab API?

Yes. APIs.io indexes 188 OpenAPI specifications for GitLab, each linked for download from this page.

How do I authenticate with the GitLab API?

GitLab documents its authentication (apiKey/http/oauth2 · 5 schemes). The details are profiled on APIs.io as Gitlab Authentication.

How much does the GitLab API cost?

GitLab publishes its prices; its Free plan is $0 per user/month as of 2026-09-20. APIs.io lists 9 pricing plans for GitLab, with each plan's price, limits and inclusions under Pricing on this page.

Does GitLab have an MCP server?

Yes. APIs.io lists 1 MCP server for GitLab: Remote MCP server at gitlab.com over HTTP requiring OAuth; 59 tools listed.

Is the GitLab API ready for AI agents?

GitLab has a Kin Score of 79.6 out of 100 (exemplar) and an Agent Readiness score of 55.6 (agent-native), scored by API Evangelist on 2026-11-06.

Compared on APIs.io

Side by side with a competitor, using the compare_providers tool: facet by facet, with the full tool response.

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/gitlab"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/gitlab/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/gitlab/evidence"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.