Authentifizierung
Senden Sie einen API-Schlüssel als Bearer-Token. Dieser Endpunkt gibt in der Spezifikation keine spezifische Berechtigung an. Versehen Sie Ihren Schlüssel daher mit den minimal erforderlichen Rechten und prüfen Sie die Antwort, anstatt Annahmen zu treffen.
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/carts/{cartId}/lines \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "kind": <SellableLineKind> }'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
Adds a priced line. A `hosting_plan` line needs a `plan_version_id`; a `domain_register`/`domain_transfer`/`domain_renew` line needs a `domain_name`, `tld` and `period_years`. The line shape and price are validated + stamped by the server; a bad shape (or a plan version with no price) is a `422`.
Parameter
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
cartId (path) | Uuid | Ja | The cart's id. |
Anfragekörper
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
kind | SellableLineKind | Ja | The line kinds a cart will accept **today** — the write-side subset of `LineKind`. Narrower than `LineKind` on purpose. `LineKind` is what a line can *be* (a read shape, includi… |
domain_name | string | Nein | Required for a domain line. |
tld | string | Nein | Required for a domain line. |
period_years | integer | Nein | Required for a register/transfer/renew line. |
privacy | boolean | Nein | — |
auto_renew | boolean | Nein | — |
availability_token | string | Nein | The signed token from `searchDomains` for this exact name. Optional: an ordinary name prices from the TLD catalogue without one. It is **required to buy a premium name**, becaus… |
auth_code | string | Nein | The EPP/authorization code issued by the registrar the domain is currently held at. **Required for a `domain_transfer` line** — no registry will initiate a transfer without it,… |
registrar_route | RegistrationRouteKey | Nein | Which registrar buys the name, on a `domain_register` or `domain_transfer` line. Omit it for the organisation's own registrar, which is the behaviour every caller had before thi… |
plan_version_id | Uuid | null | Nein | Required for a `hosting_plan` line — the immutable plan version to bill. |
listing_package_id | Uuid | null | Nein | Required for a `marketplace_package` line — the package on a **live** listing being bought. The price is the seller's and is re-read on every basket read, so a client-sent amoun… |
interval | BillingInterval | Nein | The recurrence a price is quoted for. |
region | string | Nein | The data centre this hosting is bought for — carried onto the resulting subscription and used as the default region for sites created against it (docs/370). Blank or omitted mea… |
compute | ComputeLineConfig | Nein | How one machine on a `compute_server` cart line is built. The values are **not trusted from here**: the engine re-resolves the whole order against the live vendor before the lin… |
database | DatabaseLineConfig | Nein | The managed database a `managed_database` cart line buys (`docs/497` §8). The values are **not trusted from here**: the engine re-resolves the whole purchase through the same va… |
Antwort
| Name | Typ | Erforderlich | Was es ist |
|---|---|---|---|
id | Uuid | Ja | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | Ja | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
status | string<open, checking_out, converted, abandoned, expired> | Ja | — |
currency | CurrencyCode | null | Nein | Fixed when the cart is opened, from `CartCreate.currency` or the `X-Zinn-Currency` header, and then locked — every line must match it. Null only on a legacy cart created before… |
product_line | object | Nein | — |
lines | CartLine[] | Ja | — |
subtotal | MoneyAmount | Ja | A money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8). |
discount | MoneyAmount | Ja | A money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8). |
total | MoneyAmount | Ja | A money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8). |
created_at | string | Ja | — |
updated_at | string | Nein | — |
Fehler, die dieser Endpunkt zurückgeben kann
401 · 403 · 404 · 422 · 429