Check a new database on several servers
const url = 'https://opfield.example.com/api/databases/managed/availability/preflight';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"nodeIds":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"witness":{"relayIds":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"nodeId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"},"durability":"synchronous","manual":true,"type":"postgres","version":"example","tlsEnabled":true,"storageSizeGb":1,"folderId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://opfield.example.com/api/databases/managed/availability/preflight \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "nodeIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "witness": { "relayIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "durability": "synchronous", "manual": true, "type": "postgres", "version": "example", "tlsEnabled": true, "storageSizeGb": 1, "folderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'What creating the database on these servers would do: the mode (automatic with witnesses, else manual), lease voters and witnesses, the measured round trip between the servers, the default durability and what an unplanned failover can lose, blockers and warnings. Needs databases:create on every server. Needs the current plan with multi-node availability (Business).
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
object
object
Responses
Section titled “Responses”Successful response
object
object
Automatic | manual
object
Relay | node
Every host that may be a witness for these servers, not only the ones picked
object
The durability the engine always uses, or null
Synchronous | asynchronous
Synchronous | asynchronous
object
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Production Postgres", "type": "postgres", "healthStatus": "online" }}Bad request
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}