Skip to main content
GET
Get Usage

Authorizations

X-API-Key
string
header
required

Response

200 - application/json

Successful Response

Response showing current API key usage, the tier's real enforced rate limits, and prepaid balance.

A later change moved pricing to a prepaid balance debited per call; the limits that actually throttle a caller day-to-day are the per-minute burst cap and the rolling 24h cap (app.middleware.rate_limit.TIER_RATE_LIMITS) -- not the monthly_* fields below, which are a separate, much looser abuse ceiling that a steady low-rate caller could in principle still cross once a month even while always under the per-minute/per-day caps.

key_id
string
required

Key identifier (SHA-256 hash prefix)

tier
string
required

Current pricing tier

rate_limit_per_minute
integer
required

Real enforced burst cap: max requests per minute for this tier

rate_limit_per_day
integer
required

Real enforced cap: max requests per rolling 24h for this tier

monthly_usage
integer
required

Requests this key made in the current calendar month (UTC), counted against monthly_limit.

monthly_limit
integer
required

Monthly request ceiling for this tier: an abuse cap enforced on key calls (429 when reached, resets on the first of the month UTC), not a number of prepaid calls. Calls paid per call with x402 are never refused by it.

remaining
integer
required

Requests left before the monthly ceiling this calendar month

usage_percent
number
required

Percentage of the monthly ceiling used this calendar month (0-100)

balance_usd
number
default:0

Prepaid balance in USD; each priced call is debited at the price in the pricing table

tier_expires_at
string<date-time> | null

When the active Growth/Pro term ends (null without a term, or with TIER_SUBSCRIPTION_ENABLED off). The key then moves to the first queued term, or back to the tier it had before

tier_queue
QueuedTerm · object[] | null

Terms bought during a higher active term (Growth during Pro), oldest first, each with the time it starts (null when there are none)

watch_recheck_credits
integer | null

Scheduled change-monitoring re-checks left, bought one-time by Growth and Pro purchases (one per re-check of one watched entry); null when the key never bought any