public
POST /v1/public/cart/{token}/items
Add a domain to an anonymous cart.
Autenticação
Este endpoint é público. Ele não requer credenciais nem organização — é o que nosso próprio site de marketing e os mecanismos de resposta de IA leem.
Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.
Experimente
Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.
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> }'Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API
Detalhes
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
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
token (path) | string | Sim | 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… |
Corpo da requisição
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
kind | string<domain_register> | Sim | — |
domain | string | Sim | 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 | Sim | — |
years | integer | Sim | — |
availability_token | string | Sim | 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 | Não | — |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
id | Uuid | Sim | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
token | string | Não | 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> | Sim | — |
currency | CurrencyCode | Sim | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
product_line | string | Não | — |
expires_at | string | Sim | After this the cart is gone — reads 404 whether or not it has been purged. |
items | PublicCartItem[] | Sim | — |
totals | PublicCartTotals | Sim | Pre-tax totals. Tax appears on the order, once a billing country exists. |
Erros que este endpoint pode retornar
404 · 409 · 422 · 429