Refresh behavior
Each endpoint has a refresh interval. Qry continues serving the latest active
snapshot until a newer successful refresh replaces it. The response metadata
reports last_refreshed_at so callers can decide whether the data meets their
own requirements. Failed refreshes do not invalidate the active snapshot.
If there is no active pointer, metadata, or verified object, Qry returns
409 snapshot_unavailable. Public serving never falls back to a live
warehouse query.
Request bounds
Configure endpoint limits in the endpoint editor. The endpoint definition includes the maximum materialized rows, maximum response rows, warehouse timeout, and per-endpoint requests-per-minute limit. Variables are typed and validated before the serving query runs.
The maximum response rows value is also the API page size. Public requests use
the optional 1-based page parameter. Response metadata includes page,
page_size, and has_next_page; callers should request the next page only when
that flag is true. Page values below 1 or non-integer values return
400 invalid_page.
Common errors
| Status | Error | Meaning |
|---|---|---|
| 400 | missing_required_parameter |
A required variable was not provided. |
| 400 | invalid_parameter_type |
A variable could not be coerced to its configured type. |
| 400 | invalid_parameter_value |
A variable value is outside its configured allowed values. |
| 400 | invalid_page |
The pagination page is not a positive integer. |
| 401 | unauthorized |
The API key is missing, expired, revoked, or out of scope. |
| 404 | endpoint_not_found |
No active endpoint matches the workspace and path. |
| 409 | snapshot_unavailable |
The active snapshot cannot be verified or hydrated. |
| 429 | rate_limit_exceeded |
The endpoint request limit was exceeded. |
| 500 | request_failed |
An unexpected serving failure occurred; inspect redacted logs. |
The generated OpenAPI document remains authoritative for the exact variable schema and response envelope.