GET /v1/usage returns aggregated buckets — total_credits, total_input_tokens, etc. summed over a window. When you need event-level granularity (one row per billed request, e.g. for FinOps reconciliation against per-call receipts), use GET /v1/usage/events instead.
Shape
id from the original resource (cmp_* for chat, emb_* for embedding, img_* for image, vid_* for video), the type, the token counts, the credit charge, and pointers back to the API key + user.
Query parameters
Required
start_time(RFC 3339) — inclusive lower bound. Maximum lookback: 730 days.end_time(RFC 3339) — exclusive upper bound; defaults tonow.
Filters
type—chat/embedding/image/video(comma-separated for multi-value)status—completed/failed/cancelled/processing/pendingmodel— slug or comma-separated multi-valueapi_key_id—apikey_<ulid>user_id— uuidlora_id—lora_<ulid>(image/video rows only)
Pagination
limit— rows per page (default 100, max 500)cursor— opaque forward-only cursor
/v1/usage page_token). It encodes a (created_at, id) tuple — rows are returned in descending created_at order, ties broken by id ascending.
Use cases
Per-call audit against your ledger
request_id on each event matches the Aurous-Request-Id header you got on the original response — that’s the canonical identifier for cross-system reconciliation.
FinOps cost attribution
api_key_id lets you attribute spend to a particular integration or environment (mint a separate API key per workload), and user_id tracks which team member kicked off the call (when calls go via the dashboard or a per-user-token integration).
Replaying a window into your own analytics
For long windows (multiple days), iterate the cursor and stream rows into your warehouse:/v1/usage/events vs /v1/usage — when to pick which
| Question | /v1/usage | /v1/usage/events |
|---|---|---|
| Total spend on chat last week? | ✅ aggregate sum | ❌ would have to sum |
| Which call cost $50? | ❌ no per-call | ✅ per-row charge |
| Daily chart for the dashboard? | ✅ pre-bucketed | ❌ aggregate client-side |
| Reconcile to my billing ledger? | ⚠️ aggregate only | ✅ row-by-row |
| Audit a specific request_id? | ❌ | ✅ filter by request_id (via cursor walk) |
| Compute p95 latency last hour? | ✅ duration_ms_p95 baked in | ⚠️ compute client-side |
/v1/usage is the dashboard view; /v1/usage/events is the ledger view.
Where to next?
- Usage overview — aggregated usage queries
- Usage pagination — cursor walk pattern
- Cost transparency — receipt math reconciliation
- Webhooks — push-based event ingest as an alternative to polling
GET /v1/usage/events— endpoint reference

