hosting

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

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

Всички крайни точки в hosting

Упълномощаване

Изпратете API ключ като токен за носене. Ключът трябва да притежава разрешението sites.view; ключ без него се отхвърля с 403, а не с 404.

Този ендпойнт не изисква идентификатор на организация. Вашият ключ вече идентифицира организацията, към която принадлежи, и отговорът е ограничен до нея.

Опитайте

Заменете всичко в квадратни скоби със собствени стойности, а ключовия заместващ символ – с ключ от вашето табло за управление.

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> }'

Влязохте ли в профила си? API конзолата във вашето табло за управление попълва действителното идентификационно число на вашата организация и вашия собствен ключ и изпълнява заявката спрямо реалното API, за да можете да видите действителния отговор. Отворете този крайpoint в API конзолата

Детайли

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`.

Параметри

ИмеТипЗадължителноКакво представлява
siteId (path)UuidДаSite ID (UUIDv7).
resource (path)string<disk, inodes>ДаWhich metered per-site resource. Only resources the platform actually enforces are addressable — `bandwidth` is modelled and priceable in admin but nothing measures or enforces…

Тяло на заявката

ИмеТипЗадължителноКакво представлява
targetnumberДаThe 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.

Отговор

ИмеТипЗадължителноКакво представлява
resourcestring<disk, inodes, bandwidth>Да
unitSiteQuotaUnitДаThe 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…
stepintegerДаOne purchasable step, in `unit`. A customer buys N of these, never an arbitrary size.
basenumberДаThe 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…
grantednumberДаExtra from grants live right now — staff gestures and purchased upgrades, added together.
totalnumberДаThe effective ceiling — `base + granted`. `null` when `base` is null.
usednumberДаMeasured usage. `null` means **unknown** — the box was unreachable, or nothing has sampled it yet — and never `0`. A client must render those differently.
percentintegerДаUsage as a whole percentage of `total`, or `null` when either is unknown.
measured_atstringДаWhen 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_atstringДаWhen 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[]ДаThe thresholds at which the platform notifies the customer, ascending.
price_minorintegerДаCost 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_currencystringДа
price_intervalstring<monthly, yearly>Да

Грешки, които този крайpoint може да върне

401 · 403 · 404 · 422 · 429