Balance and exhausted quota
What happens when a ByteKit bandwidth or credit balance reaches zero.
ByteKit checks the relevant balance before admitting billable work. Capture endpoints use the bandwidth balance; search uses the credit balance; schema extraction requires both.
When a request would exceed an enforced balance, ByteKit returns HTTP 402 with the error code quota_exceeded. The request does not continue as unpriced usage.
There is no automatic overage: availability is an explicit plan setting, and no standard plan enables it. Starter, Growth and Scale carry has_overage = false, so a credit-metered request past the included allowance is refused with 402 quota_exceeded rather than admitted as billable overage. Only a custom plan arranged with ByteKit can enable overage; on such a plan a configured spending cap can permit or reject additional usage, returning 402 spending_cap_reached when the cap is crossed. Capture endpoints still enforce their bandwidth budget.
Starter grant
A new pay-as-you-go account receives a one-time starter grant when it is first created: 50 MB of bandwidth and 100 credits. It is issued once per account, is not a purchase, and does not expire. Granted value is spent last — after your plan's included allowance and after any purchased top-up — so a top-up you paid for is never consumed while free grant remains.
GET /v1/billing/balance reports the grant separately from purchases: granted_topup_bytes and granted_topup_credits hold the grant, purchased_topup_bytes and purchased_topup_credits hold what you bought, and topup_bytes / topup_credits are the two added together.
To continue after a hard balance stop, purchase a top-up or move to a plan with more included usage. Auto-top-up can purchase bandwidth before the configured threshold is crossed, but it must be enabled and configured in advance; reaching zero does not silently enable it.
See Dashboard → Settings → Billing for included usage, purchased and rollover balances, and auto-top-up status.