hosting
POST /v1/sites/{siteId}/quota/resources/{resource}/upgrade
Buy more disk or file allowance for one site.
Pagpapatotoo
Magpadala ng API key bilang isang bearer token. Kailangang taglayin ng key ang pahintulot na sites.view; ang key na wala nito ay tatanggihan gamit ang 403, hindi 404.
Ang endpoint na ito ay hindi nangangailangan ng id ng organisasyon. Natutukoy na ng iyong key ang organisasyong kinabibilangan nito, at nakatuon ang tugon dito.
Subukan ito
Palitan ang anuman sa loob ng mga panaklong na may anggulo ng iyong sariling mga halaga, at ang placeholder ng key na may key mula sa iyong dashboard.
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> }'Nakalagda? Ang API console sa iyong dashboard ay awtomatikong naglalagay ng iyong tunay na ID ng organisasyon at sariling susi, at pinapatakbo ang kahilingan laban sa live na API upang makita mo ang aktwal na tugon. Buksan ang endpoint na ito sa console ng API
Mga Detalye
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.
Mga Parameter
| Pangalan | Uri | Kailangan | Ano ito |
|---|---|---|---|
siteId (path) | Uuid | Oo | Site ID (UUIDv7). |
resource (path) | string<disk, inodes> | Oo | 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… |
Katawan ng kahilingan
| Pangalan | Uri | Kailangan | Ano ito |
|---|---|---|---|
steps | integer | Oo | How many purchasable steps to add. |
Tugon
| Pangalan | Uri | Kailangan | Ano ito |
|---|---|---|---|
resource | string<disk, inodes, bandwidth> | Oo | — |
unit | SiteQuotaUnit | Oo | 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… |
step | integer | Oo | One purchasable step, in `unit`. A customer buys N of these, never an arbitrary size. |
base | number | Oo | 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… |
granted | number | Oo | Extra from grants live right now — staff gestures and purchased upgrades, added together. |
total | number | Oo | The effective ceiling — `base + granted`. `null` when `base` is null. |
used | number | Oo | 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 | Oo | Usage as a whole percentage of `total`, or `null` when either is unknown. |
measured_at | string | Oo | 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 | Oo | 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[] | Oo | The thresholds at which the platform notifies the customer, ascending. |
price_minor | integer | Oo | 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_currency | string | Oo | — |
price_interval | string<monthly, yearly> | Oo | — |
Mga error na maibabalik ng endpoint na ito
401 · 403 · 404 · 422 · 429