public
POST /v1/public/cart/{token}/items
Add a domain to an anonymous cart.
Autenticación
Este endpoint es público. No requiere credenciales ni organización; es lo que leen nuestro propio sitio de marketing y los motores de respuesta de IA.
Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
curl -X POST https://api.zinndigital.com/v1/public/cart/{token}/items \
-H "Content-Type: application/json" \
-d '{ "kind": <string<domain_register>>, "domain": <string>, "tld": <string>, "years": <integer>, "availability_token": <string> }'¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
Adds one `domain_register` item and returns the updated cart. `availability_token` is the `token` from a search result for **this exact name** and is required: it is what proves the item came out of a real, rate-limited search rather than being invented, so a name that search would not sell cannot be added here either. A stale, forged or now-taken name is a `409`. A cart holds at most 20 items, and one name may appear only once. The price is computed by the server; anything sent by the client is ignored.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
token (path) | string | Sí | The 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… |
Cuerpo de la solicitud
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
kind | string<domain_register> | Sí | — |
domain | string | Sí | The full FQDN (`acme.com`) or just the second-level label (`acme`) alongside `tld`. Both resolve to the same name; a sub-domain is rejected. |
tld | string | Sí | — |
years | integer | Sí | — |
availability_token | string | Sí | The `token` from a search result **for this exact name**. Required — it is what proves the item came from a real search, so nothing that search declines to sell can be added by… |
privacy | boolean | No | — |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
id | Uuid | Sí | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
token | string | No | The bearer token. Returned **only** from `createPublicCart` — it is absent on every subsequent read, because only its digest is stored. |
status | string<open, converted, expired> | Sí | — |
currency | CurrencyCode | Sí | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
product_line | string | No | — |
expires_at | string | Sí | After this the cart is gone — reads 404 whether or not it has been purged. |
items | PublicCartItem[] | Sí | — |
totals | PublicCartTotals | Sí | Pre-tax totals. Tax appears on the order, once a billing country exists. |
Errores que este endpoint puede devolver
404 · 409 · 422 · 429