Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC
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.

agent native

Reference-quality API operations across every facet — a rich contract, published governance, transparent operations, and machine-readable commercial terms.

Kin Score

API Evangelist profiles GitLab the way a machine reads it — 283 machine-readable artifacts across 44 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.

Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — GitLab scores 72.9/100 (exemplar), with a separate agent-readiness read of 80/100 (agent native). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.

Kin Score

This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 72.9/100 · exemplar
Contract Quality 18.2 / 25
Developer Ergonomics 14.3 / 20
Commercial Clarity 15.8 / 20
Operational Transparency 10.3 / 13
Governance 6.3 / 12
Discoverability 8.0 / 10
Agent readiness — 80/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 0 / 5
Well-Known Catalog 4 / 4
Consent & Bot Identity 3 / 3

How we profile GitLab

Each block below is one kind of artifact we hold for GitLab. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.

APIs 44

Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.

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

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 Issues API

The GitLab Issues API provides programmatic access to manage issues across projects and groups. It supports creating, listing, updating, and deleting issues, as well as managing...

GitLab Merge Requests API

The GitLab Merge Requests API enables programmatic management of merge requests across projects and groups. It supports creating, listing, updating, approving, and merging merge...

GitLab Pipelines API

The GitLab Pipelines API provides programmatic access to CI/CD pipelines in GitLab projects. It supports listing, creating, retrying, and canceling pipelines, as well as retriev...

GitLab Jobs API

The GitLab Jobs API allows you to interact with CI/CD jobs in GitLab projects. It supports listing, retrieving, canceling, retrying, and erasing jobs, as well as downloading job...

GitLab Runners API

The GitLab Runners API provides endpoints for managing CI/CD runners registered to a GitLab instance. It supports listing, registering, updating, and deleting runners, as well a...

GitLab Users API

The GitLab Users API provides programmatic access to manage user accounts on a GitLab instance. It supports listing, creating, updating, and deleting users, managing SSH keys an...

GitLab Repositories API

The GitLab Repositories API provides access to Git repository data within GitLab projects. It supports listing repository tree structures, retrieving file contents, comparing br...

GitLab Commits API

The GitLab Commits API provides programmatic access to Git commits within GitLab projects. It supports listing, creating, and retrieving commits, viewing commit diffs and commen...

GitLab Branches API

The GitLab Branches API enables programmatic management of Git branches within GitLab projects. It supports listing, creating, and deleting branches, as well as retrieving branc...

GitLab Tags API

The GitLab Tags API provides programmatic access to manage Git tags within GitLab projects. It supports listing, creating, and deleting tags, as well as retrieving tag details f...

GitLab Releases API

The GitLab Releases API enables programmatic management of project releases. It supports creating, listing, updating, and deleting releases, as well as managing release assets a...

GitLab Environments API

The GitLab Environments API provides programmatic access to manage deployment environments within GitLab projects. It supports creating, listing, updating, stopping, and deletin...

GitLab Deployments API

The GitLab Deployments API enables programmatic access to deployment records in GitLab projects. It supports listing, creating, and updating deployments, as well as retrieving d...

GitLab Pipeline Schedules API

The GitLab Pipeline Schedules API provides programmatic access to manage scheduled CI/CD pipelines. It supports creating, listing, updating, and deleting pipeline schedules, as ...

GitLab Labels API

The GitLab Labels API provides programmatic access to manage project labels. It supports creating, listing, updating, deleting, and subscribing to labels used for categorizing i...

GitLab Milestones API

The GitLab Milestones API provides programmatic access to manage project milestones. It supports creating, listing, updating, and deleting milestones, as well as retrieving issu...

GitLab Notes API

The GitLab Notes API provides programmatic access to manage comments and system notes on issues, merge requests, epics, and snippets. It supports creating, listing, updating, an...

GitLab Snippets API

The GitLab Snippets API provides programmatic access to manage code snippets. It supports creating, listing, updating, and deleting both personal and project snippets, enabling ...

GitLab Packages API

The GitLab Packages API provides programmatic access to the GitLab Package Registry. It supports listing, retrieving, and deleting packages across projects and groups, with supp...

GitLab Container Registry API

The GitLab Container Registry API provides programmatic access to manage container images stored in the GitLab Container Registry. It supports listing repositories and tags, del...

GitLab Vulnerabilities API

The GitLab Vulnerabilities API provides programmatic access to manage security vulnerabilities detected in GitLab projects. It supports retrieving, confirming, resolving, and di...

GitLab Deploy Keys API

The GitLab Deploy Keys API provides programmatic access to manage deploy keys for GitLab projects. It supports listing, creating, updating, and deleting SSH deploy keys that gra...

GitLab Protected Branches API

