hosting
GET /v1/sites/{siteId}/plan
List the plans a site could move to, priced.
Autentifikimi
Drgoni një çelës API si një token mbajtës. Çelësi duhet të ketë lejen sites.view; një çelës pa të refuzohet me 403, jo 404.
Ky pikëndalim nuk pranon id të organizatës. Çelësi juaj tashmë identifikon organizatën së cilës i përket dhe përgjigjja kufizohet vetëm për atë.
Provoje
Zëvendësoni çdo gjë brenda kllapave këndore me vlerat tuaja dhe vendbanuesin e çelësit me një çelës nga paneli juaj.
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/plan \
-H "Authorization: Bearer zdk_live_…"Jeni kyçur? Konsola e API-së në panelin tuaj plotëson ID-në tuaj reale të organizatës dhe çelësin tuaj, dhe ekzekuton kërkesën kundrejt API-së live, kështu që ju mund të shihni përgjigjen aktuale. Hapni këtë pikë fundore në konsolën e API-së
Detajet
Every catalogue plan this site could move onto, each already scored against the site, each priced with a prorated quote, and each refusal already applied. A customer who outgrew their package previously had no path at all: the adapter's `resize()` deliberately raises, pointing at a package-type change that nothing could perform. ⛔ `blocked_reason` and `reason` are **stable codes, never prose**. The engine never sends a sentence a customer reads, because it would be one language on every screen (§2.7); the localised text is the client's. `blocked_detail` carries the numbers behind `usage_exceeds` so the screen can say *which* limit and by how much. Every money figure is an integer in minor units (§2.8) — never a float, never a formatted string — and `total_minor` and `credit_minor` are two fields rather than one signed number, because a screen that renders a negative total as a charge is a screen that took money for a refund. Serves **our own fleet as well as the managed shared range** (#2271). On the fleet a plan names no vendor package template — the plan *is* its entitlement set, and applying it is a real `setquota` on a box we own — so `package_type` is an empty string there and the package-type refusals (`no_package_type`, `unknown_package_type`, `platform_mismatch`) cannot occur. `404` for a site whose platform has no plan to change, and **that set is narrower than "not managed shared"**: a **VPS** or **cloud server** is a machine we hand over where the billed unit is the machine (a resize belongs on the compute seam, and the platform itself refuses a cross-platform package-type change), and an **edge host** has no account at all. Also `404` for a site that is not the caller's. Requires `sites.view` **and** `billing.view`: this is a price list for the customer's own site, and support needs to see it to answer *"what would an upgrade cost"*.
Parametrat
| Emri | Lloji | Kërkohet | Çfarë është kjo |
|---|---|---|---|
siteId (path) | Uuid | Po | Site ID (UUIDv7). |
Përgjigja
| Emri | Lloji | Kërkohet | Çfarë është kjo |
|---|---|---|---|
current | SitePlanOption | Po | The plan the site is on now. Null when the site's package type matches no plan in our catalogue, which is a real state and not an error. |
options | SitePlanOption[] | Po | The plans the site could move to, each already scored. |
changeable | boolean | Po | Whether the surface is open at all for this site. |
reason | string | Po | Why the whole surface is closed, as a **code** — `subscription_not_live` when the governing subscription is cancelled or expired and so is not a sale to change, `no_eligible_pla… |
shared_with | integer | Po | How many sites OTHER than this one draw on the same plan. Retained for clients written against the old refusal, and now derived from `coverage.sites` so the count and the list c… |
coverage | SitePlanCoverage | Po | The sites this plan covers and the slots they use. Null only when the site has no governing subscription to read. |
Gabimet që ky pikëndalim mund të kthejë
401 · 403 · 404 · 422 · 429 · 503