compute

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

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

All compute endpoints

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
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 any…
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 sa…
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 distinct…
chargesOverageChargeAttempt[]YesEvery threshold already raised this period, ascending.

Errors this endpoint can return

401 · 403 · 404 · 429