Keycloak
Keycloak is an open source identity and access management solution for modern applications and services, providing single sign-on, identity brokering, user federation, and fine-grained authorization using OAuth 2.0 and OpenID Connect.
1 APIs
0 Features
AuthenticationAuthorizationIdentity ManagementOAuthOpenID ConnectSecuritySSO
APIs
Keycloak Admin REST API
REST API for managing Keycloak realms, users, clients, roles, groups, and identity providers. Provides full administrative control over all aspects of a Keycloak deployment.
Collections
Pricing Plans
Rate Limits
FinOps
Keycloak Finops
FINOPSResources
🔗
Website
Website
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
📰
Blog
Blog
🔗
Community
Community
Sources
opencollection: 1.0.0
info:
name: Keycloak Admin REST API
version: 26.0.0
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: Realms
type: folder
items:
- info:
name: Keycloak List all realms
type: http
http:
method: GET
url: https://{host}/admin/realms/
params:
- name: briefRepresentation
value: ''
type: query
docs: Returns a list of all realms accessible to the authenticated user.
- info:
name: Keycloak Get a realm
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm
params:
- name: realm
value: ''
type: path
description: The name of the realm
docs: Returns the representation of a specific realm.
- info:
name: Keycloak Update a realm
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm
params:
- name: realm
value: ''
type: path
description: The name of the realm
body:
type: json
data: '{}'
docs: Updates the configuration of an existing realm.
- info:
name: Keycloak Delete a realm
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm
params:
- name: realm
value: ''
type: path
description: The name of the realm
docs: Permanently deletes a realm and all its data.
- info:
name: Users
type: folder
items:
- info:
name: Keycloak List users
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/users
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: search
value: ''
type: query
description: Search string for username, first name, last name, or email
- name: username
value: ''
type: query
- name: email
value: ''
type: query
- name: firstName
value: ''
type: query
- name: lastName
value: ''
type: query
- name: enabled
value: ''
type: query
- name: first
value: ''
type: query
description: Pagination offset
- name: max
value: ''
type: query
description: Maximum results size
- name: briefRepresentation
value: ''
type: query
docs: Returns a list of users in the realm, filtered by query parameters.
- info:
name: Keycloak Create a new user
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/users
params:
- name: realm
value: ''
type: path
description: The name of the realm
body:
type: json
data: '{}'
docs: Creates a new user in the realm.
- info:
name: Keycloak Get a user
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/users/:userId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
docs: Returns the representation of a specific user.
- info:
name: Keycloak Update a user
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/users/:userId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
body:
type: json
data: '{}'
docs: Updates the properties of an existing user.
- info:
name: Keycloak Delete a user
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/users/:userId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
docs: Permanently deletes a user from the realm.
- info:
name: Keycloak Reset a user's password
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/users/:userId/reset-password
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
body:
type: json
data: '{}'
docs: Sets a new password for the user. Set temporary to true to require a password change on next login.
- info:
name: Roles
type: folder
items:
- info:
name: Keycloak Get realm-level role mappings for a user
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/users/:userId/role-mappings/realm
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
docs: Keycloak Get realm-level role mappings for a user
- info:
name: Keycloak Add realm-level role mappings to a user
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/users/:userId/role-mappings/realm
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
body:
type: json
data: '{}'
docs: Keycloak Add realm-level role mappings to a user
- info:
name: Keycloak Remove realm-level role mappings from a user
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/users/:userId/role-mappings/realm
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
body:
type: json
data: '{}'
docs: Keycloak Remove realm-level role mappings from a user
- info:
name: Keycloak List realm-level roles
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/roles
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: search
value: ''
type: query
- name: first
value: ''
type: query
- name: max
value: ''
type: query
- name: briefRepresentation
value: ''
type: query
docs: Returns a list of all roles defined at the realm level.
- info:
name: Keycloak Create a realm-level role
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/roles
params:
- name: realm
value: ''
type: path
description: The name of the realm
body:
type: json
data: '{}'
docs: Keycloak Create a realm-level role
- info:
name: Keycloak Get a realm-level role by name
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/roles/:roleName
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: roleName
value: ''
type: path
docs: Keycloak Get a realm-level role by name
- info:
name: Keycloak Update a realm-level role
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/roles/:roleName
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: roleName
value: ''
type: path
body:
type: json
data: '{}'
docs: Keycloak Update a realm-level role
- info:
name: Keycloak Delete a realm-level role
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/roles/:roleName
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: roleName
value: ''
type: path
docs: Keycloak Delete a realm-level role
- info:
name: Groups
type: folder
items:
- info:
name: Keycloak Get groups for a user
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/users/:userId/groups
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
docs: Keycloak Get groups for a user
- info:
name: Keycloak Add a user to a group
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/users/:userId/groups/:groupId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
- name: groupId
value: ''
type: path
description: The UUID of the group
docs: Keycloak Add a user to a group
- info:
name: Keycloak Remove a user from a group
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/users/:userId/groups/:groupId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: userId
value: ''
type: path
description: The UUID of the user
- name: groupId
value: ''
type: path
description: The UUID of the group
docs: Keycloak Remove a user from a group
- info:
name: Keycloak List groups
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/groups
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: search
value: ''
type: query
- name: first
value: ''
type: query
- name: max
value: ''
type: query
- name: briefRepresentation
value: ''
type: query
docs: Returns a list of top-level groups in the realm.
- info:
name: Keycloak Create a top-level group
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/groups
params:
- name: realm
value: ''
type: path
description: The name of the realm
body:
type: json
data: '{}'
docs: Keycloak Create a top-level group
- info:
name: Keycloak Get a group
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/groups/:groupId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: groupId
value: ''
type: path
description: The UUID of the group
docs: Keycloak Get a group
- info:
name: Keycloak Update a group
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/groups/:groupId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: groupId
value: ''
type: path
description: The UUID of the group
body:
type: json
data: '{}'
docs: Keycloak Update a group
- info:
name: Keycloak Delete a group
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/groups/:groupId
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: groupId
value: ''
type: path
description: The UUID of the group
docs: Keycloak Delete a group
- info:
name: Keycloak Create a child group
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/groups/:groupId/children
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: groupId
value: ''
type: path
description: The UUID of the group
body:
type: json
data: '{}'
docs: Creates a new subgroup under the specified parent group.
- info:
name: Keycloak Get members of a group
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/groups/:groupId/members
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: groupId
value: ''
type: path
description: The UUID of the group
- name: first
value: ''
type: query
- name: max
value: ''
type: query
docs: Keycloak Get members of a group
- info:
name: Clients
type: folder
items:
- info:
name: Keycloak List clients
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/clients
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: clientId
value: ''
type: query
description: Filter by clientId
- name: search
value: ''
type: query
- name: first
value: ''
type: query
- name: max
value: ''
type: query
- name: viewableOnly
value: ''
type: query
docs: Returns a list of clients registered in the realm.
- info:
name: Keycloak Create a new client
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/clients
params:
- name: realm
value: ''
type: path
description: The name of the realm
body:
type: json
data: '{}'
docs: Registers a new client in the realm.
- info:
name: Keycloak Get a client
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/clients/:clientUuid
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: clientUuid
value: ''
type: path
description: The internal UUID of the client (not the clientId)
docs: Returns the representation of a specific client.
- info:
name: Keycloak Update a client
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/clients/:clientUuid
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: clientUuid
value: ''
type: path
description: The internal UUID of the client (not the clientId)
body:
type: json
data: '{}'
docs: Updates the configuration of an existing client.
- info:
name: Keycloak Delete a client
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/clients/:clientUuid
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: clientUuid
value: ''
type: path
description: The internal UUID of the client (not the clientId)
docs: Removes a client registration from the realm.
- info:
name: Keycloak Get the client secret
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/clients/:clientUuid/client-secret
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: clientUuid
value: ''
type: path
description: The internal UUID of the client (not the clientId)
docs: Keycloak Get the client secret
- info:
name: Keycloak Regenerate the client secret
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/clients/:clientUuid/client-secret
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: clientUuid
value: ''
type: path
description: The internal UUID of the client (not the clientId)
docs: Keycloak Regenerate the client secret
- info:
name: Identity Providers
type: folder
items:
- info:
name: Keycloak List identity providers
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/identity-provider/instances
params:
- name: realm
value: ''
type: path
description: The name of the realm
docs: Returns a list of identity providers configured in the realm.
- info:
name: Keycloak Create an identity provider
type: http
http:
method: POST
url: https://{host}/admin/realms/:realm/identity-provider/instances
params:
- name: realm
value: ''
type: path
description: The name of the realm
body:
type: json
data: '{}'
docs: Keycloak Create an identity provider
- info:
name: Keycloak Get an identity provider
type: http
http:
method: GET
url: https://{host}/admin/realms/:realm/identity-provider/instances/:alias
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: alias
value: ''
type: path
description: The alias of the identity provider
docs: Keycloak Get an identity provider
- info:
name: Keycloak Update an identity provider
type: http
http:
method: PUT
url: https://{host}/admin/realms/:realm/identity-provider/instances/:alias
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: alias
value: ''
type: path
description: The alias of the identity provider
body:
type: json
data: '{}'
docs: Keycloak Update an identity provider
- info:
name: Keycloak Delete an identity provider
type: http
http:
method: DELETE
url: https://{host}/admin/realms/:realm/identity-provider/instances/:alias
params:
- name: realm
value: ''
type: path
description: The name of the realm
- name: alias
value: ''
type: path
description: The alias of the identity provider
docs: Keycloak Delete an identity provider
bundled: true