Skip to main content
GET
Usage aggregates

Authorizations

Authorization
string
header
required

Short-lived JWT issued by the CarHub auth service (Better Auth), verified against its JWKS. Claims: sub (user), org_id (active organisation) and role (owner | admin | member). Used by the dashboard for /mgmt/v1/… only — it is never accepted on /v1/….

Query Parameters

limit
integer
default:20

Page size.

Required range: 1 <= x <= 100
cursor
string

Opaque cursor from the next_cursor of the previous page. Do not construct or parse it.

Maximum string length: 255
from
string<date>

First day of the reported period (inclusive, UTC). Defaults to 30 days ago.

to
string<date>

Last day of the reported period (inclusive, UTC). Defaults to today.

endpoint
enum<string>

Keep only rows for this endpoint, given as its dotted slug. Dotted slug of a CarHub endpoint, the identifier used for jobs and usage.

Available options:
vehicle.analyse,
vehicle.segment,
vehicle.identify,
vin.read,
plate.read,
document.read,
dashboard.read,
engine.detect,
video.onboard,
damage.detect,
damage.severity,
tire.read,
tire.detect,
parts.recognize,
parts.segment,
parts.decompose,
pricing.vehicle,
pricing.repair,
render.background,
render.enhance,
render.plate,
render.360,
render.video,
viewer.hotspots,
inspections
livemode
boolean

Keep only live (true) or test (false) records. Omitted, both are returned.

Response

A page of usage rows plus period totals.

Cursor pagination, used by every list in this API. Ask for the next page by passing next_cursor back as cursor; stop when has_more is false. Cursors are opaque and stable across inserts — never build one yourself.

data
object[]
required
has_more
boolean
required
next_cursor
string | null
required

Cursor of the next page, null on the last one.

totals
object
required

Totals over the whole requested period, not only the current page.