hosting

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

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

Усі кінцеві точки hosting

Уся документація для розробників

Автентифікація

Надішліть ключ API як маркер носія (bearer token). Ключ повинен мати дозвіл 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, щоб ви могли побачити справжню відповідь. Відкрийте цю кінцеву точку в консолі 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, bandwidth, database>ТакWhich metered per-site resource. Every SELLABLE resource is addressable: disk and inodes are written to the box where the driver can hold them, while bandwidth (since the…

Тіло запиту

НазваТипОбов'язковеЩо це таке
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, database>Так
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, MB for the…
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…
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…
price_currencystringТак
price_intervalstring<monthly, yearly>Так

Помилки, які може повертати ця кінцева точка

401 · 403 · 404 · 422 · 429