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.