param is included when a specific request field or member caused the error.
Every matched analytics endpoint response includes x-request-id; on errors
it matches error.request_id. Unknown paths and unsupported methods return
Fastify’s default JSON 404 without this envelope, x-request-id, or an
Allow header. The service does not currently return 405 Method Not Allowed.
The published model names are
agent_runs and agent_user_activity; any
other model name returns unknown_member.
A well-formed key that is unknown or revoked normally returns 401. While the
global credential-verification limit described in
Authentication is exhausted, the same request returns
429 with Retry-After instead. A missing or malformed credential always
returns 401.
Ordering has two grammar rules, and both violations return invalid_query.
Order terms must reference selected members, so ordering by a member that is
not in metrics or dimensions returns invalid_query even when the member
is not in the catalog at all. Order also requires at least one dimension: a
totals query rejects any order.
A request with a missing or unsupported Content-Type, or with a body larger
than 1 MiB, is also rejected as 400 invalid_query.
Body parsing happens before bearer authentication and the custom rate limits.
A malformed query body can therefore return 400 before the same request
would otherwise return 401 or 429.
Messages for the four query-domain codes are safe for callers. Statement
timeouts and infrastructure failures remain internal_error; they are not
converted into query errors.