Solid.KeycloakClient 2.0.12

dotnet add package Solid.KeycloakClient --version 2.0.12
                    
NuGet\Install-Package Solid.KeycloakClient -Version 2.0.12
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Solid.KeycloakClient" Version="2.0.12" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Solid.KeycloakClient" Version="2.0.12" />
                    
Directory.Packages.props
<PackageReference Include="Solid.KeycloakClient" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Solid.KeycloakClient --version 2.0.12
                    
#r "nuget: Solid.KeycloakClient, 2.0.12"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Solid.KeycloakClient@2.0.12
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Solid.KeycloakClient&version=2.0.12
                    
Install as a Cake Addin
#tool nuget:?package=Solid.KeycloakClient&version=2.0.12
                    
Install as a Cake Tool

Keycloak - the C# library for the Keycloak Admin REST API

This is a REST API reference for the Keycloak Admin REST API.

Command used to generate the API

The OpenAPI spec at api/openapi.yaml is the official Keycloak admin spec downloaded from https://www.keycloak.org/docs-api/<version>/rest-api/openapi.yaml. The Keycloak project's spec omits operationIds, so generated method names are derived from URL paths (e.g. AdminRealmsRealmGroupsGetAsync). Notes on flags:

  • library=restsharp keeps the older RestSharp/ApiClient.cs architecture. v7.11+ defaults changed to generichost (DI/HttpClient), which is incompatible with our consumers.
  • --user avoids root-owned output files inside the volume mount.
  • -o /local (not /local/src) places Keycloak.sln at the repo root and src/Keycloak/... one level down, matching the existing layout.
# Refresh the spec from upstream:
curl -fsSL "https://www.keycloak.org/docs-api/26.3.3/rest-api/openapi.yaml" -o api/openapi.yaml

# Regenerate:
docker run --rm -v ".:/local" --user "$(id -u):$(id -g)" \
  openapitools/openapi-generator-cli:v7.13.0 generate \
    -i /local/api/openapi.yaml \
    -g csharp \
    -o /local \
    --skip-validate-spec \
    --package-name Keycloak \
    --additional-properties=useNullableReferenceTypes=true,targetFramework=net9.0,library=restsharp \
    --type-mappings OasAnyTypeNotMapped=object

After regeneration, two hand-edits must be reapplied:

  1. src/Keycloak/Model/GroupRepresentation.cs — parameterless constructor for JSON deserialization.
  2. src/Keycloak/Client/ApiClient.cs — cached RestClient to prevent socket exhaustion under load.

(A third historical hand-edit in src/Keycloak/Api/ClientRoleMappingsApi.cs to wrap a single RoleRepresentation in an array is no longer needed: KC 26.3 spec correctly types the body as List<RoleRepresentation>.)

This C# SDK is automatically generated by the OpenAPI Generator project:

<a id="frameworks-supported"></a>

Frameworks supported

<a id="dependencies"></a>

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.

<a id="installation"></a>

Installation

Install via NuGet:

dotnet add package Solid.KeycloakClient

Or via the Package Manager Console:

Install-Package Solid.KeycloakClient

Then use the namespaces:

using Keycloak.Api;
using Keycloak.Client;
using Keycloak.Model;

<a id="packaging"></a>

Packaging

This package is automatically built and published to NuGet via GitHub Actions on every push to main.

<a id="usage"></a>

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

