Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 1.51 KB

index.md

File metadata and controls

42 lines (29 loc) · 1.51 KB

GraphQL API (Beta)

Introduced in GitLab 11.0.

GraphQL is a query language for APIs that allows clients to request exactly the data they need, making it possible to get all required data in a limited number of requests.

The GraphQL data (fields) can be described in the form of types, allowing clients to use clientside GraphQL libraries to consume the API and avoid manual parsing.

Since there's no fixed endpoints and datamodel, new abilities can be added to the API without creating breaking changes. This allows us to have a versionless API as described in the GraphQL documentation.

Enabling the GraphQL feature

The GraphQL API itself is currently in Alpha, and therefore hidden behind a feature flag. You can enable the feature using the features api on a self-hosted instance.

For example:

curl --data "value=100" --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/features/graphql

Available queries

A first iteration of a GraphQL API includes only 2 queries: project and merge_request and only returns scalar fields, or fields of the type Project or MergeRequest.

GraphiQL

The API can be explored by using the GraphiQL IDE, it is available on your instance on gitlab.example.com/-/graphql-explorer.