Skip to main content
Errors returned by the GraphQL API carry a stable code in extensions.code alongside a human-readable message, as the rate limit example shows. Branch on the code, not the message: messages may be reworded, but codes do not change. All codes except RATE_LIMITED are returned in namespaces with approval workflows enabled, where every change to a source, validator, filter, window, or segmentation has to be approved by a second person. Top-level list queries return published resources only, so a pending change is never returned as if it were live.

Request IDs

Every response from the Validio API carries an x-request-id header with a unique ID that Validio assigns to the request. Each GraphQL error also includes the ID in extensions.requestId, next to its code:
JSON
When you contact Validio support about a failed request, include its request ID so support can find the request in Validio’s logs. If you send your own x-request-id header, for example from a proxy, Validio logs it next to its own ID, so the two can be matched. The response always carries the ID that Validio assigned.