The GitLab Protected Branches API provides programmatic access to manage branch protection rules. It supports listing, creating, updating, and removing protection settings that ...

GitLab Wikis API

The GitLab Wikis API provides programmatic access to manage project wiki pages. It supports listing, creating, updating, and deleting wiki pages, as well as uploading attachment...

GitLab Events API

The GitLab Events API provides programmatic access to review event activity across GitLab. It supports listing all events, retrieving user contribution events, and viewing proje...

GitLab Search API

The GitLab Search API enables programmatic search across a GitLab instance, group, or project. It supports searching for projects, issues, merge requests, milestones, code blobs...

GitLab Namespaces API

The GitLab Namespaces API provides programmatic access to manage namespaces in GitLab. It supports listing namespaces, retrieving namespace details, and verifying namespace exis...

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 Applications API

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

GitLab Authorization API

Endpoints for initiating OAuth authorization flows.

GitLab Avatar API

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

GitLab Broadcast Messages API

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

GitLab Bulk Imports API

The Bulk Imports API from GitLab — 5 operation(s) for bulk imports.

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 Version API

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

GitLab Webhook Configuration API

Manage custom headers and URL variables for webhooks.

GitLab Webhook Events API

Access webhook delivery history and resend events.

Scroll within the panel for all 44 ·

Postman Collections 13

A runnable collection turns the contract into something a developer can execute in seconds. We profile them because the fastest way to trust an API is to make a real call against it.

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

Scroll within the panel for all 13 ·

Open Collections 2

Open, tool-agnostic collections carry the same runnable value as Postman without locking you to one client — the portable, forkable form of the same exercise.

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

GitLab OAuth 2.0 API

OPEN COLLECTION

GitLab Webhooks API

OPEN COLLECTION

Arazzo Workflows 24

Real integrations are rarely a single call. Arazzo describes the multi-step sequences — auth, then create, then confirm — so both a human and an agent can follow the choreography, not just the endpoints.

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 within the panel for all 24 ·

MCP Servers 1

Model Context Protocol servers expose these APIs directly to AI agents. We profile them because agent-native access is the fastest-growing way this provider's capabilities actually get used.

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

gitlab-mcp.yml

MCP SERVER

GraphQL 1

Where a provider ships GraphQL, the schema is the contract. We profile it alongside the REST surface so the whole interface is legible in one place.

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

Pricing Plans 1

Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.

Published pricing tiers and plan structures.

Gitlab Plans Pricing

3 plans

PLANS

Rate Limits 1

Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.

Documented rate limits and quota policies.

Gitlab Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.

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

Features 16

The notable capabilities this provider advertises, captured as structured features so they can be searched and compared instead of read one landing page at a time.

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 within the panel for all 16 ·

Event Specifications 1

Not every API is request/response. AsyncAPI describes the event-driven and streaming side — the webhooks and channels — so the asynchronous half of the interface is documented the same way the synchronous half is.

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 give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.

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

Gitlab Context

38 classes · 268 properties

JSON-LD

Spectral Rules 3

Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.

GitLab API Rules

7 rules · 1 errors · 6 warnings

SPECTRAL

GitLab API Rules

6 rules · 5 warnings

SPECTRAL

GitLab API Rules

27 rules · 15 errors · 9 warnings

SPECTRAL

JSON Schema 52

Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.

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

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

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

GitLab Project

33 properties

JSON SCHEMA

WebhookEvent

10 properties

JSON SCHEMA

WebhookInput

19 properties

JSON SCHEMA

Webhook

24 properties

JSON SCHEMA

Scroll within the panel for all 52 ·

JSON Structure 52

JSON Structure captures the data shapes in a form built for tooling — a complement to JSON Schema that keeps the model machine-legible.

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 within the panel for all 52 ·

Examples 52

Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.

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 within the panel for all 52 ·

Security Posture 4

Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.

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

Gitlab Authentication

apiKey/http · 3 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 are the vocabulary of least-privilege access. Profiling them shows exactly what an integration — or an agent acting on a user's behalf — is allowed to do.

OAuth scopes governing access to this provider's APIs.

Gitlab Scopes

25 scopes · authorizationCode/clientCredentials/deviceCode

25 scopes

SCOPES

Agentic Access 1

An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.

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 actually build with this provider — captured so the catalogue answers 'what is this for', not just 'what does this expose'.

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 within the panel for all 8 ·

Solutions 4

Packaged solutions the provider offers on top of the raw API surface.

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

Every other property we hold for GitLab — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.

Get Started 4

Portal, sign-up, and the first successful call

Other 1

Properties that don't map to a standard resource type

← All providers · Data indexed from github.com/api-evangelist/gitlab · machine-readable index on apis.io