databases
POST /v1/databases
Validate a managed database, and say where to buy it.
Autenticación
Envía una clave de API como token de portador. Este endpoint no especifica un permiso concreto en la especificación, así que otorga a tu clave los mínimos privilegios necesarios y comprueba la respuesta en lugar de dar por sentado.
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/databases \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "label": <string>, "size": <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
⛔ **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`.
Cuerpo de la solicitud
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
label | string | Sí | — |
size | string | Sí | A size code from `GET /v1/databases/catalogue`. |
engine | string<postgres, mysql> | No | 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 | No | 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… |
Errores que este endpoint puede devolver
401 · 403 · 422