Skip to main content
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

Each row has the 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 to now.

Filters

  • typechat / embedding / image / video (comma-separated for multi-value)
  • statuscompleted / failed / cancelled / processing / pending
  • model — slug or comma-separated multi-value
  • api_key_idapikey_<ulid>
  • user_id — uuid
  • lora_idlora_<ulid> (image/video rows only)

Pagination

  • limit — rows per page (default 100, max 500)
  • cursor — opaque forward-only cursor
The cursor is short-lived and event-stream-specific (different from the /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

The 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:
For sustained ingest, prefer webhooks — we POST a signed event the moment each row reaches a terminal status, so you don’t have to poll.

/v1/usage/events vs /v1/usage — when to pick which

In short: /v1/usage is the dashboard view; /v1/usage/events is the ledger view.

Where to next?