compute

GET /v1/compute/servers/{serverId}/overage

What this machine owes for bandwidth over its allowance this month.

All compute endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the sites.view 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 GET https://api.zinndigital.com/v1/compute/servers/{serverId}/overage \
  -H "Authorization: Bearer zdk_live_…"

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 traffic this machine has carried beyond its included allowance in the current metering period, what it has cost, what has already been paid, and the next threshold at which a charge is raised. Requires sites.view. Overage is charged automatically at each threshold rather than as one bill at the end of the month, so this is the screen that answers "why was my card charged". charges lists every threshold already raised for the period with what happened to it, including a decline — a decline is why a machine gets stopped, so it must be visible here rather than only in an email. period is the provider's metering month (YYYY-MM, UTC), not the subscription's billing period. The provider resets the counter it meters on at their month boundary, and the two disagree for anyone who bought mid-month; keying on the subscription's period would double-charge or free-ride on the first of every month. last_known_at is when a reading was last actually obtained. null beside a zero accrual means we have never had a number for this machine this period — not that it owes nothing — and a client must render that difference for the same reason it must not render an unknown usage gauge as 0%.

Parameters

NameTypeRequiredWhat it is
serverId (path)UuidYesThe server's id, as listComputeServers reports it. Ours (UUIDv7), minted when the order row was written — never the provider's own identifier for the machine.

Response

NameTypeRequiredWhat it is
price_per_tbobjectYes⚖️ Owner decision D73: what one TB beyond the included traffic costs THIS customer (their price, never our cost), for a machine on our own cloud — the rate the period is pinned to…
periodstringYesThe provider's metering month, YYYY-MM in UTC — not the subscription's billing period. The provider resets the counter at their month boundary and the two disagree for…
overage_gbnumberYesThe highest overage reading seen this period, in gigabytes. A high-water mark, not a sum: the provider states the month to date, so adding successive readings would count the same…
accrued_minorintegerYesWhat that traffic costs the customer, in minor units of currency.
settled_minorintegerYesHow much of it has actually been captured. The gap up to accrued_minor is what the next threshold charges for.
currencystringYesISO 4217, or "" when nothing has been metered this period.
next_threshold_minorintegerYesThe next accrued total at which a charge is raised, or null when the ladder's rungs are all settled or none is configured.
hard_ceiling_minorintegerYesThe accrued total at which this machine is stopped regardless of payment, or null before the period has been priced.
last_known_atstringYesWhen a reading was last actually obtained. ⛔ null beside a zero accrual means we have never had a number this period — not that the machine owes nothing. The same…
chargesOverageChargeAttempt[]YesEvery threshold already raised this period, ascending.

Errors this endpoint can return

401 · 403 · 404 · 429