databases

GET /v1/databases/{databaseId}

One managed database.

All databases endpoints

Authentication

Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X GET https://api.zinndigital.com/v1/databases/{databaseId} \
  -H "Authorization: Bearer zdk_live_…"

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Everything needed to understand and operate the database — host, port, database name, username, size, backup history and whether a restore has ever been proved. Gated on `databases.view`. ⛔ Never includes the password.

Parameters

NameTypeRequiredWhat it is
databaseId (path)stringYes

Response

NameTypeRequiredWhat it is
idstringYes
labelstringYesThe customer's own name for it. Never sent to the infrastructure.
enginestring<postgres, mysql>YesWhich engine this database runs (`docs/497`). Modelled as a field from the start, which is why MySQL was additive rather than a migration of every row.
engine_versionstringYesThe engine's **major** — `"18"`, `"8.4"`. The patch level is ours to keep current and is deliberately not customer-selectable: choosing your own patch level means choosing to ru…
engine_labelstringNoThe engine and version as a customer sees them — "PostgreSQL 18", "MySQL 8.4". Assembled by the API so three frontends cannot disagree about a product name.
sizestringYesA code from `GET /v1/databases/catalogue`.
statusstring<provisioning, available, failed, suspended, deleting, deleted>Yes
status_detailstringNoWhy a `failed` instance failed. Empty otherwise.
hoststringNoEmpty until the instance is `available`.
portintegerYes
database_namestringYes
usernamestringYes
high_availabilitybooleanYesWhether a standby replica is held with automatic failover. **The property customers actually choose on** — stated rather than inferred from the size, because an inference goes w…
vcpuintegerNo
ram_gbintegerNo
storage_gbintegerNo
tls_requiredbooleanYesAlways true. TLS is a precondition of selling a publicly reachable database, not a feature that can be turned off.
created_atstringYes
last_backup_atstringNoWhen a backup last **completed**. `null` means none has ever run.
order_line_idobjectNoThe paid basket line this database fulfils, or `null` for one that predates the purchase path or that staff tooling created. The subscription that bills it carries the same id.
billingManagedDatabaseBillingNoThe subscription paying for this database — what it costs, and when it next renews. ⛔ `null` means **no subscription pays for it**, which is a real state (a row created before d…
restore_verified_atstringNoWhen a backup of this database was last proved restorable **by restoring it and reading a row back over a client connection**. ⛔ Deliberately separate from `last_backup_at`: a b…

Errors this endpoint can return

401 · 403 · 404