Skip to Content
API Reference

GraphQL API

v1Updated 2026-03-07

Endpoint

POST/api/v1/graphql

Headers

HeaderRequiredDescription
AuthorizationyesBearer <API_KEY>
X-Tenant-SlugyesTenant slug
Content-Typeyesapplication/json

Schema governance

bin/rails graphql:schema:dump bin/rails graphql:schema:check

graphql:schema:check is wired in CI (build_and_test.yml).

Persisted operations

Set GRAPHQL_PERSISTED_ONLY=true to enforce allowlisted hashes from:

config/graphql/persisted_operations.yml

Client sends:

X-GraphQL-Sha256: <sha256-of-query>

Request
curl -X POST "http://localhost:3333/api/v1/graphql" \ -H "Authorization: Bearer <API_KEY>" \ -H "X-Tenant-Slug: agado-ats" \ -H "Content-Type: application/json" \ -d '{"query":"query { jobs(page:1, perPage:5) { nodes { id name status } meta { page total } } }"}'
200 Response
{ "data": { "jobs": { "nodes": [{ "id": "1", "name": "Ruby developer", "status": "open" }], "meta": { "page": 1, "total": 1 } } } }