billing

PATCH /v1/cdn/credit

Set the spend cap, or turn auto-top-up on or off.

All billing endpoints

Authentication

Send an API key as a bearer token. The key must carry the billing.payment.manage permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X PATCH https://api.zinndigital.com/v1/cdn/credit \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

The spend cap is the customer's and it is enforced, not advisory: reaching it pauses metered serving. It has a platform minimum, below which a cap would pause an account before it could do anything useful. Auto-top-up refills the **balance** so serving continues below the ceiling. It never raises the ceiling — a top-up that moved the cap would make the cap unreachable and turn a spending limit into a delay. Raising the cap above current spend resumes an account paused by that cap. It does **not** resume one paused by staff, or one paused because the account is not in good standing; those need the thing that actually caused them. Reading the balance is `billing.view`; changing a ceiling is a money change and requires `billing.payment.manage`.

Request body

NameTypeRequiredWhat it is
spend_cap_minorintegerNo
auto_top_upbooleanNo
auto_top_up_amount_minorintegerNo

Response

NameTypeRequiredWhat it is
currencystringYes
balance_minorintegerYes
spend_cap_minorintegerYesThe customer's own ceiling. Enforced, not advisory.
spent_period_minorintegerYes
min_spend_cap_minorintegerYesThe lowest cap the platform accepts.
auto_top_upbooleanYesOn by default. Refills the balance so serving continues **below** the cap; it never raises the cap.
auto_top_up_amount_minorintegerYes
statestring<active, paused_cap, paused_standing, paused_admin>Yes
paused_reasonstringNo
worst_case_overshoot_minorintegerNoHow far past the cap spending can run before the next usage sample stops it. Reported rather than hidden: the cap cannot be exact, and a product promising a ceiling it cannot ho…

Errors this endpoint can return

401 · 403 · 404 · 422 · 429