Skip to content

Restart the cluster's Keycloak instances

POST
/clusters/{cluster_id}/restart-instances
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

cluster_id
required
string format: uuid
API-Version
required
string
Allowed values: 2026-06-01.beta

The request has been accepted for processing, but processing has not yet completed.

Media typeapplication/json

Outcome of a requested Keycloak instance restart.

object
deferred
required

True when the restart is deferred to the cluster’s maintenance window instead of applying immediately.

boolean
next_window

When the deferred restart’s maintenance window next opens. Absent when deferred is false, or when the next window could not be resolved.

string format: date-time
impact
required

Customer-facing description of how disruptive the restart is for this cluster’s size.

string

Example generated

{
  "deferred": true,
  "next_window": "2026-04-15T12:00:00Z",
  "impact": "example"
}

Access is unauthorized.

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

Example generated

{
  "type": "https://example.com",
  "title": "example",
  "status": 1,
  "detail": "example",
  "instance": "https://example.com"
}

Access is forbidden.

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

Example generated

{
  "type": "https://example.com",
  "title": "example",
  "status": 1,
  "detail": "example",
  "instance": "https://example.com"
}

The server cannot find the requested resource.

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

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.

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

Example generated

{
  "type": "https://example.com",
  "title": "example",
  "status": 1,
  "detail": "example",
  "instance": "https://example.com"
}

Client error

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

Example generated

{
  "type": "https://example.com",
  "title": "example",
  "status": 1,
  "detail": "example",
  "instance": "https://example.com"
}
Retry-After
integer
RateLimit-Limit
integer
RateLimit-Remaining
integer
RateLimit-Reset
integer
X-RateLimit-Limit-Second
integer
X-RateLimit-Remaining-Second
integer
X-RateLimit-Limit-Minute
integer
X-RateLimit-Remaining-Minute
integer
X-RateLimit-Limit-Hour
integer
X-RateLimit-Remaining-Hour
integer
X-RateLimit-Limit-Day
integer
X-RateLimit-Remaining-Day
integer

Server error

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

Example generated

{
  "type": "https://example.com",
  "title": "example",
  "status": 1,
  "detail": "example",
  "instance": "https://example.com"
}

Server error

Media typeapplication/problem+json

RFC 9457 Problem Details object.

object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string format: uri

Example generated

{
  "type": "https://example.com",
  "title": "example",
  "status": 1,
  "detail": "example",
  "instance": "https://example.com"
}