Skip to content

Usage and reports

Every check is counted per limit, per subject, per hour — and reported in the app and the API, at most about a minute behind live checks.

Usage shows, for the limit you pick:

  • Last 30 days — units used per day (UTC), by every subject together.
  • Right now — this window’s subjects, most used first: what each used, what is left, and Over — n denied for anyone turned away.

With a key or token holding limits:read:

Terminal window
# A limit's use over time: by day (default) or hour, all subjects or one
curl "https://api.limitry.com/v1/usage?limitId=$LIMIT_ID&granularity=day" \
-H "Authorization: Bearer $LIMITRY_API_KEY"
# Who is using it in the current window
curl "https://api.limitry.com/v1/usage/subjects?limitId=$LIMIT_ID" \
-H "Authorization: Bearer $LIMITRY_API_KEY"

/v1/usage answers every bucket in the range (zeros included) with used, allowed and denied; add subjectKind and subjectId for one subject, and from / to (ISO times) for another range — the default is the last 30 days. used is net: a reservation’s unused part, or a released one, is given back.

For a balance (window total), “what is left” includes the credits you’ve added.

History is kept for 13 months.

The first time a subject is denied by a limit in a window, your webhook endpoints get limit.exceeded:

{
"type": "limit.exceeded",
"data": {
"limit": "lim_…",
"subject": { "kind": "user", "id": "u_42" },
"windowStart": "2026-10-05T00:00:00.000Z",
"resetsAt": "2026-10-06T00:00:00.000Z"
}
}

Once per subject, limit and window — not on every denied check. resetsAt is null for a balance. A budget is a limit, so an agent running out of budget is this event too. Subscribe in Settings → Webhooks.