databases

POST /v1/databases/{databaseId}/allowed-ips

Permit a source address or range to connect.

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 POST https://api.zinndigital.com/v1/databases/{databaseId}/allowed-ips \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "cidr": <string>, "description": <string> }'

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

Gated on `databases.manage`. A bare address is normalised to a `/32` or `/128`. Refused with 422 for an address inside our own cluster network (which would let any pod — including another tenant's database — reach this one), for an unparseable value, for a missing description, and for `0.0.0.0/0` unless `acknowledge_public` is true.

Parameters

NameTypeRequiredWhat it is
databaseId (path)stringYes

Request body

NameTypeRequiredWhat it is
cidrstringYesAn address or CIDR range. A bare address is normalised to `/32` or `/128`.
descriptionstringYesRequired. An allow-list nobody can explain is one nobody dares prune later.
acknowledge_publicbooleanNoRequired to add `0.0.0.0/0`. Opening a database to the whole internet is allowed but must never happen by pasting a value somebody half understood.

Response

NameTypeRequiredWhat it is
idstringYes
cidrstringYes
descriptionstringYes
created_atstringNo

Errors this endpoint can return

401 · 403 · 404 · 422