GitLab API Docs
Official GitLab API documentation synced from gitlab-org/gitlab/doc/api.
Use this skill for GitLab REST and GraphQL API behavior. For CI YAML semantics use gitlab-ci-docs; for end-user UI workflows use gitlab-user-docs; for self-managed instance administration use gitlab-admin-docs; for glab CLI commands use glab-docs / glab-cli.
Scope
References are Markdown and OpenAPI files under references/:
references/_index.md,api_resources.md,rest/,graphql/— API overview, REST conventions, GraphQL docs.references/openapi/openapi_v3.yaml— current OpenAPI 3 schema.references/openapi/openapi_v2.yaml— deprecated OpenAPI 2 schema, retained for compatibility references.- Root REST endpoint pages such as
projects.md,groups.md,issues.md,merge_requests.md,pipelines.md,jobs.md,branches.md,commits.md,repository_files.md,users.md,members.md,access_requests.md,deploy_tokens.md,group_access_tokens.md,personal_access_tokens.md. references/graphql/— GraphQL queries, mutations, authorization, limits, IDs, global IDs, pagination.references/packages/,releases/,admin/,templates/— package registries, releases, admin endpoints, templates.
Hard Rules
- MUST search
references/before answering GitLab API endpoint, parameter, authentication, pagination, or response-shape questions. - MUST distinguish REST and GraphQL APIs, including ID formats and pagination differences.
- MUST check endpoint-specific docs and OpenAPI schema before naming request fields, response fields, status codes, or required scopes.
- MUST distinguish GitLab.com, Self-Managed, Dedicated, tier, and admin-only endpoint constraints when docs mention them.
- NEVER invent endpoint paths, HTTP methods, query parameters, request body fields, token scopes, or GraphQL fields without checking references.
Fast Lookup
rg -n "Authentication|PRIVATE-TOKEN|OAuth|personal access token|job token|impersonation|scope" skills/gitlab-api-docs/references
rg -n "pagination|keyset|offset|Link header|page_token|rate limit|idempotency" skills/gitlab-api-docs/references/rest skills/gitlab-api-docs/references
rg -n "GET /|POST /|PUT /|PATCH /|DELETE /|curl --request" skills/gitlab-api-docs/references/projects.md skills/gitlab-api-docs/references/groups.md skills/gitlab-api-docs/references/merge_requests.md skills/gitlab-api-docs/references/issues.md
rg -n "pipeline|job|runner|artifact|trigger|variable" skills/gitlab-api-docs/references/pipelines.md skills/gitlab-api-docs/references/jobs.md skills/gitlab-api-docs/references
rg -n "GraphQL|global ID|gid://|query|mutation|pageInfo|cursor|complexity" skills/gitlab-api-docs/references/graphql
rg -n "Tier:|Offering:|Status:|Introduced|Deprecated|Removed|administrator|admin" skills/gitlab-api-docs/references
rg -n "projects/|groups/|merge_requests|pipelines|jobs|users" skills/gitlab-api-docs/references/openapi/openapi_v3.yaml
Workflow
- Identify REST vs GraphQL and the resource family.
- Search endpoint docs first; use OpenAPI schema for exact fields when needed.
- Report auth/scopes, request method/path, required parameters, pagination, and tier/admin constraints explicitly.
- If the user is trying to perform the operation via
glab, switch toglab-docs/glab-clifor command syntax.