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
| Name | Type | Required | What it is |
|---|---|---|---|
spend_cap_minor | integer | No | — |
auto_top_up | boolean | No | — |
auto_top_up_amount_minor | integer | No | — |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
currency | string | Yes | — |
balance_minor | integer | Yes | — |
spend_cap_minor | integer | Yes | The customer's own ceiling. Enforced, not advisory. |
spent_period_minor | integer | Yes | — |
min_spend_cap_minor | integer | Yes | The lowest cap the platform accepts. |
auto_top_up | boolean | Yes | On by default. Refills the balance so serving continues **below** the cap; it never raises the cap. |
auto_top_up_amount_minor | integer | Yes | — |
state | string<active, paused_cap, paused_standing, paused_admin> | Yes | — |
paused_reason | string | No | — |
worst_case_overshoot_minor | integer | No | How 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