databases
POST /v1/databases
Validate a managed database, and say where to buy it.
Autenticação
Envie uma chave de API como um token bearer. Este endpoint não especifica uma permissão específica na documentação, portanto, conceda à sua chave o mínimo necessário e verifique a resposta em vez de assumir.
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/databases \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "label": <string>, "size": <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
⛔ **This endpoint no longer creates a database — it always answers `422`** (`docs/497` §8). Until 2026-09-05 it created a real cluster for nothing: no order, no invoice, no subscription and no charge, so a customer could run a highly-available database that never appeared on any bill. A managed database is **bought**: `POST /v1/carts/{cartId}/lines` with `kind=managed_database` and a `database` block, then checkout. Fulfilment creates the instance in `provisioning` and starts the Temporal workflow that builds it. The request is still **validated first**, so a caller learns *why* it would be refused before it goes to the basket and pays: the account is not in good standing, the label is blank or already used in this organisation, the size is not on sale, the engine or version is not one we run, the size belongs to a different engine, or the organisation already holds the self-service maximum. Only when all of that passes does it answer with the `PURCHASE_REQUIRED` code that names the basket. Gated on `databases.manage` in addition to `databases.view`.
Corpo da requisição
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
label | string | Sim | — |
size | string | Sim | A size code from `GET /v1/databases/catalogue`. |
engine | string<postgres, mysql> | Não | Optional. Omitted uses PostgreSQL. ⛔ Must match the engine the `size` code belongs to — a MySQL request carrying a `db_pg_*` size is refused, because it would run one engine and… |
engine_version | string | Não | Optional engine version — `"18"`, `"8.4"`. Omitted uses the newest we offer for the chosen engine. ⛔ A version too close to end of life is refused **by name** rather than silent… |
Erros que este endpoint pode retornar
401 · 403 · 422