https://caretly.dev/console/api/v1.
Get a key
The Console API uses the same API keys as the renderer. Create one at caretly.dev/console/keys, or use a key you already have, and send it as a bearer token:Test keys can read too, and they see the usage of the whole organisation, live labels included. A read-only integration doesn’t need a live key.
401 with an error message.
Monthly totals
month for the current month. Months are calendar months in UTC. free_labels are the live labels rendered while your organisation had free access; they are never billed, also after the free access ends. The estimated cost is the other live labels times the price per label; your invoice is authoritative.
For a breakdown, use /usage/daily for labels per day and /usage/keys for labels and requests per key. They take the same month parameter.
Page through usage events
/usage/events lists your usage newest first. Usage is recorded about once a second: an event counts all requests one key made in one format during that second, so a busy key gets one event per second, not one per request. Requests sent with an Idempotency-Key are listed one by one, so a retry shows up (and is billed) once.
Each event has an id request_id, key_id, type (live or test), labels, requests (how many requests it counts), format, and at and until: when the first and last of those requests were rendered (equal for a single request). Older events, from before usage was added up per second, are one request each.
next_cursor is not null, there are more events. Pass it as cursor, with the same from and to, to get the next page:
curl and jq:
limitis 100 by default and at most 1000.fromis inclusive andtois exclusive. They are RFC 3339 times and may be at most 31 days apart. Without them you get the last 31 days.- Write offsets as
Z, or encode+as%2Bin the URL. - Treat the cursor as opaque. Pages stay stable while new usage comes in, so you don’t miss or repeat events.
Keys and billing
/keys lists your keys with their type, expiry and status (active, expired or revoked). It never returns tokens.
/billing returns your subscription status, whether live keys can be used, and the price per label: