public

POST /v1/public/cart/{token}/plan

Add a hosting plan, or a free trial of one, to an anonymous cart.

Alle public Endpunkte

Authentifizierung

Dieser Endpunkt ist öffentlich. Er erfordert weder Anmeldedaten noch eine Organisation – er wird auch von unserer eigenen Marketing-Website und den KI-Antwort-Engines gelesen.

Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.

Ausprobieren

Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.

curl -X POST https://api.zinndigital.com/v1/public/cart/{token}/plan \
  -H "Content-Type: application/json" \
  -d '{ "plan_version_id": <string>, "interval": <string<monthly, annual>> }'

Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole

Details

Owner ruling D-W15-2: hosting, free trials and domains go through ONE public checkout, so a visitor never has to sign up in the app before they can buy. The price is computed by the server from the pinned plan VERSION in the cart's own currency; anything sent by the client is ignored. A basket holds one plan at a time, because a subscription governs the org rather than a line. `trial: true` prices the line at **zero** and is refused (`422`) on a plan that does not offer a trial — eligibility is read from the catalogue, never taken on trust.

Parameter

NameTypErforderlichWas es ist
token (path)stringJaThe anonymous cart's opaque bearer token (`zgc_…`), as returned by `createPublicCart`. **It is a credential** — anyone holding it can read and modify the cart — and it travels i…

Anfragekörper

NameTypErforderlichWas es ist
plan_version_idstringJaThe immutable plan VERSION being bought. Pinning the version rather than the plan is what stops a catalogue edit repricing a basket somebody is part-way through.
intervalstring<monthly, annual>Ja
domainPublicCartPlanDomainNeinWhich domain this hosting is for. **Optional** — "I will decide later" is a real and common answer, and refusing it would put a wall in front of the purchase this field exists t…
trialbooleanNeinStart a free trial of this plan instead of buying it. The line prices at zero and the order completes with no payment step (owner ruling 2026-08-09 — a trial takes no card and s…

Antwort

NameTypErforderlichWas es ist
idUuidJaUUIDv7 identifier — sortable by creation time (docs/02 §8).
tokenstringNeinThe bearer token. Returned **only** from `createPublicCart` — it is absent on every subsequent read, because only its digest is stored.
statusstring<open, converted, expired>Ja
currencyCurrencyCodeJaISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
product_linestringNein
expires_atstringJaAfter this the cart is gone — reads 404 whether or not it has been purged.
itemsPublicCartItem[]Ja
totalsPublicCartTotalsJaPre-tax totals. Tax appears on the order, once a billing country exists.

Fehler, die dieser Endpunkt zurückgeben kann

404 · 422 · 429