Restart the cluster's Keycloak instances
const url = 'http://localhost:8000/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/restart-instances';
const options = {
method: 'POST',
headers: {'API-Version': '2026-06-01.beta', 'API-Key': '<API-Key>'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}curl --request POST \
--url http://localhost:8000/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/restart-instances \
--header 'API-Key: <API-Key>' \
--header 'API-Version: 2026-06-01.beta'Rolls the cluster’s Keycloak instances, for example so theme content replaced under an exact theme name
(see PUT /theme-settings) starts rendering. Applies immediately unless the workspace’s disruptive changes
are latched to the maintenance window, in which case the response reports deferred: true and, when known,
next_window.
Returns 409 Conflict when the cluster is not in the available status, with a code field identifying
why: cluster_busy (a restart or other update is already in progress), cluster_not_available (the cluster
is failed, deleting, stopped, provisioning, degraded, or under maintenance), or env_var_limit (no
environment variable slot left to fall back to on an older operator).
Required scope: clusters:write
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Responses
Section titled “Responses”The request has been accepted for processing, but processing has not yet completed.
Outcome of a requested Keycloak instance restart.
object
True when the restart is deferred to the cluster’s maintenance window instead of applying immediately.
When the deferred restart’s maintenance window next opens. Absent when deferred is false, or when the next window could not be resolved.
Customer-facing description of how disruptive the restart is for this cluster’s size.
Example generated
{
"deferred": true,
"next_window": "2026-04-15T12:00:00Z",
"impact": "example"
}Access is unauthorized.
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Access is forbidden.
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}The server cannot find the requested resource.
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}The request conflicts with the current state of the server.
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Client error
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Headers
Section titled “Headers”Server error
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}Server error
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}