Skip to content

List applications

GET
/clusters/{cluster_id}/realms/{realm_name}/applications
curl --request GET \
  --url 'http://localhost:8000/clusters/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/realms/customer-portal/applications?limit=25&offset=0' \
  --header 'API-Key: <API-Key>' \
  --header 'API-Version: 2026-06-01.beta'

Returns applications registered in the realm. System clients are excluded.

Required scope: applications:read

cluster_id
required
string format: uuid
realm_name
required

Keycloak realm name (not ID). Must start with a letter; allows letters, digits, and hyphens.

string
>= 1 characters <= 63 characters /^[a-zA-Z][a-zA-Z0-9-]*$/

Example

customer-portal
limit
integer
>= 1 <= 100

Maximum number of results to return.

offset
integer

Number of results to skip from the start.

search
string
>= 1 characters <= 256 characters
API-Version
required
string
Allowed values: 2026-06-01.beta

The request has succeeded.

Media typeapplication/json
Array<object>

A Keycloak client (application) registered in a realm.

object
client_id
required

OAuth 2.0 client identifier. Stable resource identifier for this API.

string
>= 1 characters <= 255 characters
name
required

Human-readable display name.

string
description

Optional description of the application.

string
type
required

OAuth 2.0 client type.

string
Allowed values: confidential public
protocol
required

Authentication protocol.

string
Allowed values: openid-connect saml
status
required

Whether the application is active.

string
Allowed values: active inactive
redirect_uris
required

Allowed redirect URIs for authorization-code flows. Required for authorization_code grant.

Array<string>
grant_types
required

Enabled OAuth 2.0 grant types.

Array<string>
Allowed values: authorization_code implicit password client_credentials refresh_token
pkce_required
required

Whether PKCE (Proof Key for Code Exchange) is required.

boolean
consent_required
required

Whether user consent is required before issuing tokens.

boolean
service_account_enabled
required

Whether this application has a service account for machine-to-machine flows. Derived from the client_credentials grant type.

boolean
client_secret

Client secret. Present only immediately after creation or secret rotation; store it securely as it will not be returned again.

string format: password
web_origins

Browser origins allowed to call this application (CORS). ["*"] allows any origin.

Array<string>
post_logout_redirect_uris

URIs a user may be redirected to after signing out. Falls back to redirect_uris when empty.

Array<string>
root_url

Root URL. Prefixed to any relative redirect URI.

string
base_url

Home URL. Where Keycloak sends a user opening the application from the account console.

string
admin_url

Admin URL. Where Keycloak sends back-channel logout and admin callbacks.

string
saml_config

SAML-specific configuration. Present only when protocol is saml.

object
entity_id

SAML entity ID (SP Entity ID / Issuer).

string
assertion_consumer_urls

Assertion Consumer Service URLs (ACS endpoints).

Array<string>
single_logout_service_url

Single Logout Service URL.

string
name_id_format

SAML NameID format.

string
Allowed values: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:2.0:nameid-format:persistent urn:oasis:names:tc:SAML:2.0:nameid-format:transient
sign_documents

Whether to sign SAML documents.

boolean
sign_assertions

Whether to sign SAML assertions.

boolean
encrypt_assertions

Whether to encrypt SAML assertions.

boolean
force_authn

Whether to force re-authentication on each request.

boolean
force_post_binding

Whether to force HTTP POST binding for responses.

boolean
include_authn_statement

Whether to include the AuthnStatement in assertions.

boolean
attribute_statements

Static SAML attribute statements to include in assertions. Keys are attribute names; values are attribute values.

object
key
additional properties
string
created_at
required
string format: date-time
updated_at
required
string format: date-time

Example

[
  {
    "type": "confidential",
    "protocol": "openid-connect",
    "status": "active",
    "grant_types": [
      "authorization_code"
    ],
    "saml_config": {
      "name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
    }
  }
]
Total-Count
required
integer

Total number of results across all pages, before pagination is applied.

Link
string

RFC 8288 Link header containing next, prev, first, and last relations.

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

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

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