API contract monitor
Developer tools

Does the GitLab API match its OpenAPI spec?

Partly3 of 5 operations we tested match GitLab's published OpenAPI spec; 2 return responses that drift from it (last run 1 Nov 2026).

gitlab.contract[*]
Spec match
60%
3 of 5 operations
Mismatches
2
distinct findings
First response
0.39s
median of tested calls
Last run
1 Nov
05:52 UTC

Contract vs. published spec

  • โ€”GET /projects/{id}/repository/contributors returns an array; the spec says object
  • GET /projects/{id}namespace.parent_id is null and _links is missing (may differ when signed in)

1 operation excluded: releases needs a token.

Vendor-reported status ยท 45 days

GitLab doesn't publish a machine-readable status feed. Status page

Test the GitLab API yourself

Portman turns the published spec into contract tests and runs them with Newman.

Star Portman685Portman is open source. A star helps other teams find it.

Questions

Does the GitLab API match its OpenAPI spec?
Partly. 3 of 5 operations we tested match GitLab's published OpenAPI spec; 2 return responses that drift from it (last run 1 Nov 2026). For example: GET /projects/{id}/repository/contributors returns an array; the spec says object.
Where is the GitLab OpenAPI spec?
GitLab publishes its OpenAPI description at https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/api/openapi/openapi_v2.yaml.
Is the GitLab API down?
GitLab does not publish a machine-readable status feed; see https://status.gitlab.com. Our last contract run got responses on 1 Nov 2026.
How can I contract-test the GitLab API myself?
Run Portman against the spec: npx @apideck/portman -u https://gitlab.com/gitlab-org/gitlab/-/raw/master/doc/api/openapi/openapi_v2.yaml --runNewman. Portman generates contract tests for every operation and checks status codes, content types and response schemas.

Other monitored APIs