Skip to content

List realms

GET
/clusters/{cluster_id}/realms
curl --request GET \
  --url http://localhost:8000/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/realms \
  --header 'API-Key: <API-Key>' \
  --header 'API-Version: 2026-06-01.beta'

Returns all non-system realms for the specified cluster.

Required scope: realms:read

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

The request has succeeded.

Media typeapplication/json
Array<object>

Realm details.

object
id
required
string format: uuid
name
required
string
>= 1 characters <= 63 characters /^[a-zA-Z][a-zA-Z0-9-]*$/
display_name
required
string
>= 1 characters <= 255 characters
enabled
required

Whether users can sign in to this realm.

boolean
ssl_required
required

Keycloak SSL requirement. Maps directly to Keycloak’s sslRequired realm setting.

string
Allowed values: external all none
registration_allowed
required

Whether self-registration is open to anyone.

boolean
registration_email_as_username
required

Whether email addresses are used as usernames during registration.

boolean
login_with_email_allowed
required

Whether users can sign in with their email address instead of username.

boolean
duplicate_emails_allowed
required

Whether multiple accounts may share the same email address.

boolean
frontend_url

The public URL the realm serves on when you put your own proxy in front of the cluster, or null when none is set. While it is set, the realm’s issuer is this URL followed by /realms/{name} whatever host a request arrives on. Always null for a realm that serves on a Skycloak custom domain.

string
nullable
created_at

Time when the realm was created, when available.

string format: date-time

Example

[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "customer-portal",
    "display_name": "Customer Portal",
    "enabled": true,
    "ssl_required": "external",
    "registration_allowed": false,
    "registration_email_as_username": false,
    "login_with_email_allowed": true,
    "duplicate_emails_allowed": false,
    "frontend_url": null
  }
]

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"
}

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"
}

Service unavailable.

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"
}