Query Rejections
Requests refused before any model was called — rate limit, spend cap, balance, model access (MESH-679).
These never reach usage logging, so they are absent from /v1/usage/events by construction: a refusal has no tokens, no cost and no provider, and belongs in the request log rather than the billing ledger. Served from the request log, which has recorded them all along.
Same auth and scoping as /v1/usage/events — an rsk_ key sees only its own refusals; a session token sees the org’s, narrowed to the caller’s own keys unless they are an org or team admin.
Authorizations
Enter your MeshAPI key (rsk_...) — sent as Authorization: Bearer <key>.
Headers
Dated version of the API contract to pin this request to. Omit it and the request is served under 2026-08 — the oldest supported version, so an existing integration is never moved by a release. A malformed or unsupported value is rejected with 400 invalid_api_version rather than falling back silently. The version actually served is echoed as X-Mesh-Version on every response, including errors.
2026-08 Body
Mirrors UsageFilter's shape for the fields that apply to a refusal.
No model or status: nothing was routed, and the status is implied.