compute

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

Read a server's billing contract.

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}/renewal \
  -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

When the machine lapses at the provider, when **Zinn®** charges for it next, what that charge will be, and whether it renews at all. The provider's half is read live on every call rather than served from a stored copy: a cached copy is wrong exactly when somebody has just changed it. `renews_at` may be `""` - that means the provider did not state one, never "never" and never "free". `auto_renew`, `subscription_id`, `charge_at`, `price_amount_minor` and `price_currency` are **ours**, not the provider's, and `charge_at` rather than `renews_at` is the date the money moves - see the schema. Requires `sites.view`.

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
contract_idstringYesThe provider's contract identifier.
auto_renewbooleanYesWhether **Zinn®** will charge for this machine again — `Subscription.auto_renew` for the subscription that pays for it, reached through the paid order line. It is **not** the pr…
subscription_idstringYesThe subscription whose switch `auto_renew` reports, to send the customer to `POST /v1/subscriptions/{subscriptionId}/auto-renew`. `""` when the machine was provisioned outside a…
renews_atstringYes**The provider's date** - when the machine lapses at them, as they state it, or `""` when they state none. Blank means "not stated" - never "never". It is what the "runs until X…
charge_atstringYes**Zinn®'s date** - when the customer's card is charged next, ISO-8601, or `""` when the machine has no Zinn® subscription. This is `Subscription.current_period_end`: the rebill…
price_amount_minorobjectYesWhat the customer will be charged at `charge_at`, in **integer minor units** of `price_currency`, taken from the subscription's captured price (a live subscriber keeps the price…
price_currencystringYesThe ISO-4217 code `price_amount_minor` is denominated in, or `""` when there is no subscription. Never rendered apart from the amount, and the amount never without it.
periodstringYesThe renewal cadence as the provider spells it, or `""`.

Errors this endpoint can return

401 · 403 · 404 · 422 · 429 · 503