<a id="getting-started"></a>

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using Keycloak.Api;
using Keycloak.Client;
using Keycloak.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "https://keycloak.example.com/admin/realms";
            // Configure Bearer token for authorization: access_token
            config.AccessToken = "YOUR_BEARER_TOKEN";

            var apiInstance = new AttackDetectionApi(config);
            var realm = "realm_example";  // string | realm name (not id!)
            var userId = "userId_example";  // string |

            try
            {
                apiInstance.DeleteBruteForceUser(realm, userId);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling AttackDetectionApi.DeleteBruteForceUser: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

<a id="documentation-for-api-endpoints"></a>

Documentation for API Endpoints

All URIs are relative to https://keycloak.example.com/admin/realms

Class Method HTTP request Description
AttackDetectionApi DeleteBruteForceUser DELETE /{realm}/attack-detection/brute-force/users/{userId}
AttackDetectionApi DeleteUsers DELETE /{realm}/attack-detection/brute-force/users
AttackDetectionApi GetBruteForceUser GET /{realm}/attack-detection/brute-force/users/{userId}
AuthenticationManagementApi DeleteConfig DELETE /{realm}/authentication/config/{id}
AuthenticationManagementApi DeleteExecution DELETE /{realm}/authentication/executions/{executionId}
AuthenticationManagementApi DeleteFlow DELETE /{realm}/authentication/flows/{id}
AuthenticationManagementApi DeleteRequiredAction DELETE /{realm}/authentication/required-actions/{alias}
AuthenticationManagementApi GetAuthenticationConfig GET /{realm}/authentication/config/{id}
AuthenticationManagementApi GetAuthenticatorProviders GET /{realm}/authentication/authenticator-providers
AuthenticationManagementApi GetClientAuthenticatorProviders GET /{realm}/authentication/client-authenticator-providers
AuthenticationManagementApi GetConfigDescription GET /{realm}/authentication/config-description/{providerId}
AuthenticationManagementApi GetExecution GET /{realm}/authentication/executions/{executionId}
AuthenticationManagementApi GetExecutionConfig GET /{realm}/authentication/executions/{executionId}/config/{id}
AuthenticationManagementApi GetExecutions GET /{realm}/authentication/flows/{flowAlias}/executions
AuthenticationManagementApi GetFlow GET /{realm}/authentication/flows/{id}
AuthenticationManagementApi GetFlows GET /{realm}/authentication/flows
AuthenticationManagementApi GetFormActionProviders GET /{realm}/authentication/form-action-providers
AuthenticationManagementApi GetFormProviders GET /{realm}/authentication/form-providers
AuthenticationManagementApi GetPerClientConfigDescription GET /{realm}/authentication/per-client-config-description
AuthenticationManagementApi GetRequiredAction GET /{realm}/authentication/required-actions/{alias}
AuthenticationManagementApi GetRequiredActions GET /{realm}/authentication/required-actions
AuthenticationManagementApi GetUnregisteredRequiredActions GET /{realm}/authentication/unregistered-required-actions
AuthenticationManagementApi PostAuthenticationConfig POST /{realm}/authentication/config
AuthenticationManagementApi PostCopy POST /{realm}/authentication/flows/{flowAlias}/copy
AuthenticationManagementApi PostExecution POST /{realm}/authentication/flows/{flowAlias}/executions/execution
AuthenticationManagementApi PostExecutionConfig POST /{realm}/authentication/executions/{executionId}/config
AuthenticationManagementApi PostExecutionLowerPriority POST /{realm}/authentication/executions/{executionId}/lower-priority
AuthenticationManagementApi PostExecutionRaisePriority POST /{realm}/authentication/executions/{executionId}/raise-priority
AuthenticationManagementApi PostExecutions POST /{realm}/authentication/executions
AuthenticationManagementApi PostFlow POST /{realm}/authentication/flows/{flowAlias}/executions/flow
AuthenticationManagementApi PostFlows POST /{realm}/authentication/flows
AuthenticationManagementApi PostRegisterRequiredAction POST /{realm}/authentication/register-required-action
AuthenticationManagementApi PostRequiredActionLowerPriority POST /{realm}/authentication/required-actions/{alias}/lower-priority
AuthenticationManagementApi PostRequiredActionRaisePriority POST /{realm}/authentication/required-actions/{alias}/raise-priority
AuthenticationManagementApi PutAuthenticationConfig PUT /{realm}/authentication/config/{id}
AuthenticationManagementApi PutExecutions PUT /{realm}/authentication/flows/{flowAlias}/executions
AuthenticationManagementApi PutFlow PUT /{realm}/authentication/flows/{id}
AuthenticationManagementApi PutRequiredAction PUT /{realm}/authentication/required-actions/{alias}
ClientAttributeCertificateApi GetCertificate GET /{realm}/clients/{id}/certificates/{attr}
ClientAttributeCertificateApi PostDownload POST /{realm}/clients/{id}/certificates/{attr}/download
ClientAttributeCertificateApi PostGenerate POST /{realm}/clients/{id}/certificates/{attr}/generate
ClientAttributeCertificateApi PostGenerateAndDownload POST /{realm}/clients/{id}/certificates/{attr}/generate-and-download
ClientAttributeCertificateApi PostUpload POST /{realm}/clients/{id}/certificates/{attr}/upload
ClientAttributeCertificateApi PostUploadCertificate POST /{realm}/clients/{id}/certificates/{attr}/upload-certificate
ClientInitialAccessApi DeleteClientsInitialAcces DELETE /{realm}/clients-initial-access/{id}
ClientInitialAccessApi GetClientsInitialAccess GET /{realm}/clients-initial-access
ClientInitialAccessApi PostClientsInitialAccess POST /{realm}/clients-initial-access
ClientRegistrationPolicyApi GetProviders GET /{realm}/client-registration-policy/providers
ClientRoleMappingsApi DeleteGroupRoleMappingsClient DELETE /{realm}/groups/{id}/role-mappings/clients/{client}
ClientRoleMappingsApi DeleteUserRoleMappingsClient DELETE /{realm}/users/{id}/role-mappings/clients/{client}
ClientRoleMappingsApi GetGroupRoleMappingsClient GET /{realm}/groups/{id}/role-mappings/clients/{client}
ClientRoleMappingsApi GetGroupRoleMappingsClientAvailable GET /{realm}/groups/{id}/role-mappings/clients/{client}/available
ClientRoleMappingsApi GetGroupRoleMappingsClientComposite GET /{realm}/groups/{id}/role-mappings/clients/{client}/composite
ClientRoleMappingsApi GetUserRoleMappingsClient GET /{realm}/users/{id}/role-mappings/clients/{client}
ClientRoleMappingsApi GetUserRoleMappingsClientAvailable GET /{realm}/users/{id}/role-mappings/clients/{client}/available
ClientRoleMappingsApi GetUserRoleMappingsClientComposite GET /{realm}/users/{id}/role-mappings/clients/{client}/composite
ClientRoleMappingsApi PostGroupRoleMappingsClient POST /{realm}/groups/{id}/role-mappings/clients/{client}
ClientRoleMappingsApi PostUserRoleMappingsClient POST /{realm}/users/{id}/role-mappings/clients/{client}
ClientScopesApi DeleteClientScope DELETE /{realm}/client-scopes/{id}
ClientScopesApi DeleteClientTemplate DELETE /{realm}/client-templates/{id}
ClientScopesApi GetClientScope GET /{realm}/client-scopes/{id}
ClientScopesApi GetClientScopes GET /{realm}/client-scopes
ClientScopesApi GetClientTemplate GET /{realm}/client-templates/{id}
ClientScopesApi GetClientTemplates GET /{realm}/client-templates
ClientScopesApi PostClientScopes POST /{realm}/client-scopes
ClientScopesApi PostClientTemplates POST /{realm}/client-templates
ClientScopesApi PutClientScope PUT /{realm}/client-scopes/{id}
ClientScopesApi PutClientTemplate PUT /{realm}/client-templates/{id}
ClientsApi DeleteClientByRealmById DELETE /{realm}/clients/{id}
ClientsApi DeleteDefaultClientScope DELETE /{realm}/clients/{id}/default-client-scopes/{clientScopeId}
ClientsApi DeleteNode DELETE /{realm}/clients/{id}/nodes/{node}
ClientsApi DeleteOptionalClientScope DELETE /{realm}/clients/{id}/optional-client-scopes/{clientScopeId}
ClientsApi DeleteRotated DELETE /{realm}/clients/{id}/client-secret/rotated
ClientsApi GetClientByRealmById GET /{realm}/clients/{id}
ClientsApi GetClientManagementPermissions GET /{realm}/clients/{id}/management/permissions
ClientsApi GetClientSecret GET /{realm}/clients/{id}/client-secret
ClientsApi GetClientUserSessions GET /{realm}/clients/{id}/user-sessions
ClientsApi GetClients GET /{realm}/clients
ClientsApi GetDefaultClientScopes GET /{realm}/clients/{id}/default-client-scopes
ClientsApi GetGenerateExampleAccessToken GET /{realm}/clients/{id}/evaluate-scopes/generate-example-access-token
ClientsApi GetGenerateExampleIdToken GET /{realm}/clients/{id}/evaluate-scopes/generate-example-id-token
ClientsApi GetGenerateExampleUserinfo GET /{realm}/clients/{id}/evaluate-scopes/generate-example-userinfo
ClientsApi GetGranted GET /{realm}/clients/{id}/evaluate-scopes/scope-mappings/{roleContainerId}/granted
ClientsApi GetInstallationProvider GET /{realm}/clients/{id}/installation/providers/{providerId}
ClientsApi GetNotGranted GET /{realm}/clients/{id}/evaluate-scopes/scope-mappings/{roleContainerId}/not-granted
ClientsApi GetOfflineSessionCount GET /{realm}/clients/{id}/offline-session-count
ClientsApi GetOfflineSessions GET /{realm}/clients/{id}/offline-sessions
ClientsApi GetOptionalClientScopes GET /{realm}/clients/{id}/optional-client-scopes
ClientsApi GetProtocolMappers GET /{realm}/clients/{id}/evaluate-scopes/protocol-mappers
ClientsApi GetRotated GET /{realm}/clients/{id}/client-secret/rotated
ClientsApi GetServiceAccountUser GET /{realm}/clients/{id}/service-account-user
ClientsApi GetSessionCount GET /{realm}/clients/{id}/session-count
ClientsApi GetTestNodesAvailable GET /{realm}/clients/{id}/test-nodes-available
ClientsApi PostClientPushRevocation POST /{realm}/clients/{id}/push-revocation
ClientsApi PostClientSecret POST /{realm}/clients/{id}/client-secret
ClientsApi PostClients POST /{realm}/clients
ClientsApi PostNodes POST /{realm}/clients/{id}/nodes
ClientsApi PostRegistrationAccessToken POST /{realm}/clients/{id}/registration-access-token
ClientsApi PutClient PUT /{realm}/clients/{id}
ClientsApi PutClientManagementPermissions PUT /{realm}/clients/{id}/management/permissions
ClientsApi PutDefaultClientScope PUT /{realm}/clients/{id}/default-client-scopes/{clientScopeId}
ClientsApi PutOptionalClientScope PUT /{realm}/clients/{id}/optional-client-scopes/{clientScopeId}
ComponentApi DeleteComponent DELETE /{realm}/components/{id}
ComponentApi GetComponent GET /{realm}/components/{id}
ComponentApi GetComponents GET /{realm}/components
ComponentApi GetSubComponentTypes GET /{realm}/components/{id}/sub-component-types
ComponentApi PostComponents POST /{realm}/components
ComponentApi PutComponent PUT /{realm}/components/{id}
GroupsApi DeleteGroupByRealmById DELETE /{realm}/groups/{id}
GroupsApi GetChildren GET /{realm}/groups/{id}/children
GroupsApi GetGroup GET /{realm}/groups/{id}
GroupsApi GetGroupManagementPermissions GET /{realm}/groups/{id}/management/permissions
GroupsApi GetGroupsByRealm GET /{realm}/groups
GroupsApi GetGroupsCountByRealm GET /{realm}/groups/count
GroupsApi GetMembers GET /{realm}/groups/{id}/members
GroupsApi PostChildren POST /{realm}/groups/{id}/children
GroupsApi PostGroups POST /{realm}/groups
GroupsApi PutGroupByRealmById PUT /{realm}/groups/{id}
GroupsApi PutGroupManagementPermissions PUT /{realm}/groups/{id}/management/permissions
IdentityProvidersApi DeleteInstance DELETE /{realm}/identity-provider/instances/{alias}
IdentityProvidersApi DeleteMapper DELETE /{realm}/identity-provider/instances/{alias}/mappers/{id}
IdentityProvidersApi GetExport GET /{realm}/identity-provider/instances/{alias}/export
IdentityProvidersApi GetIdentityProviderProvider GET /{realm}/identity-provider/providers/{provider_id}
IdentityProvidersApi GetInstance GET /{realm}/identity-provider/instances/{alias}
IdentityProvidersApi GetInstanceManagementPermissions GET /{realm}/identity-provider/instances/{alias}/management/permissions
IdentityProvidersApi GetInstances GET /{realm}/identity-provider/instances
IdentityProvidersApi GetMapper GET /{realm}/identity-provider/instances/{alias}/mappers/{id}
IdentityProvidersApi GetMapperTypes GET /{realm}/identity-provider/instances/{alias}/mapper-types
IdentityProvidersApi GetMappers GET /{realm}/identity-provider/instances/{alias}/mappers
IdentityProvidersApi PostImportConfig POST /{realm}/identity-provider/import-config
IdentityProvidersApi PostInstances POST /{realm}/identity-provider/instances
IdentityProvidersApi PostMappers POST /{realm}/identity-provider/instances/{alias}/mappers
IdentityProvidersApi PutInstance PUT /{realm}/identity-provider/instances/{alias}
IdentityProvidersApi PutInstanceManagementPermissions PUT /{realm}/identity-provider/instances/{alias}/management/permissions
IdentityProvidersApi PutMapper PUT /{realm}/identity-provider/instances/{alias}/mappers/{id}
KeyApi GetKeys GET /{realm}/keys
ProtocolMappersApi DeleteClientProtocolMappersModel DELETE /{realm}/clients/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi DeleteClientScopeProtocolMappersModel DELETE /{realm}/client-scopes/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi DeleteClientTemplateProtocolMappersModel DELETE /{realm}/client-templates/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi GetClientProtocolMappersModel GET /{realm}/clients/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi GetClientProtocolMappersModels GET /{realm}/clients/{id}/protocol-mappers/models
ProtocolMappersApi GetClientProtocolMappersProtocol GET /{realm}/clients/{id}/protocol-mappers/protocol/{protocol}
ProtocolMappersApi GetClientScopeProtocolMappersModel GET /{realm}/client-scopes/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi GetClientScopeProtocolMappersModels GET /{realm}/client-scopes/{id}/protocol-mappers/models
ProtocolMappersApi GetClientScopeProtocolMappersProtocol GET /{realm}/client-scopes/{id}/protocol-mappers/protocol/{protocol}
ProtocolMappersApi GetClientTemplateProtocolMappersModel GET /{realm}/client-templates/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi GetClientTemplateProtocolMappersModels GET /{realm}/client-templates/{id}/protocol-mappers/models
ProtocolMappersApi GetClientTemplateProtocolMappersProtocol GET /{realm}/client-templates/{id}/protocol-mappers/protocol/{protocol}
ProtocolMappersApi PostClientProtocolMappersAddModels POST /{realm}/clients/{id}/protocol-mappers/add-models
ProtocolMappersApi PostClientProtocolMappersModels POST /{realm}/clients/{id}/protocol-mappers/models
ProtocolMappersApi PostClientScopeProtocolMappersAddModels POST /{realm}/client-scopes/{id}/protocol-mappers/add-models
ProtocolMappersApi PostClientScopeProtocolMappersModels POST /{realm}/client-scopes/{id}/protocol-mappers/models
ProtocolMappersApi PostClientTemplateProtocolMappersAddModels POST /{realm}/client-templates/{id}/protocol-mappers/add-models
ProtocolMappersApi PostClientTemplateProtocolMappersModels POST /{realm}/client-templates/{id}/protocol-mappers/models
ProtocolMappersApi PutClientProtocolMappersModel PUT /{realm}/clients/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi PutClientScopeProtocolMappersModel PUT /{realm}/client-scopes/{id1}/protocol-mappers/models/{id2}
ProtocolMappersApi PutClientTemplateProtocolMappersModel PUT /{realm}/client-templates/{id1}/protocol-mappers/models/{id2}
RealmsAdminApi DeleteAdminEvents DELETE /{realm}/admin-events
RealmsAdminApi DeleteByRealm DELETE /{realm}
RealmsAdminApi DeleteDefaultDefaultClientScope DELETE /{realm}/default-default-client-scopes/{clientScopeId}
RealmsAdminApi DeleteDefaultGroup DELETE /{realm}/default-groups/{groupId}
RealmsAdminApi DeleteDefaultOptionalClientScope DELETE /{realm}/default-optional-client-scopes/{clientScopeId}
RealmsAdminApi DeleteEvents DELETE /{realm}/events
RealmsAdminApi DeleteLocalizationByRealmByLocale DELETE /{realm}/localization/{locale}
RealmsAdminApi DeleteLocalizationByRealmByLocaleByKey DELETE /{realm}/localization/{locale}/{key}
RealmsAdminApi DeleteSession DELETE /{realm}/sessions/{session}
RealmsAdminApi Get GET /
RealmsAdminApi GetAdminEvents GET /{realm}/admin-events
RealmsAdminApi GetByRealm GET /{realm}
RealmsAdminApi GetClientSessionStats GET /{realm}/client-session-stats
RealmsAdminApi GetCredentialRegistrators GET /{realm}/credential-registrators
RealmsAdminApi GetDefaultDefaultClientScopes GET /{realm}/default-default-client-scopes
RealmsAdminApi GetDefaultGroups GET /{realm}/default-groups
RealmsAdminApi GetDefaultOptionalClientScopes GET /{realm}/default-optional-client-scopes
RealmsAdminApi GetEvents GET /{realm}/events
RealmsAdminApi GetEventsConfig GET /{realm}/events/config
RealmsAdminApi GetGroupByPath GET /{realm}/group-by-path/{path}
RealmsAdminApi GetLocalizationByRealm GET /{realm}/localization
RealmsAdminApi GetLocalizationByRealmByLocale GET /{realm}/localization/{locale}
RealmsAdminApi GetLocalizationByRealmByLocaleByKey GET /{realm}/localization/{locale}/{key}
RealmsAdminApi GetPolicies GET /{realm}/client-policies/policies
RealmsAdminApi GetProfiles GET /{realm}/client-policies/profiles
RealmsAdminApi GetUsersManagementPermissions GET /{realm}/users-management-permissions
RealmsAdminApi Post POST /
RealmsAdminApi PostClientDescriptionConverter POST /{realm}/client-description-converter
RealmsAdminApi PostLocalization POST /{realm}/localization/{locale}
RealmsAdminApi PostLogoutAll POST /{realm}/logout-all
RealmsAdminApi PostPartialExport POST /{realm}/partial-export
RealmsAdminApi PostPartialImport POST /{realm}/partialImport
RealmsAdminApi PostPushRevocationByRealm POST /{realm}/push-revocation
RealmsAdminApi PostTestSmtpConnection POST /{realm}/testSMTPConnection
RealmsAdminApi PutByRealm PUT /{realm}
RealmsAdminApi PutDefaultDefaultClientScope PUT /{realm}/default-default-client-scopes/{clientScopeId}
RealmsAdminApi PutDefaultGroup PUT /{realm}/default-groups/{groupId}
RealmsAdminApi PutDefaultOptionalClientScope PUT /{realm}/default-optional-client-scopes/{clientScopeId}
RealmsAdminApi PutEventsConfig PUT /{realm}/events/config
RealmsAdminApi PutLocalization PUT /{realm}/localization/{locale}/{key}
RealmsAdminApi PutPolicies PUT /{realm}/client-policies/policies
RealmsAdminApi PutProfiles PUT /{realm}/client-policies/profiles
RealmsAdminApi PutUsersManagementPermissions PUT /{realm}/users-management-permissions
RoleMapperApi DeleteGroupRoleMappingsRealm DELETE /{realm}/groups/{id}/role-mappings/realm
RoleMapperApi DeleteUserRoleMappingsRealm DELETE /{realm}/users/{id}/role-mappings/realm
RoleMapperApi GetGroupRoleMappings GET /{realm}/groups/{id}/role-mappings
RoleMapperApi GetGroupRoleMappingsRealm GET /{realm}/groups/{id}/role-mappings/realm
RoleMapperApi GetGroupRoleMappingsRealmAvailable GET /{realm}/groups/{id}/role-mappings/realm/available
RoleMapperApi GetGroupRoleMappingsRealmComposite GET /{realm}/groups/{id}/role-mappings/realm/composite
RoleMapperApi GetUserRoleMappings GET /{realm}/users/{id}/role-mappings
RoleMapperApi GetUserRoleMappingsRealm GET /{realm}/users/{id}/role-mappings/realm
RoleMapperApi GetUserRoleMappingsRealmAvailable GET /{realm}/users/{id}/role-mappings/realm/available
RoleMapperApi GetUserRoleMappingsRealmComposite GET /{realm}/users/{id}/role-mappings/realm/composite
RoleMapperApi PostGroupRoleMappingsRealm POST /{realm}/groups/{id}/role-mappings/realm
RoleMapperApi PostUserRoleMappingsRealm POST /{realm}/users/{id}/role-mappings/realm
RolesApi DeleteClientRole DELETE /{realm}/clients/{id}/roles/{role-name}
RolesApi DeleteClientRoleComposites DELETE /{realm}/clients/{id}/roles/{role-name}/composites
RolesApi DeleteRoleByRealmByRoleName DELETE /{realm}/roles/{role-name}
RolesApi DeleteRoleCompositesByRealmByRoleName DELETE /{realm}/roles/{role-name}/composites
RolesApi GetClientRole GET /{realm}/clients/{id}/roles/{role-name}
RolesApi GetClientRoleComposites GET /{realm}/clients/{id}/roles/{role-name}/composites
RolesApi GetClientRoleCompositesClient GET /{realm}/clients/{id}/roles/{role-name}/composites/clients/{clientUuid}
RolesApi GetClientRoleCompositesRealm GET /{realm}/clients/{id}/roles/{role-name}/composites/realm
RolesApi GetClientRoleGroups GET /{realm}/clients/{id}/roles/{role-name}/groups
RolesApi GetClientRoleManagementPermissions GET /{realm}/clients/{id}/roles/{role-name}/management/permissions
RolesApi GetClientRoleUsers GET /{realm}/clients/{id}/roles/{role-name}/users
RolesApi GetClientRoles GET /{realm}/clients/{id}/roles
RolesApi GetRoleByRealmByRoleName GET /{realm}/roles/{role-name}
RolesApi GetRoleCompositesByRealmByRoleName GET /{realm}/roles/{role-name}/composites
RolesApi GetRoleCompositesClientByRealmByRoleNameByClientUuid GET /{realm}/roles/{role-name}/composites/clients/{clientUuid}
RolesApi GetRoleCompositesRealmByRealmByRoleName GET /{realm}/roles/{role-name}/composites/realm
RolesApi GetRoleGroupsByRealmByRoleName GET /{realm}/roles/{role-name}/groups
RolesApi GetRoleManagementPermissionsByRealmByRoleName GET /{realm}/roles/{role-name}/management/permissions
RolesApi GetRoleUsersByRealmByRoleName GET /{realm}/roles/{role-name}/users
RolesApi GetRolesByRealm GET /{realm}/roles
RolesApi PostClientRoleComposites POST /{realm}/clients/{id}/roles/{role-name}/composites
RolesApi PostClientRoles POST /{realm}/clients/{id}/roles
RolesApi PostRoleCompositesByRealmByRoleName POST /{realm}/roles/{role-name}/composites
RolesApi PostRolesByRealm POST /{realm}/roles
RolesApi PutClientRole PUT /{realm}/clients/{id}/roles/{role-name}
RolesApi PutClientRoleManagementPermissions PUT /{realm}/clients/{id}/roles/{role-name}/management/permissions
RolesApi PutRoleByRealmByRoleName PUT /{realm}/roles/{role-name}
RolesApi PutRoleManagementPermissionsByRealmByRoleName PUT /{realm}/roles/{role-name}/management/permissions
RolesByIDApi DeleteRolesById DELETE /{realm}/roles-by-id/{role-id}
RolesByIDApi DeleteRolesByIdComposites DELETE /{realm}/roles-by-id/{role-id}/composites
RolesByIDApi GetRolesById GET /{realm}/roles-by-id/{role-id}
RolesByIDApi GetRolesByIdComposites GET /{realm}/roles-by-id/{role-id}/composites
RolesByIDApi GetRolesByIdCompositesClient GET /{realm}/roles-by-id/{role-id}/composites/clients/{clientUuid}
RolesByIDApi GetRolesByIdCompositesRealm GET /{realm}/roles-by-id/{role-id}/composites/realm
RolesByIDApi GetRolesByIdManagementPermissions GET /{realm}/roles-by-id/{role-id}/management/permissions
RolesByIDApi PostRolesByIdComposites POST /{realm}/roles-by-id/{role-id}/composites
RolesByIDApi PutRolesById PUT /{realm}/roles-by-id/{role-id}
RolesByIDApi PutRolesByIdManagementPermissions PUT /{realm}/roles-by-id/{role-id}/management/permissions
ScopeMappingsApi DeleteClientScopeMappingsClient DELETE /{realm}/clients/{id}/scope-mappings/clients/{client}
ScopeMappingsApi DeleteClientScopeMappingsRealm DELETE /{realm}/clients/{id}/scope-mappings/realm
ScopeMappingsApi DeleteClientScopeScopeMappingsClient DELETE /{realm}/client-scopes/{id}/scope-mappings/clients/{client}
ScopeMappingsApi DeleteClientScopeScopeMappingsRealm DELETE /{realm}/client-scopes/{id}/scope-mappings/realm
ScopeMappingsApi DeleteClientTemplateScopeMappingsClient DELETE /{realm}/client-templates/{id}/scope-mappings/clients/{client}
ScopeMappingsApi DeleteClientTemplateScopeMappingsRealm DELETE /{realm}/client-templates/{id}/scope-mappings/realm
ScopeMappingsApi GetClientScopeMappings GET /{realm}/clients/{id}/scope-mappings
ScopeMappingsApi GetClientScopeMappingsClient GET /{realm}/clients/{id}/scope-mappings/clients/{client}
ScopeMappingsApi GetClientScopeMappingsClientAvailable GET /{realm}/clients/{id}/scope-mappings/clients/{client}/available
ScopeMappingsApi GetClientScopeMappingsClientComposite GET /{realm}/clients/{id}/scope-mappings/clients/{client}/composite
ScopeMappingsApi GetClientScopeMappingsRealm GET /{realm}/clients/{id}/scope-mappings/realm
ScopeMappingsApi GetClientScopeMappingsRealmAvailable GET /{realm}/clients/{id}/scope-mappings/realm/available
ScopeMappingsApi GetClientScopeMappingsRealmComposite GET /{realm}/clients/{id}/scope-mappings/realm/composite
ScopeMappingsApi GetClientScopeScopeMappings GET /{realm}/client-scopes/{id}/scope-mappings
ScopeMappingsApi GetClientScopeScopeMappingsClient GET /{realm}/client-scopes/{id}/scope-mappings/clients/{client}
ScopeMappingsApi GetClientScopeScopeMappingsClientAvailable GET /{realm}/client-scopes/{id}/scope-mappings/clients/{client}/available
ScopeMappingsApi GetClientScopeScopeMappingsClientComposite GET /{realm}/client-scopes/{id}/scope-mappings/clients/{client}/composite
ScopeMappingsApi GetClientScopeScopeMappingsRealm GET /{realm}/client-scopes/{id}/scope-mappings/realm
ScopeMappingsApi GetClientScopeScopeMappingsRealmAvailable GET /{realm}/client-scopes/{id}/scope-mappings/realm/available
ScopeMappingsApi GetClientScopeScopeMappingsRealmComposite GET /{realm}/client-scopes/{id}/scope-mappings/realm/composite
ScopeMappingsApi GetClientTemplateScopeMappings GET /{realm}/client-templates/{id}/scope-mappings
ScopeMappingsApi GetClientTemplateScopeMappingsClient GET /{realm}/client-templates/{id}/scope-mappings/clients/{client}
ScopeMappingsApi GetClientTemplateScopeMappingsClientAvailable GET /{realm}/client-templates/{id}/scope-mappings/clients/{client}/available
ScopeMappingsApi GetClientTemplateScopeMappingsClientComposite GET /{realm}/client-templates/{id}/scope-mappings/clients/{client}/composite
ScopeMappingsApi GetClientTemplateScopeMappingsRealm GET /{realm}/client-templates/{id}/scope-mappings/realm
ScopeMappingsApi GetClientTemplateScopeMappingsRealmAvailable GET /{realm}/client-templates/{id}/scope-mappings/realm/available
ScopeMappingsApi GetClientTemplateScopeMappingsRealmComposite GET /{realm}/client-templates/{id}/scope-mappings/realm/composite
ScopeMappingsApi PostClientScopeMappingsClient POST /{realm}/clients/{id}/scope-mappings/clients/{client}
ScopeMappingsApi PostClientScopeMappingsRealm POST /{realm}/clients/{id}/scope-mappings/realm
ScopeMappingsApi PostClientScopeScopeMappingsClient POST /{realm}/client-scopes/{id}/scope-mappings/clients/{client}
ScopeMappingsApi PostClientScopeScopeMappingsRealm POST /{realm}/client-scopes/{id}/scope-mappings/realm
ScopeMappingsApi PostClientTemplateScopeMappingsClient POST /{realm}/client-templates/{id}/scope-mappings/clients/{client}
ScopeMappingsApi PostClientTemplateScopeMappingsRealm POST /{realm}/client-templates/{id}/scope-mappings/realm
UsersApi DeleteConsent DELETE /{realm}/users/{id}/consents/{client}
UsersApi DeleteCredential DELETE /{realm}/users/{id}/credentials/{credentialId}
UsersApi DeleteFederatedIdentity DELETE /{realm}/users/{id}/federated-identity/{provider}
UsersApi DeleteUserByRealmById DELETE /{realm}/users/{id}
UsersApi DeleteUserGroup DELETE /{realm}/users/{id}/groups/{groupId}
UsersApi GetConfiguredUserStorageCredentialTypes GET /{realm}/users/{id}/configured-user-storage-credential-types
UsersApi GetConsents GET /{realm}/users/{id}/consents
UsersApi GetCredentials GET /{realm}/users/{id}/credentials
UsersApi GetFederatedIdentity GET /{realm}/users/{id}/federated-identity
UsersApi GetMetadata GET /{realm}/users/profile/metadata
UsersApi GetOfflineSession GET /{realm}/users/{id}/offline-sessions/{clientUuid}
UsersApi GetProfile GET /{realm}/users/profile
UsersApi GetSessions GET /{realm}/users/{id}/sessions
UsersApi GetUserByRealmById GET /{realm}/users/{id}
UsersApi GetUserGroups GET /{realm}/users/{id}/groups
UsersApi GetUserGroupsCount GET /{realm}/users/{id}/groups/count
UsersApi GetUsersByRealm GET /{realm}/users
UsersApi GetUsersCount GET /{realm}/users/count
UsersApi PostFederatedIdentity POST /{realm}/users/{id}/federated-identity/{provider}
UsersApi PostImpersonation POST /{realm}/users/{id}/impersonation
UsersApi PostLogout POST /{realm}/users/{id}/logout
UsersApi PostMoveAfter POST /{realm}/users/{id}/credentials/{credentialId}/moveAfter/{newPreviousCredentialId}
UsersApi PostMoveToFirst POST /{realm}/users/{id}/credentials/{credentialId}/moveToFirst
UsersApi PostUsers POST /{realm}/users
UsersApi PutDisableCredentialTypes PUT /{realm}/users/{id}/disable-credential-types
UsersApi PutExecuteActionsEmail PUT /{realm}/users/{id}/execute-actions-email
UsersApi PutProfile PUT /{realm}/users/profile
UsersApi PutResetPassword PUT /{realm}/users/{id}/reset-password
UsersApi PutResetPasswordEmail PUT /{realm}/users/{id}/reset-password-email
UsersApi PutSendVerifyEmail PUT /{realm}/users/{id}/send-verify-email
UsersApi PutUser PUT /{realm}/users/{id}
UsersApi PutUserGroup PUT /{realm}/users/{id}/groups/{groupId}
UsersApi PutUserLabel PUT /{realm}/users/{id}/credentials/{credentialId}/userLabel

<a id="documentation-for-models"></a>

Documentation for Models

<a id="documentation-for-authorization"></a>

Documentation for Authorization

Authentication schemes defined for the API: <a id="access_token"></a>

access_token

  • Type: Bearer Authentication
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.12 94 5/7/2026
1.0.11 118 1/17/2026
1.0.10 115 1/17/2026
1.0.9 1,035 1/17/2026
1.0.8 246 7/30/2025
1.0.7 224 3/3/2025
1.0.6 294 1/25/2025
1.0.5 166 1/25/2025
1.0.0 173 1/25/2025

v2.0: Regenerated against the official Keycloak 26.3.3 admin REST API spec. BREAKING: method names are now path-based (e.g. AdminRealmsRealmGroupsGetAsync) because Keycloak's official spec omits operationIds. Adds OrganizationsApi (GA in KC 26). ClientRoleMappings POST/DELETE bodies are now List<RoleRepresentation> (KC 26 spec corrected the body shape). Hand-edits preserved: parameterless GroupRepresentation ctor and cached RestClient in ApiClient.cs (prevents socket exhaustion).