GET /v1/usage
Inspect your current plan, monthly credits, bought-credit balance, and concurrency state. Costs nothing and takes no concurrency slot.
Endpoint
[02]GET https://api.buildonto.dev/v1/usage
Authorization: Bearer onto_sk_live_YOUR_KEYResponse
[03]{
"tier": "starter",
"monthly_limit": 10000,
"used_this_month": 1342,
"remaining": 8658,
"overage_allowed": true,
"reset_at": "2026-06-01T00:00:00.000Z",
"concurrent_limit": 5,
"in_flight": 0,
"concurrent_remaining": 5,
"credits": {
"balance": 2200,
"recent_transactions": [
{ "id": "...", "delta": 2200, "reason": "purchase", "ref": "...", "balance_after": 2200, "created_at": "..." }
]
}
}Example
[04]free | starter | growth | scale | enterprise
Monthly plan credits per UTC month.
Sum of credits logged this month, including calls billed to bought credits. It can differ from X-RateLimit-Remaining, which comes from the counter that enforces quota.
monthly_limit minus used_this_month, never below 0.
Whether your tier can fall through to credits at the cap. Free is always false.
Max in-flight requests for your tier.
Current in-flight count (resets via 30s TTL safety net).
Bought credits left. Once monthly plan credits are used up, each call drains its credit cost — a batch drains N, score drains 0.
Last 5 credit movements. Each row is { id, delta, reason, ref, balance_after, created_at }, where ref (string | null) points at the Polar order id, usage event, or admin note. reason is one of purchase, usage, grant, refund, adjustment — refunds are routine, since a credit-billed request that errors is refunded automatically.
curl -H "Authorization: Bearer $ONTO_API_KEY" \
https://api.buildonto.dev/v1/usage | jq