REST API · billing

GET /billing

The project's billing state: which ledger it settles on (`prepaid` or `invoiceable`), credit balances (paid + testing), current tier, effective live RPM (add-ons included), free-tier decay countdown, remaining allowance vs prepaid pools, and the plan's overage rate.

An empty balance does not mean the project cannot send: an Enterprise account's credit fields are empty by design, live traffic is never refused for an exhausted balance, and a free-tier project is exempt from live credit billing outright. Only the testing pool refuses when spent. On a Pro or Scale plan billed for overage, `overage` reports the billing cycle running now: `usedCredits` (credits used in it), `overageCredits` (the part beyond your allowance and prepaid credits), `amount` (what that comes to so far, in minor units of `currency`, such as cents; null when it cannot be worked out), `windowEndsAt` (when this cycle stops counting), `throttled` (true while this cycle's request limit is halved because spend passed five times the plan's credits) and `throttledUntil` (when the halved limit ends, or null). It is absent otherwise. On Pro or Scale, `overageBilling` is the account's own overage setting, changed with `PUT /billing/overage-billing`.

get_api_billing

Authentication

  • Bearer

Responses

200

The project's billing state.

application/json

{
    "credits": 0,
    "testCredits": 1200,
    "billingModel": "prepaid",
    "tier": "paid",
    "liveRpm": 1000,
    "daysUntilDecay": null,
    "allowanceRemaining": null,
    "prepaidRemaining": 0,
    "overageRatePer1k": 7,
    "overageBilling": true,
    "overage": {
        "usedCredits": 262500,
        "overageCredits": 12500,
        "amount": 87,
        "currency": "EUR",
        "windowEndsAt": "2026-10-01T09:00:00+00:00",
        "throttled": false,
        "throttledUntil": null
    }
}

← REST API reference