Schema reference
Every page under this heading is generated from the schema the router actually serves — one page per type, query, mutation, union, enum, input and scalar, with the description its owning module wrote.
Nothing here is hand-maintained, and nothing here is a summary. The build reads
one file, contracts/client-schema.graphql, which is extracted from the
composed supergraph on every run of the schema pipeline. If a field is on this
site, the router serves it; if it is not, the router does not.
How to read a page
| Section | What it tells you |
|---|---|
| The description under the title | Written for an integrator, by the team that owns the data (convention C-08). It says what the value means, in what units, and when it is null |
| Fields | Each field's type, whether it is non-null, and its own description. Types link to their own page |
| Arguments | Same, for every argument. Connection arguments are explained once, in Pagination |
| Deprecated | Grouped at the end. Every deprecation carries a reason and a removal date — this API only ever removes things through that path |
What is missing on purpose
- Authorization annotations. The scopes a coordinate requires are real and enforced, but they are enforcement metadata rather than API surface, so they are documented once, as a table, in Authentication and scopes.
- Federation internals. Entity keys, shared value types and the resolution fields the router calls between subgraphs are stripped before this site is generated. They are a property of how the graph is assembled, not something a client can send.
Two names that will look odd
Both are deliberate, both are recorded decisions, and both are easier to meet here than at three in the morning:
AdsPageInfo. Ads connections carryAdsPageInfowhere HR connections carryPageInfo. The four Relay fields are identical; only the name differs. Pagination explains why, and why the alternative was worse.QueryandMutationdescriptions name one module. The root types are merged from every subgraph, and the merge keeps a single description. Read the per-field descriptions instead — those are always the owning module's.