Skip to content

Rotate a managed database direct-TLS certificate

POST
/api/databases/managed/{id}/rotate-certificate
curl --request POST \
--url https://gateway.example.com/api/databases/managed/550e8400-e29b-41d4-a716-446655440000/rotate-certificate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "allowRestart": true }'

Issues a new certificate from the Database CA and has the running engine reload it in place (PostgreSQL, Redis and ClickHouse keep serving). A restart is used only with allowRestart or when the node daemon cannot reload certificates yet. Gateway also renews these certificates automatically before they expire.

id
required
string
>= 1 characters
Example
550e8400-e29b-41d4-a716-446655440000

Optional JSON request body

Media typeapplication/json
object
allowRestart

Restart the workload when the engine does not load the renewed certificate by itself. Without it the certificate is reloaded in place and, for an engine that rereads it on a schedule, finished later.

boolean
Examplegenerated
{
"allowRestart": true
}

Successful response

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Production Postgres",
"type": "postgres",
"healthStatus": "online"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}