hosting

GET /v1/sites/{siteId}/plan

List the plans a site could move to, priced.

Όλα τα τελικά σημεία hosting

Όλα τα έγγραφα προγραμματιστών

Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα sites.view· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.

Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.

Δοκιμάστε το

Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.

curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/plan \
  -H "Authorization: Bearer zdk_live_…"

Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API

Λεπτομέρειες

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

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
siteId (path)UuidΝαιSite ID (UUIDv7).

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
currentSitePlanOptionΝαι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.
optionsSitePlanOption[]ΝαιThe plans the site could move to, each already scored.
changeablebooleanΝαιWhether the surface is open at all for this site.
reasonstringΝαιWhy the whole surface is closed, as a codesubscription_not_live when the governing subscription is cancelled or expired and so is not a sale to change, no_eligible_plan
shared_withintegerΝαι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…
coverageSitePlanCoverageΝαιThe sites this plan covers and the slots they use. Null only when the site has no governing subscription to read.

Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο

401 · 403 · 404 · 422 · 429 · 503