hosting
POST /v1/sites/{siteId}/quota/resources/{resource}/upgrade
Buy more disk or file allowance for one site.
Автентифікація
Надішліть ключ API як маркер носія (bearer token). Ключ повинен мати дозвіл sites.view; ключ без нього відхиляється з кодом 403, а не 404.
Цей кінцевий пункт не потребує ідентифікатора організації. Ваш ключ уже ідентифікує організацію, якій він належить, і відповідь обмежується її межами.
Спробувати
Замініть усе в кутових дужках власними значеннями, а заповнювач ключа — ключем із вашої панелі керування.
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/quota/resources/{resource}/upgrade \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "steps": <integer> }'Увійшли в систему? Консоль API у вашій панелі керування автоматично підставляє ваш реальний ідентифікатор організації та ваш власний ключ, а також виконує запит до робочого API, щоб ви могли побачити справжню відповідь. Відкрийте цю кінцеву точку в консолі API
Деталі
Raises this site's ceiling by steps purchasable steps (1 GB of disk, 50,000 inodes) and applies it to the box. Recorded as an open-ended grant rather than by editing the base, so what the site started with and what the customer bought stay separately revocable. ⛔⛔ The charge is created BEFORE the ceiling is raised, and an upgrade that cannot be charged for is refused with 422 — no grant, nothing on the box. Both refusals answer 422 and the body distinguishes them: no published price in the caller's currency, or no way to take the payment. Free capacity on a real box is the failure no customer reports, because they received what they asked for. Charge-then-apply is deliberate: a charged-but-unapplied upgrade is repaired by the ten-minute reconciler, and free capacity is repaired by nobody. An upgrade also lifts a quota freeze immediately, because paying is the remedy and waiting for a sweep would be the worst minute of the product to leave to a schedule. Requires sites.view and hosting.quota.manage — an upgrade commits the organisation to a recurring charge, which is a money authority rather than a hosting one.
Параметри
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
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… |
Тіло запиту
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
steps | integer | Так | How many purchasable steps to add. |
Відповідь
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
resource | string<disk, inodes, bandwidth, database> | Так | — |
unit | SiteQuotaUnit | Так | 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… |
step | integer | Так | One purchasable step, in unit. A customer buys N of these, never an arbitrary size. |
base | number | Так | 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… |
granted | number | Так | Extra from grants live right now — staff gestures and purchased upgrades, added together. |
total | number | Так | The effective ceiling — base + granted. null when base is null. |
used | number | Так | Measured usage. null means unknown — the box was unreachable, or nothing has sampled it yet — and never 0. A client must render those differently. |
percent | integer | Так | Usage as a whole percentage of total, or null when either is unknown. |
measured_at | string | Так | 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_at | string | Так | 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_percent | integer[] | Так | The thresholds at which the platform notifies the customer, ascending. |
price_minor | integer | Так | 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_currency | string | Так | — |
price_interval | string<monthly, yearly> | Так | — |
Помилки, які може повертати ця кінцева точка
401 · 403 · 404 · 422 · 429