Update a cluster
const url = 'http://localhost:8000/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';
const options = {
method: 'PATCH',
headers: {
'API-Version': '2026-06-01.beta',
'API-Key': '<API-Key>',
'Content-Type': 'application/json'
},
body: '{"size":"medium"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}curl --request PATCH \
--url http://localhost:8000/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'API-Key: <API-Key>' \
--header 'API-Version: 2026-06-01.beta' \
--header 'Content-Type: application/json' \
--data '{ "size": "medium" }'Updates one or more fields on the cluster. All fields are optional — only the fields provided are changed.
Version upgrades
Set version to upgrade the cluster to a newer Keycloak version. Upgrades are sequential only — you must
upgrade one version at a time. To determine the correct next version, use the
GET /clusters/{cluster_id}/upgrade-path endpoint, which returns the ordered sequence of versions the cluster
must pass through to reach the latest available version.
Attempting to skip a version returns 409 Conflict. Downgrading to a lower version is not supported.
Major version upgrades (e.g. 25.x → 26.x) include database schema migrations that cannot be easily reversed.
Cancelling a major upgrade mid-flight via POST /clusters/{cluster_id}/upgrades/cancel is possible but risky
if migrations have already been applied.
Required scope: clusters:write
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Partial update request. At least one field must be provided. location and type cannot be changed after creation.
object
Cluster version in semver format. Check the documentation for the latest supported versions.
Example
26.5.5Change the management mode of the cluster.
Replace the full set of enabled feature flags.
Replace the full set of disabled feature flags.
Change the HTTP path prefix. Set to / to revert to the root path.
Whether to enable or disable SSO integration.
Enable or disable automatic patch upgrades.
Example
{
"size": "medium"
}Responses
Section titled “Responses”The request has succeeded.
A Keycloak cluster managed by Skycloak.
object
Unique cluster identifier.
Human-readable cluster name.
Cluster version in semver format. Check the documentation for the latest supported versions.
Region where the cluster is hosted.
Skycloak manages the full lifecycle of the cluster. Every cluster is fully managed.
Keycloak instance URL. Only non-empty once the cluster reaches available status.
Whether admin console SSO integration is enabled for this cluster.
Whether automatic patch upgrades are enabled for this cluster.
Path prefix Keycloak is served from (e.g. /auth). Empty string means /.
Keycloak feature flags explicitly enabled on this cluster.
Keycloak feature flags explicitly disabled on this cluster.
Example
{
"type": "keycloak",
"size": "small",
"version": "26.5.5",
"location": "us",
"status": "provisioning",
"management_mode": "full",
"http_relative_path": ""
}The server could not understand the request due to invalid syntax.
RFC 9457 Problem Details object.
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com"
}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"
}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
object
object
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com",
"errors": [
{
"field": "example",
"detail": "example",
"code": "example",
"value": "example"
}
]
}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"
}