hosting

POST /v1/sites/{siteId}/quota/resources/{resource}/downgrade

Reduce a site's allowance — refused while the site is over the target.

Alle hosting Endpunkte

Authentifizierung

Senden Sie einen API-Schlüssel als Bearer-Token. Der Schlüssel muss über die Berechtigung sites.view verfügen; ein Schlüssel ohne diese wird mit 403 statt 404 abgelehnt.

Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.

Ausprobieren

Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/quota/resources/{resource}/downgrade \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "target": <number> }'

Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole

Details

Owner ruling: downgrades are allowed **only when the site is not over the limit**. The check is made against a **live** reading of the box, not a stored sample: a downgrade is an irreversible narrowing the customer meets at their next write, so an hour-old figure could license one that is already breached. ⛔ An **unreadable** usage is a refusal, not a pass. If the box cannot be measured the request answers `422`; "we could not tell, so we allowed it" is how a customer ends up above a ceiling they did not choose. The `422` body names the real numbers — *"This site is using 1.90 GB of disk, which is more than the 1.00 GB you asked for"* — because a customer told only "you cannot reduce this" files a ticket, and one told the figures deletes something. Purchased grants for the resource are revoked so the ceiling **is** the number asked for; staff gestures are deliberately left alone. Requires `sites.view` and `hosting.quota.manage`.

Parameter

NameTypErforderlichWas es ist
siteId (path)UuidJaSite ID (UUIDv7).
resource (path)string<disk, inodes>JaWhich metered per-site resource. Only resources the platform actually enforces are addressable — `bandwidth` is modelled and priceable in admin but nothing measures or enforces…

Anfragekörper

NameTypErforderlichWas es ist
targetnumberJaThe new ceiling, in the resource's sold unit. Refused with `422` when the site is currently using more than this, or when its usage cannot be read.

Antwort

NameTypErforderlichWas es ist
resourcestring<disk, inodes, bandwidth>Ja
unitSiteQuotaUnitJaThe unit a quota's figures are expressed in, as a **code the client localises** — never a word to render raw. `GB` for disk and bandwidth, `files` for inodes. ⛔ This was an unco…
stepintegerJaOne purchasable step, in `unit`. A customer buys N of these, never an arbitrary size.
basenumberJaThe site's own allowance, copied from the product line's admin-set default when the site was provisioned. `null` means this site has no limit row yet — it has not been through p…
grantednumberJaExtra from grants live right now — staff gestures and purchased upgrades, added together.
totalnumberJaThe effective ceiling — `base + granted`. `null` when `base` is null.
usednumberJaMeasured usage. `null` means **unknown** — the box was unreachable, or nothing has sampled it yet — and never `0`. A client must render those differently.
percentintegerJaUsage as a whole percentage of `total`, or `null` when either is unknown.
measured_atstringJaWhen the box was last asked. **Render the age.** A bar drawn from a two-day-old reading looks identical to one drawn a minute ago, and the customer cannot tell.
reverts_atstringJaWhen the ceiling next **drops**, because a temporary grant expires. `null` when no live grant has an expiry. A customer whose limit is about to fall needs to know before it does.
warn_at_percentinteger[]JaThe thresholds at which the platform notifies the customer, ascending.
price_minorintegerJaCost of ONE step, in integer minor units of `price_currency`, NET of tax. `null` means no price is published in the caller's currency — the client must then show no upgrade cont…
price_currencystringJa
price_intervalstring<monthly, yearly>Ja

Fehler, die dieser Endpunkt zurückgeben kann

401 · 403 · 404 · 422 · 429