keycloak-api-manager 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +252 -252
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -223,7 +223,7 @@ each realm manages its own set of users, roles, groups, and clients independentl
223
223
  ##### `function create(realm-dictionary)`
224
224
  create is a method used to create a new realm.
225
225
  This method accepts a realm representation object containing details such as is, name
226
- @parameters:
226
+ **` -- @parameters -- `**
227
227
  - realm-dictionary: is a JSON object that accepts filter parameters
228
228
  - id:[required] The internal ID of the realm. If omitted, Keycloak uses the realm name as the ID.
229
229
  - realm:[required] The name of the realm to create.
@@ -241,7 +241,7 @@ const KeycloakManager = require('keycloak-api-manager');
241
241
  ##### `function update(filter,realm-dictionary)`
242
242
  Updates the configuration of an existing realm.
243
243
  You can use this method to modify settings such as login behavior, themes, token lifespans, and more.
244
- @parameters:
244
+ **` -- @parameters -- `**
245
245
  - filter:is a JSON object that accepts filter parameters
246
246
  - realm:[required] The identifier of the realm you want to update.
247
247
  - realm-dictionary: An object containing the updated realm configuration. Only the fields you want to change need to be included.
@@ -262,7 +262,7 @@ const KeycloakManager = require('keycloak-api-manager');
262
262
  ##### `function del(filter)`
263
263
  Deletes a specific realm from the Keycloak server.
264
264
  This operation is irreversible and removes all users, clients, roles, groups, and settings associated with the realm.
265
- @parameters:
265
+ **` -- @parameters -- `**
266
266
  - filter: is a JSON object that accepts filter parameters
267
267
  - realm:[required] The name of the realm to delete.
268
268
 
@@ -288,7 +288,7 @@ console.log("Retrieved realms:",realms);
288
288
  ##### `function findOne(filter)`
289
289
  Retrieves the full configuration and metadata of a specific realm by its name (realm ID).
290
290
  This includes settings like login policies, themes, password policies, etc.
291
- @parameters:
291
+ **` -- @parameters -- `**
292
292
  - filter: is a JSON object that accepts filter parameters
293
293
  - realm:[required] The name (ID) of the realm you want to retrieve.
294
294
 
@@ -306,7 +306,7 @@ console.log("Retrieved realm:",realmConfig);
306
306
  Performs a partial import of realm configuration into a Keycloak realm.
307
307
  This allows you to import users, roles, groups, clients, and other components without replacing the entire realm.
308
308
  It’s useful for incremental updates or merging configuration pieces.
309
- @parameters:
309
+ **` -- @parameters -- `**
310
310
  - configuration: is a JSON object that accepts filter parameters
311
311
  - realm:[required] The name of the realm where the data should be imported.
312
312
  - representation:[required] A JSON object representing part of the realm configuration to be imported(can include users, roles, groups, clients, etc.).
@@ -343,7 +343,7 @@ const result = await KeycloakManager.realms.partialImport({
343
343
  ##### `function export(configuration)`
344
344
  Exports the configuration of a specific realm.
345
345
  This method returns the full realm representation in JSON format, including roles, users, clients, groups, and other components depending on the provided options.
346
- @parameters:
346
+ **` -- @parameters -- `**
347
347
  - configuration: is a JSON object that accepts filter parameters
348
348
  - realm:[required] The name of the realm to export.
349
349
  - exportClients: [optional] boolean, Whether to include clients in the export. Default: true.
@@ -365,7 +365,7 @@ console.log(JSON.stringify(exportedRealm, null, 2));
365
365
  ##### `function getClientRegistrationPolicyProviders(configuration)`
366
366
  Fetches the list of available client registration policy providers for the specified realm.
367
367
  These providers define how new clients can be registered and what rules or validations apply (e.g., allowed scopes, required attributes).
368
- @parameters:
368
+ **` -- @parameters -- `**
369
369
  - configuration: is a JSON object that accepts filter parameters
370
370
  - realm:[required] The name of the realm where you want to list client registration policy providers.
371
371
 
@@ -382,7 +382,7 @@ await KeycloakManager.realms.getClientRegistrationPolicyProviders({
382
382
  ##### `function createClientsInitialAccess(realmFilter,options)`
383
383
  Creates a new Initial Access Token for dynamic client registration.
384
384
  This token allows clients to register themselves with the realm using the Dynamic Client Registration API. Useful when you want to allow programmatic client creation in a controlled way.
385
- @parameters:
385
+ **` -- @parameters -- `**
386
386
  - realmFilter: is a JSON object that accepts filter parameters
387
387
  - realm:[required] The name of the realm where the initial access token should be created.
388
388
  - options: is a JSON object that accepts filter parameters
@@ -411,7 +411,7 @@ console.log("Initial Access Token:", initialAccess.token);
411
411
  ##### `function getClientsInitialAccess(realmFilter)`
412
412
  Retrieves all existing Initial Access Tokens for dynamic client registration in a given realm.
413
413
  These tokens are used to allow programmatic or automated registration of clients via the Dynamic Client Registration API.
414
- @parameters:
414
+ **` -- @parameters -- `**
415
415
  - realmFilter: is a JSON object that accepts filter parameters
416
416
  - realm:[required] The name of the realm from which to list all initial access tokens.
417
417
 
@@ -434,7 +434,7 @@ console.log("Initial Access Tokens:", tokens);
434
434
  ##### `function delClientsInitialAccess(realmFilter)`
435
435
  Deletes a specific Initial Access Token used for dynamic client registration in a given realm.
436
436
  This revokes the token, preventing any future use.
437
- @parameters:
437
+ **` -- @parameters -- `**
438
438
  - realmFilter: is a JSON object that accepts filter parameters
439
439
  - realm:[required] The name of the realm where the token was created.
440
440
  - id:[required] The ID of the initial access token you want to delete.
@@ -451,7 +451,7 @@ await KeycloakManager.realms.delClientsInitialAccess({
451
451
  ##### `function addDefaultGroup(realmFilter)`
452
452
  Adds an existing group to the list of default groups for a given realm.
453
453
  Users created in this realm will automatically be added to all default groups.
454
- @parameters:
454
+ **` -- @parameters -- `**
455
455
  - realmFilter: is a JSON object that accepts filter parameters
456
456
  - realm:[required] The name of the realm where the default group will be set.
457
457
  - id:[required] The ID of the group to be added as a default group
@@ -467,7 +467,7 @@ await KeycloakManager.realms.addDefaultGroup({
467
467
  ##### `function removeDefaultGroup(realmFilter)`
468
468
  Removes a group from the list of default groups in a realm.
469
469
  Default groups are automatically assigned to new users when they are created.
470
- @parameters:
470
+ **` -- @parameters -- `**
471
471
  - realmFilter: is a JSON object that accepts filter parameters
472
472
  - realm:[required] The name of the realm from which to remove the default group.
473
473
  - id:[required] The ID of the group you want to remove from the default list.
@@ -484,7 +484,7 @@ await KeycloakManager.realms.removeDefaultGroup({
484
484
  ##### `function getDefaultGroups(realmFilter)`
485
485
  Retrieves a list of all default groups for a specified realm.
486
486
  These are the groups that new users will automatically be added to upon creation.
487
- @parameters:
487
+ **` -- @parameters -- `**
488
488
  - realmFilter: is a JSON object that accepts filter parameters
489
489
  - realm:[required] The name of the realm from which to retrieve default groups.
490
490
 
@@ -501,7 +501,7 @@ console.log(defaultGroups);
501
501
  ##### `function getGroupByPath(realmFilter)`
502
502
  Retrieves a group object by specifying its hierarchical path in a realm.
503
503
  This is useful when you know the group’s full path (e.g., /parent/child) but not its ID.
504
- @parameters:
504
+ **` -- @parameters -- `**
505
505
  - realmFilter: is a JSON object that accepts filter parameters
506
506
  - realm:[required] The name of the realm where the group is located.
507
507
  - path:[required] TThe full hierarchical path to the group, starting with a slash (/). For example: /developers/frontend.
@@ -523,7 +523,7 @@ console.log(defaultGroups);
523
523
  Retrieves the event configuration settings for a specific realm.
524
524
  This includes settings related to the event listeners, enabled event types, admin events, and more.
525
525
  Useful for auditing and tracking activities inside Keycloak.
526
- @parameters:
526
+ **` -- @parameters -- `**
527
527
  - realmFilter: is a JSON object that accepts filter parameters
528
528
  - realm:[required] The name of the realm from which to retrieve the event configuration.
529
529
  ```js
@@ -550,7 +550,7 @@ console.log(config);
550
550
  Updates the event configuration for a given realm.
551
551
  This includes enabling/disabling events, setting specific event types to track,
552
552
  enabling admin event logging, and choosing which event listeners to use.
553
- @parameters:
553
+ **` -- @parameters -- `**
554
554
  - realmFilter: is a JSON object that accepts filter parameters
555
555
  - realm:[required] The name of the realm where the configuration will be updated.
556
556
  - configurationEvents:is a config events JSON object dictionary like this:
@@ -579,7 +579,7 @@ const config= await KeycloakManager.realms.updateConfigEvents(
579
579
  Retrieves a list of events that occurred in a specified realm.
580
580
  You can filter the results by event type, user, date range, and other criteria.
581
581
  Useful for auditing login, logout, and other user-related activities.
582
- @parameters:
582
+ **` -- @parameters -- `**
583
583
  - realmFilter: is a JSON object that accepts filter parameters
584
584
  - realm: [required] The name of the realm to fetch events from.
585
585
  - client: [optional] Client ID to filter events for a specific client.
@@ -606,7 +606,7 @@ const config= await KeycloakManager.realms.findEvents({
606
606
  Retrieves administrative events that occurred in a specific realm.
607
607
  Admin events are triggered by actions such as creating users, updating roles, or modifying realm settings.
608
608
  This is useful for auditing changes made via the admin API or admin console.
609
- @parameters:
609
+ **` -- @parameters -- `**
610
610
  - realmFilter: is a JSON object that accepts filter parameters
611
611
  - realm: [required] The name of the realm to retrieve admin events from.
612
612
  - authClient: [optional] Client ID used to perform the action.
@@ -639,7 +639,7 @@ const config= await KeycloakManager.realms.findAdminEvents({
639
639
  Deletes all user events (not admin events) from the event store of a specific realm.
640
640
  Useful for resetting or cleaning up event logs related to user actions such as logins, logouts, failed login attempts, etc.
641
641
  This does not clear administrative events. To remove those, use realms.clearAdminEvents().
642
- @parameters:
642
+ **` -- @parameters -- `**
643
643
  - realmFilter: is a JSON object that accepts filter parameters
644
644
  - realm: [required] The name of the realm from which to clear user events.
645
645
  ```js
@@ -656,7 +656,7 @@ const config= await KeycloakManager.realms.clearEvents({
656
656
  Deletes all admin events from the event store of a specific realm.
657
657
  Admin events include actions such as creating users, updating roles, changing client settings, etc.,
658
658
  performed by administrators via the Admin Console or Admin REST API.
659
- @parameters:
659
+ **` -- @parameters -- `**
660
660
  - realmFilter: is a JSON object that accepts filter parameters
661
661
  - realm: [required] The name of the realm from which to clear administrative events.
662
662
  ```js
@@ -674,7 +674,7 @@ const config= await KeycloakManager.realms.clearAdminEvents({
674
674
  Retrieves the status and configuration of user management permissions (also known as fine-grained permissions) in a specific realm.
675
675
  This allows you to check whether user management operations (like creating, updating, or deleting users) are protected by specific roles or policies.
676
676
 
677
- @parameters:
677
+ **` -- @parameters -- `**
678
678
  - realmFilter: is a JSON object that accepts filter parameters
679
679
  - realm: [required] The name of the realm for which you want to retrieve the user management permission settings.
680
680
 
@@ -708,7 +708,7 @@ console.log(permissions.enabled); // true or false
708
708
  Enables or disables fine-grained user management permissions in a specified realm.
709
709
  This controls whether operations on users (such as creating, editing, or deleting users)
710
710
  are protected using Keycloak's authorization services.
711
- @parameters:
711
+ **` -- @parameters -- `**
712
712
  - update-parameters: is a JSON object that accepts this parameters
713
713
  - realm: [required] The name of the realm for which you want to update the user management permission settings.
714
714
  - enabled: [required] boolean value to enable or disable permission
@@ -744,7 +744,7 @@ console.log(permissions.enabled); // true
744
744
  ##### `function getKeys(filter)`
745
745
  Retrieves the realm keys metadata, including public keys, certificates, and active key information
746
746
  used for token signing, encryption, and other cryptographic operations in the specified realm.
747
- @parameters:
747
+ **` -- @parameters -- `**
748
748
  - filter: is a JSON object that accepts this parameters
749
749
  - realm: [required] The name of the realm for which you want to retrieve key metadata.
750
750
 
@@ -783,7 +783,7 @@ console.log(Keys);
783
783
 
784
784
  ##### `function getClientSessionStats(filter)`
785
785
  Retrieves statistics about active client sessions in the specified realm. This includes the number of active sessions per client.
786
- @parameters:
786
+ **` -- @parameters -- `**
787
787
  - filter: is a JSON object that accepts this parameters
788
788
  - realm: [required] The name of the realm for which you want to retrieve client session statistics.
789
789
 
@@ -811,7 +811,7 @@ console.log(stats);
811
811
  ##### `function pushRevocation(filter)`
812
812
  Immediately pushes a revocation policy to all clients in the specified realm.
813
813
  This forces clients to revalidate tokens, effectively revoking cached access tokens and enforcing updated policies.
814
- @parameters:
814
+ **` -- @parameters -- `**
815
815
  - filter: is a JSON object that accepts this parameters
816
816
  - realm: [required] The name of the realm where the revocation should be pushed.
817
817
 
@@ -830,7 +830,7 @@ console.log(pushR);
830
830
  ##### `function logoutAll(filter)`
831
831
  Logs out all active sessions for all users in the specified realm.
832
832
  This invalidates all user sessions, forcing every user to re-authenticate.
833
- @parameters:
833
+ **` -- @parameters -- `**
834
834
  - filter: is a JSON object that accepts this parameters
835
835
  - realm: [required] The name of the realm from which to log out all users.
836
836
 
@@ -850,7 +850,7 @@ console.log('logout results:',logout);
850
850
  Tests the connection to an LDAP server using the provided configuration parameters.
851
851
  This is useful to verify that Keycloak can reach and authenticate with the LDAP server before
852
852
  fully integrating it into the realm configuration.
853
- @parameters:
853
+ **` -- @parameters -- `**
854
854
  - filter: is a JSON object that accepts this filter parameters
855
855
  - realm: [required] Name of the realm where the LDAP provider is being tested.
856
856
  - options: is a JSON object that accepts this parameters
@@ -891,7 +891,7 @@ const KeycloakManager = require('keycloak-api-manager');
891
891
  This function queries the LDAP server configured for a specific realm to retrieve and display its supported capabilities.
892
892
  It helps validate the connection and understand which LDAP features are available,
893
893
  such as supported controls, extensions, authentication mechanisms, and more.
894
- @parameters:
894
+ **` -- @parameters -- `**
895
895
  - filter: is a JSON object that accepts this filter parameters
896
896
  - realm: [required] Name of the realm where the LDAP provider is being tested.
897
897
  - options: is a JSON object that accepts this parameters
@@ -932,7 +932,7 @@ const KeycloakManager = require('keycloak-api-manager');
932
932
  Tests the SMTP connection using the provided configuration.
933
933
  This allows you to verify that Keycloak can connect and send emails through the configured
934
934
  SMTP server before applying the settings to the realm.
935
- @parameters:
935
+ **` -- @parameters -- `**
936
936
  - filter: is a JSON object that accepts this filter parameters
937
937
  - realm: [required] The name of the realm where the SMTP server will be tested.
938
938
  - config: An object containing the SMTP server configuration:
@@ -971,7 +971,7 @@ const KeycloakManager = require('keycloak-api-manager');
971
971
  ##### `function getRealmLocalizationTexts(filter)`
972
972
  Retrieves all localization texts (custom messages and labels) defined for a specific realm and locale.
973
973
  Localization texts are used to override default Keycloak UI messages for login forms, error pages, and other user-facing content
974
- @parameters:
974
+ **` -- @parameters -- `**
975
975
  - filter: is a JSON object that accepts this filter parameters
976
976
  - realm: [required] The name of the realm from which to fetch localization texts.
977
977
  - selectedLocale: [required] The locale code (e.g., 'en', 'it', 'fr', etc.) for which you want to retrieve the translations.
@@ -991,7 +991,7 @@ console.log(texts);
991
991
  ##### `function addLocalization(filter,value)`
992
992
  Adds or updates a localization text (custom UI message or label) for a specific realm and locale in Keycloak.
993
993
  This allows you to override default messages in the login screens and other UI components with custom translations.
994
- @parameters:
994
+ **` -- @parameters -- `**
995
995
  - filter: is a JSON object that accepts this filter parameters
996
996
  - realm: [required] The name of the realm where the localization should be applied.
997
997
  - selectedLocale: [required] The locale code (e.g., 'en', 'fr', 'it') for which the translation is being added.
@@ -1013,7 +1013,7 @@ await KeycloakManager.realms.addLocalization({
1013
1013
  ##### `function getRealmSpecificLocales(filter)`
1014
1014
  Retrieves the list of locales (language codes) for which custom localization texts have been defined in a specific realm.
1015
1015
  This function is useful to determine which locales have at least one overridden message.
1016
- @parameters:
1016
+ **` -- @parameters -- `**
1017
1017
  - filter: is a JSON object that accepts this filter parameters
1018
1018
  - realm: [required] The name of the realm for which to fetch the list of custom locales.
1019
1019
  - selectedLocale: [optional] The locale code (e.g., 'en', 'fr', 'it').
@@ -1043,7 +1043,7 @@ console.log(specificLocales.thekey); // new Value String for key:theKey
1043
1043
  ##### `function deleteRealmLocalizationTexts(filter)`
1044
1044
  Deletes a specific custom localization text entry for a given locale and key within a realm.
1045
1045
  This is useful when you want to remove a previously added or overridden message from the realm's custom localization.
1046
- @parameters:
1046
+ **` -- @parameters -- `**
1047
1047
  - filter: is a JSON object that accepts this filter parameters
1048
1048
  - realm: [required] The name of the realm where the localization entry exists.
1049
1049
  - selectedLocale: [required] The locale code (e.g., 'en', 'fr', 'it').
@@ -1075,7 +1075,7 @@ create is a method used to create a new user in the specified realm.
1075
1075
  This method accepts a user representation object containing details such as username, email, enabled status,
1076
1076
  credentials, and other user attributes that can be get by getProfile function.
1077
1077
  It is typically used when you want to programmatically add new users to your Keycloak realm via the Admin API.
1078
- @parameters:
1078
+ **` -- @parameters -- `**
1079
1079
  - userRepresentation: An object containing the user fields to be updated.
1080
1080
  ```js
1081
1081
  const KeycloakManager = require('keycloak-api-manager');
@@ -1095,7 +1095,7 @@ const KeycloakManager = require('keycloak-api-manager');
1095
1095
  ##### `function del(filter)`
1096
1096
  Deletes a user from the specified realm. Once removed, the user and all associated data (such as credentials,
1097
1097
  sessions, and group/role memberships) are permanently deleted.
1098
- @parameters:
1098
+ **` -- @parameters -- `**
1099
1099
  - id: [Required] the user ID to delete
1100
1100
  - realm [Optional] the realm name (defaults to current realm)
1101
1101
  ```js
@@ -1109,7 +1109,7 @@ const KeycloakManager = require('keycloak-api-manager');
1109
1109
  find method is used to retrieve a list of users in a specific realm.
1110
1110
  It supports optional filtering parameters such as username, email, first name, last name, and more.
1111
1111
  Searching by attributes is only available from Keycloak > 15
1112
- @parameters:
1112
+ **` -- @parameters -- `**
1113
1113
  - filter: parameter provided as a JSON object that accepts the following filter:
1114
1114
  - q: A string containing a query filter by custom attributes, such as 'username:admin'.
1115
1115
  - {builtin attribute}: To find users by builtin attributes such as email, surname... example {email:"admin@admin.com"}
@@ -1149,7 +1149,7 @@ count method returns the total number of users in a given realm.
1149
1149
  It optionally accepts filtering parameters similar to those in users.find() such
1150
1150
  as username, email, firstName, lastName and so on to count only users that match specific criteria.
1151
1151
  Searching by attributes is only available from Keycloak > 15
1152
- @parameters:
1152
+ **` -- @parameters -- `**
1153
1153
  - filter is a JSON object that accepts filter parameters, such as { email: 'test@keycloak.org' }
1154
1154
  ```js
1155
1155
  const KeycloakManager = require('keycloak-api-manager');
@@ -1167,7 +1167,7 @@ console.log('User found:', user_count);
1167
1167
  update method is used to update the details of a specific user in a Keycloak realm.
1168
1168
  It requires at least the user’s ID(searchParams) and the updated data(userRepresentation).
1169
1169
  You can modify fields like firstName, lastName, email, enabled, and more.
1170
- @parameters:
1170
+ **` -- @parameters -- `**
1171
1171
  - searchParams: is a JSON object that accepts filter parameters
1172
1172
  - id: [Required] the user ID to update
1173
1173
  - realm [Optional] the realm name (defaults to current realm)
@@ -1186,7 +1186,7 @@ const user_count = await KeycloakManager.users.update({ id: 'user-Id' }, {
1186
1186
  resetPassword method is used to set a new password for a specific user.
1187
1187
  This action replaces the user's existing credentials. You can also set whether the user is required to
1188
1188
  change the password on next login.
1189
- @parameters:
1189
+ **` -- @parameters -- `**
1190
1190
  - newCredentialsParameters: is a JSON object that accepts filter parameters
1191
1191
  - id: [Required] the user ID to update
1192
1192
  - realm [Optional] the realm name (defaults to current realm)
@@ -1212,7 +1212,7 @@ getCredentials() method retrieves the list of credentials (e.g., passwords, OTPs
1212
1212
  currently associated with a given user in a specific realm.
1213
1213
  This is useful for auditing, checking what types of credentials a user has set up,
1214
1214
  or managing credentials such as password reset, WebAuthn deletion, etc.
1215
- @parameters:
1215
+ **` -- @parameters -- `**
1216
1216
  - getCredentials: is a JSON object that accepts filter parameters
1217
1217
  - id: [Required] the user ID to update
1218
1218
  - realm [Optional] the realm name (defaults to current realm)
@@ -1227,7 +1227,7 @@ console.log(ressult);
1227
1227
  ##### `function deleteCredential(accountInfo)`
1228
1228
  deleteCredential method allows you to delete a specific credential (e.g., password, OTP, WebAuthn, etc.) from a user.
1229
1229
  This is useful when you want to invalidate or remove a credential, forcing the user to reconfigure or reset it.
1230
- @parameters:
1230
+ **` -- @parameters -- `**
1231
1231
  - accountInfo: is a JSON object that accepts this parameters
1232
1232
  - id: [Required] the user ID to update
1233
1233
  - credentialId [Required] the credentils identifier
@@ -1253,7 +1253,7 @@ const KeycloakManager = require('keycloak-api-manager');
1253
1253
 
1254
1254
  ##### `function addToGroup(parameters)`
1255
1255
  Adds a user to a specific group within the realm.
1256
- @parameters:
1256
+ **` -- @parameters -- `**
1257
1257
  - parameters: is a JSON object that accepts this parameters
1258
1258
  - id [required]: The user ID of the user you want to add to the group.
1259
1259
  - groupId [required]: The group ID of the group the user should be added to.
@@ -1268,7 +1268,7 @@ const KeycloakManager = require('keycloak-api-manager');
1268
1268
  ```
1269
1269
  ##### `function delFromGroup(parameters)`
1270
1270
  Removes a user from a specific group in Keycloak.
1271
- @parameters:
1271
+ **` -- @parameters -- `**
1272
1272
  - parameters: is a JSON object that accepts this parameters
1273
1273
  - id [required]: The user ID of the user you want to remove to the group.
1274
1274
  - groupId [required]: The group ID of the group the user should be removed to.
@@ -1284,7 +1284,7 @@ const KeycloakManager = require('keycloak-api-manager');
1284
1284
 
1285
1285
  ##### `function countGroups(filter)`
1286
1286
  Retrieves the number of groups that a given user is a member of.
1287
- @parameters:
1287
+ **` -- @parameters -- `**
1288
1288
  - filter is a JSON object that accepts filter parameters, such as { id: '' }
1289
1289
  - id: [required] The user ID of the user whose group membership count you want to retrieve.
1290
1290
  - search: [optional] a String containing group name such "cool-group",
@@ -1297,7 +1297,7 @@ console.log('Groups found:', user_count);
1297
1297
  ```
1298
1298
  ##### `function listGroups(filter)`
1299
1299
  Returns the list of groups that a given user is a member of.
1300
- @parameters:
1300
+ **` -- @parameters -- `**
1301
1301
  - filter is a JSON object that accepts filter parameters, such as { id: '' }
1302
1302
  - id: [required] The user ID of the user whose group membership you want to retrieve.
1303
1303
  - search: [optional] a String containing group name such "cool-group",
@@ -1314,7 +1314,7 @@ console.log('Groups found:', user_count);
1314
1314
  Assigns one or more realm-level roles to a user.
1315
1315
  Returns a promise that resolves when the roles are successfully assigned. No return value on success.
1316
1316
 
1317
- @parameters:
1317
+ **` -- @parameters -- `**
1318
1318
  - roleMapping is a JSON object that accepts this parameters:
1319
1319
  - id: [required] The ID of the user to whom the roles will be assigned..
1320
1320
  - roles: [required] An array of role representations to assign. Each role object should contain at least:
@@ -1341,7 +1341,7 @@ Removes one or more realm-level roles from a specific user.
1341
1341
  Only roles that were directly assigned to the user can be removed with this method.
1342
1342
  This method does not affect composite roles. It only removes directly assigned realm roles.
1343
1343
 
1344
- @parameters:
1344
+ **` -- @parameters -- `**
1345
1345
  - roleMapping is a JSON object that accepts this parameters:
1346
1346
  - id: [required] The ID of the user to whom the roles will be removed..
1347
1347
  - roles: [required] An array of role representations to remove. Each role object should contain at least:
@@ -1369,7 +1369,7 @@ console.log(`realm role role-name to user user-id removed`);
1369
1369
  Retrieves all available realm-level roles that can still be assigned to a specific user.
1370
1370
  These are the roles that exist in the realm but have not yet been mapped to the user.
1371
1371
 
1372
- @parameters:
1372
+ **` -- @parameters -- `**
1373
1373
  - filter is a JSON object that accepts this parameters:
1374
1374
  - id: [required] The ID of the user for whom to list assignable realm roles.
1375
1375
  ```js
@@ -1384,7 +1384,7 @@ console.log('Assignable realm-level roles for user user-id',available_roles);
1384
1384
  ##### `function listRoleMappings(filter)`
1385
1385
  Retrieves all realm-level and client-level roles that are currently assigned to a specific user.
1386
1386
 
1387
- - @parameters:
1387
+ **` -- @parameters -- `**
1388
1388
  - filter is a JSON object that accepts this parameters:
1389
1389
  - id: [required] The user ID for which you want to fetch the assigned role mappings.
1390
1390
 
@@ -1418,7 +1418,7 @@ for (const [clientId, mapping] of Object.entries(roleMappings.clientMappings ||
1418
1418
  Retrieves the realm-level roles that are currently assigned to a specific user.
1419
1419
  Unlike listRoleMappings, this method focuses only on realm roles and excludes client roles.
1420
1420
 
1421
- - @parameters:
1421
+ **` -- @parameters -- `**
1422
1422
  - filter is a JSON object that accepts this parameters:
1423
1423
  - id: [required] The user ID for which you want to fetch the assigned role mappings.
1424
1424
 
@@ -1442,7 +1442,7 @@ roleMappings.forEach((role) => {
1442
1442
  Retrieves the list of composite realm-level roles that are effectively assigned to a user.
1443
1443
  Composite roles include both directly assigned realm roles and any roles inherited through composite role structures.
1444
1444
 
1445
- - @parameters:
1445
+ **` -- @parameters -- `**
1446
1446
  - filter is a JSON object that accepts this parameters:
1447
1447
  - id: [required] The user ID for which you want to fetch the assigned role mappings.
1448
1448
 
@@ -1467,7 +1467,7 @@ Assigns one or more client-level roles to a user.
1467
1467
  This method adds role mappings from a specific client to the given user,
1468
1468
  allowing the user to have permissions defined by those client roles.
1469
1469
 
1470
- - @parameters:
1470
+ **` -- @parameters -- `**
1471
1471
  - role_mapping is a JSON object that accepts this parameters:
1472
1472
  - id: [required] The ID of the user to whom roles will be assigned.
1473
1473
  - clientUniqueId:[required] The internal ID of the client that owns the roles.
@@ -1496,7 +1496,7 @@ Retrieves a list of client roles that are available to be assigned to a specific
1496
1496
  meaning roles defined in a client that the user does not yet have assigned.
1497
1497
  This is useful for determining which roles can still be mapped to the user.
1498
1498
 
1499
- - @parameters:
1499
+ **` -- @parameters -- `**
1500
1500
  - filter is a JSON object that accepts this parameters:
1501
1501
  - id: [required] The ID of the user
1502
1502
  - clientUniqueId:[required] The internal ID of the client (not the clientId string)
@@ -1518,7 +1518,7 @@ Retrieves all composite roles assigned to a specific user for a given client.
1518
1518
  Composite roles are roles that include other roles.
1519
1519
  This method returns not only directly assigned roles, but also roles inherited through composite definitions for that client.
1520
1520
 
1521
- - @parameters:
1521
+ **` -- @parameters -- `**
1522
1522
  - filter is a JSON object that accepts this parameters:
1523
1523
  - id: [required] The ID of the user
1524
1524
  - clientUniqueId:[required] The internal ID of the client (not the clientId string)
@@ -1540,7 +1540,7 @@ Retrieves all client-level roles directly assigned to a user for a specific clie
1540
1540
  Unlike composite role mappings, this method only returns the roles that were explicitly
1541
1541
  assigned to the user from the client, without including roles inherited via composite definitions.
1542
1542
 
1543
- - @parameters:
1543
+ **` -- @parameters -- `**
1544
1544
  - filter is a JSON object that accepts this parameters:
1545
1545
  - id: [required] The ID of the user
1546
1546
  - clientUniqueId:[required] The internal ID of the client (not the clientId string)
@@ -1560,7 +1560,7 @@ const availableRoles = await KeycloakManager.users.listClientRoleMappings({
1560
1560
  Removes one or more client-level roles previously assigned to a specific user.
1561
1561
  This operation unlinks the direct association between the user and the specified roles within the given client.
1562
1562
 
1563
- - @parameters:
1563
+ **` -- @parameters -- `**
1564
1564
  - filter is a JSON object that accepts this parameters:
1565
1565
  - id: [required] The ID of the user to whom roles will be removed.
1566
1566
  - clientUniqueId:[required] The internal ID of the client that owns the roles.
@@ -1589,7 +1589,7 @@ await KeycloakManager.users.delClientRoleMappings({
1589
1589
  Retrieves a list of active user sessions for the specified user.
1590
1590
  Each session represents a login session associated with that user across different clients or devices.
1591
1591
 
1592
- - @parameters:
1592
+ **` -- @parameters -- `**
1593
1593
  - filter is a JSON object that accepts this parameters:
1594
1594
  - id: [required] The ID of the user whose sessions will be listed.
1595
1595
  - clientId: [optional] The internal ID of the client that owns the roles.
@@ -1610,7 +1610,7 @@ Retrieves a list of offline sessions for the specified user.
1610
1610
  Offline sessions represent long-lived refresh tokens that allow clients to obtain new access tokens
1611
1611
  without requiring the user to be actively logged in.
1612
1612
 
1613
- - @parameters:
1613
+ **` -- @parameters -- `**
1614
1614
  - filter is a JSON object that accepts this parameters:
1615
1615
  - id: [required] The ID of the user whose sessions will be listeds
1616
1616
  - clientId: [optional] The client ID whose sessions are being checked
@@ -1631,7 +1631,7 @@ const sessions=await KeycloakManager.users.listOfflineSessions({
1631
1631
  Forces logout of the specified user from all active sessions, both online and offline.
1632
1632
  This invalidates the user’s active sessions and tokens, effectively logging them out from all clients
1633
1633
 
1634
- - @parameters:
1634
+ **` -- @parameters -- `**
1635
1635
  - filter is a JSON object that accepts this parameters:
1636
1636
  - id: [required] The ID of the user whose sessions will be closed
1637
1637
  ```js
@@ -1649,7 +1649,7 @@ const sessions=await KeycloakManager.users.logout({
1649
1649
  Retrieves the list of OAuth2 client consents that the specified user has granted.
1650
1650
  Each consent represents a client application that the user has authorized to access their data with specific scopes.
1651
1651
 
1652
- - @parameters:
1652
+ **` -- @parameters -- `**
1653
1653
  - filter is a JSON object that accepts this parameters:
1654
1654
  - id: [required] The ID of the user whose client consents can be retrieved.
1655
1655
  ```js
@@ -1669,7 +1669,7 @@ Revokes a previously granted OAuth2 client consent for a specific user.
1669
1669
  This operation removes the authorization a user has given to a client,
1670
1670
  effectively disconnecting the client from the user's account and invalidating associated tokens.
1671
1671
 
1672
- @parameters:
1672
+ **` -- @parameters -- `**
1673
1673
 
1674
1674
  - filter is a JSON object that accepts this parameters:
1675
1675
  - id: [required] The ID of the user whose consent should be revoked
@@ -1692,7 +1692,7 @@ This allows an administrator to act on behalf of the user, gaining access as if
1692
1692
  This is typically used for debugging or support purposes.
1693
1693
  Returns an object containing a redirect URL or token used to impersonate the user.
1694
1694
 
1695
- @parameters:
1695
+ **` -- @parameters -- `**
1696
1696
 
1697
1697
  - filter is a JSON object that accepts this parameters:
1698
1698
  - id: [required] The ID of the user to impersonate.
@@ -1711,7 +1711,7 @@ await KeycloakManager.users.impersonation({id: 'user-id'},{
1711
1711
  Retrieves a list of federated identities (external identity providers) associated with a specific user.
1712
1712
  This is useful if the user has linked their account with external providers like Google, Facebook, etc.
1713
1713
 
1714
- @parameters:
1714
+ **` -- @parameters -- `**
1715
1715
 
1716
1716
  - filter is a JSON object that accepts this parameters:
1717
1717
  - id: [required] The unique ID of the user for whom you want to fetch the federated identities.
@@ -1728,7 +1728,7 @@ console.log("Federated Identities:", federatedIdentities);
1728
1728
  Adds (links) an external identity provider to a specific Keycloak user.
1729
1729
  This is typically used to associate a federated identity (such as a Google or Facebook account) with an existing Keycloak user.
1730
1730
 
1731
- @parameters:
1731
+ **` -- @parameters -- `**
1732
1732
 
1733
1733
  - options is a JSON object that accepts this parameters:
1734
1734
  - id: [required] The ID of the Keycloak user to whom the federated identity should be added.
@@ -1758,7 +1758,7 @@ await KeycloakManager.users.addToFederatedIdentity({
1758
1758
  Removes (unlinks) a federated identity provider from a specific Keycloak user.
1759
1759
  This operation dissociates the external identity (e.g., a Google or Facebook account) previously linked to the user.
1760
1760
 
1761
- @parameters:
1761
+ **` -- @parameters -- `**
1762
1762
 
1763
1763
  - options is a JSON object that accepts this parameters:
1764
1764
  - id: [required] The ID of the Keycloak user from whom the federated identity should be removed.
@@ -1791,7 +1791,7 @@ Clients represent entities that want to interact with Keycloak for authenticatio
1791
1791
 
1792
1792
  ##### `function create(client_dictionary)`
1793
1793
  Creates a new client with the provided configuration
1794
- @parameters:
1794
+ **` -- @parameters -- `**
1795
1795
  - client_dictionary: An object(JSON) of type ClientRepresentation, containing the configuration for the new client.
1796
1796
  - clientId: [required] string The unique identifier for the client (required).
1797
1797
  - name: [required] string A human-readable name for the client.
@@ -1816,7 +1816,7 @@ console.log("New Client Created:", client);
1816
1816
  Retrieves a list of all clients in the current realm, optionally filtered by query parameters.
1817
1817
  This method is useful for listing all registered applications or services in Keycloak or searching
1818
1818
  for a specific one using filters like clientId.
1819
- @parameters:
1819
+ **` -- @parameters -- `**
1820
1820
  - filter: A JSON structure used to filter results based on specific fields:
1821
1821
  - clientId: [optional] string filter to search clients by their clientId.
1822
1822
  - viewableOnly: [optional] boolean value. If true, returns only clients that the current user is allowed to view.
@@ -1832,7 +1832,7 @@ console.log("Clients:", clients);
1832
1832
  ##### `function findOne(filter)`
1833
1833
  Retrieves detailed information about a specific client within a realm by its unique client ID.
1834
1834
  This method fetches the client’s configuration, including its settings, roles, protocols, and other metadata.
1835
- @parameters:
1835
+ **` -- @parameters -- `**
1836
1836
  - filter: A JSON structure used to filter results based on specific fields:
1837
1837
  - id: [optional] The unique identifier of the client to retrieve
1838
1838
  ```js
@@ -1846,7 +1846,7 @@ console.log("Clients:", clients);
1846
1846
  ##### `function del(filter)`
1847
1847
  Deletes a client from the realm using its internal ID.
1848
1848
  This operation is irreversible and will remove the client and all its associated roles, permissions, and configurations.
1849
- @parameters:
1849
+ **` -- @parameters -- `**
1850
1850
  - filter: A JSON structure used to filter results based on specific fields:
1851
1851
  - id: [required] The internal ID of the client to delete (not clientId)
1852
1852
  ```js
@@ -1860,7 +1860,7 @@ console.log(`Client successfully deleted.`);
1860
1860
  ##### `function update(filter,clientRepresentation)`
1861
1861
  Updates the configuration of an existing client in the realm.
1862
1862
  You can modify various attributes such as the client name, redirect URIs, protocol, access type, and more.
1863
- @parameters:
1863
+ **` -- @parameters -- `**
1864
1864
  - filter: A JSON structure used to filter results based on specific fields:
1865
1865
  - id: [required] The unique ID of the client you want to update
1866
1866
  - clientRepresentation: [required] The new configuration for the client
@@ -1885,7 +1885,7 @@ console.log(`Client successfully updated.`);
1885
1885
  Creates a new client role under a specific client.
1886
1886
  Client roles are roles associated with a specific client (application), and are useful
1887
1887
  for fine-grained access control within that client.
1888
- @parameters:
1888
+ **` -- @parameters -- `**
1889
1889
  - role_parameters: JSON structure that defines the role like:
1890
1890
  - id: [required] The internal ID of the client where the role will be created.
1891
1891
  - name: [required] Name of the new role.
@@ -1907,7 +1907,7 @@ console.log("Client role:", role);
1907
1907
  ##### `function findRole(filter)`
1908
1908
  Retrieves a specific client role by name from a given client.
1909
1909
  This is useful when you want to inspect or verify the properties of a role defined within a particular client.
1910
- @parameters:
1910
+ **` -- @parameters -- `**
1911
1911
  - filter: JSON structure that defines the filter parameters:
1912
1912
  - id: [required] The internal ID of the client (not the clientId string) where the role is defined.
1913
1913
  - roleName: [required] The name of the client role you want to find.
@@ -1926,7 +1926,7 @@ console.log("Client role:", role);
1926
1926
  ##### `function updateRole(filter,roleRepresentation)`
1927
1927
  Updates the attributes of a specific client role in Keycloak.
1928
1928
  This includes changing the role's name, description, or any associated metadata.
1929
- @parameters:
1929
+ **` -- @parameters -- `**
1930
1930
  - filter: JSON structure that defines the filter parameters:
1931
1931
  - id: [required] The internal ID of the client (not the clientId string) where the role is defined.
1932
1932
  - roleName: [required] The name of the client role you want to update
@@ -1950,7 +1950,7 @@ Deletes a client role by its name for a specific client.
1950
1950
  This permanently removes the role from the specified client in Keycloak.
1951
1951
  A promise that resolves to void if the deletion is successful.
1952
1952
  If the role does not exist or the operation fails, an error will be thrown.
1953
- @parameters:
1953
+ **` -- @parameters -- `**
1954
1954
  - filter: JSON structure that defines the filter parameters:
1955
1955
  - id: [required] The internal ID of the client (not the clientId string) where the role is defined.
1956
1956
  - roleName: [required] The name of the client role you want to delete.
@@ -1968,7 +1968,7 @@ const role= await KeycloakManager.clients.delRole({
1968
1968
  ##### `function listRoles(filter)`
1969
1969
  Retrieves all roles defined for a specific client within the realm.
1970
1970
  These roles can be used to assign permissions to users or groups for the specific client application.
1971
- @parameters:
1971
+ **` -- @parameters -- `**
1972
1972
  - filter: JSON structure that defines the filter parameters:
1973
1973
  - id: [required] The internal ID of the client (not clientId)
1974
1974
 
@@ -1985,7 +1985,7 @@ console.log("Client roles:", roles);
1985
1985
  ##### `function getClientSecret(filter)`
1986
1986
  Retrieves the client secret associated with a confidential client in Keycloak.
1987
1987
  This is typically used for clients using client_credentials or authorization_code flows where the secret is required to authenticate the client.
1988
- @parameters:
1988
+ **` -- @parameters -- `**
1989
1989
  - filter: JSON structure that defines the filter parameters:
1990
1990
  - id: [required] The internal ID of the client (not clientId)
1991
1991
 
@@ -2003,7 +2003,7 @@ console.log("Client secret:", secret);
2003
2003
  ##### `function generateNewClientSecret(filter)`
2004
2004
  Generates a new client secret for a confidential client in Keycloak. This will overwrite the existing secret and return the newly generated one.
2005
2005
  It is useful when rotating credentials or recovering access.
2006
- @parameters:
2006
+ **` -- @parameters -- `**
2007
2007
  - filter: JSON structure that defines the filter parameters:
2008
2008
  - id: [required] The internal ID of the client (not clientId)
2009
2009
 
@@ -2021,7 +2021,7 @@ console.log("New client secret:", secret.value);
2021
2021
  ##### `function generateRegistrationAccessToken(filter)`
2022
2022
  Generates a new registration access token for a client. This token allows the client to make authorized requests to the client registration REST API.
2023
2023
  It’s particularly useful in dynamic client registration workflows or when automating client updates via external systems.
2024
- @parameters:
2024
+ **` -- @parameters -- `**
2025
2025
  - filter: JSON structure that defines the filter parameters:
2026
2026
  - id: [required] The internal ID of the client (not clientId)
2027
2027
 
@@ -2040,7 +2040,7 @@ console.log("New registration access token:", result.registrationAccessToken);
2040
2040
  Invalidates (revokes) the current client secret, making it no longer valid.
2041
2041
  After invalidation, the client will no longer be able to authenticate using the old secret and a new secret should be generated.
2042
2042
 
2043
- @parameters:
2043
+ **` -- @parameters -- `**
2044
2044
  - filter: JSON structure that defines the filter parameters:
2045
2045
  - id: [required] The internal ID of the client (not clientId)
2046
2046
 
@@ -2060,7 +2060,7 @@ Retrieves a list of available installation providers for a specific client.
2060
2060
  Installation providers define how client configuration can be exported or installed,
2061
2061
  for example as a JSON file, Keycloak XML adapter config, or other formats supported by Keycloak.
2062
2062
 
2063
- @parameters:
2063
+ **` -- @parameters -- `**
2064
2064
  - filter: JSON structure that defines the filter parameters:
2065
2065
  - id: [required] The internal ID of the client (not clientId)
2066
2066
 
@@ -2080,7 +2080,7 @@ The method retrieves the list of available policy providers for a client’s res
2080
2080
  Policy providers define the logic used to evaluate authorization decisions (e.g., role-based, group-based, time-based, JavaScript rules).
2081
2081
  This method allows you to see which policy types are supported and available to be created for a given client.
2082
2082
 
2083
- @parameters:
2083
+ **` -- @parameters -- `**
2084
2084
  - filter: JSON structure that defines the filter parameters:
2085
2085
  - id: [required] The ID of the client (resource server) for which to list available policy providers.
2086
2086
 
@@ -2100,7 +2100,7 @@ Retrieves the service account user associated with a specific client.
2100
2100
  In Keycloak, clients configured as service accounts have a corresponding user representing them,
2101
2101
  which can be used for token-based access and permissions management.
2102
2102
 
2103
- @parameters:
2103
+ **` -- @parameters -- `**
2104
2104
  - filter: JSON structure that defines the filter parameters:
2105
2105
  - id: [required] The internal ID of the client (not clientId)
2106
2106
 
@@ -2120,7 +2120,7 @@ console.log("Service Account User:", serviceAccountUser);
2120
2120
  The method is used to associate a client scope as a default scope for a specific client.
2121
2121
  Default scopes are automatically included in tokens issued to the client.
2122
2122
 
2123
- @parameters:
2123
+ **` -- @parameters -- `**
2124
2124
  - filter: JSON structure that defines the filter parameters:
2125
2125
  - id: [required] The internal ID of the client (not clientId)
2126
2126
  - clientScopeId: [required] The ID of the client scope you want to add as a default scope.
@@ -2139,7 +2139,7 @@ const KeycloakManager = require('keycloak-api-manager');
2139
2139
  This function detaches a default client scope (either default or optional) from a client.
2140
2140
  Default scopes are automatically assigned to tokens issued for the client.
2141
2141
 
2142
- @parameters:
2142
+ **` -- @parameters -- `**
2143
2143
  - filter: JSON structure that defines the filter parameters:
2144
2144
  - id: [required] The internal ID of the client (not clientId)
2145
2145
  - clientScopeId: [required] The ID of the client scope to be removed.
@@ -2157,7 +2157,7 @@ const KeycloakManager = require('keycloak-api-manager');
2157
2157
  The method is used to remove an optional client scope from a specific client.
2158
2158
  Optional client scopes are those that are not automatically assigned to clients but can be requested during authentication.
2159
2159
 
2160
- @parameters:
2160
+ **` -- @parameters -- `**
2161
2161
  - filter: JSON structure that defines the filter parameters:
2162
2162
  - id: [required] The internal ID of the client (not clientId)
2163
2163
  - clientScopeId: [required] The ID of the client scope you want to unlink from the client.
@@ -2176,7 +2176,7 @@ const KeycloakManager = require('keycloak-api-manager');
2176
2176
  This method lists those default scopes for a given client.
2177
2177
  Default client scopes are automatically assigned to a client during token requests (e.g., openid, profile).
2178
2178
 
2179
- @parameters:
2179
+ **` -- @parameters -- `**
2180
2180
  - filter: JSON structure that defines the filter parameters:
2181
2181
  - id: [required] The client ID of the client whose default client scopes you want to list.
2182
2182
 
@@ -2196,7 +2196,7 @@ console.log("Default Clients Scopes:",defaultScopes);
2196
2196
  The method is used to retrieve all optional client scopes currently assigned to a specific client.
2197
2197
  Optional scopes are those that a client can request explicitly but are not automatically applied.
2198
2198
 
2199
- @parameters:
2199
+ **` -- @parameters -- `**
2200
2200
  - filter: JSON structure that defines the filter parameters:
2201
2201
  - id: [required] The client ID of the client whose optional client scopes you want to list.
2202
2202
 
@@ -2214,7 +2214,7 @@ console.log("Optional Clients Scopes:",optionalScopes);
2214
2214
  The method is used to assign an optional client scope to a specific client.
2215
2215
  Optional scopes are not automatically applied during login unless explicitly requested by the client in the scope parameter.
2216
2216
 
2217
- @parameters:
2217
+ **` -- @parameters -- `**
2218
2218
  - filter: JSON structure that defines the filter parameters:
2219
2219
  - id: [required] The internal client ID of the client
2220
2220
  - clientScopeId: [required] The ID of the client scope you want to assign as optional.
@@ -2233,7 +2233,7 @@ await KeycloakManager.clients.addOptionalClientScope({
2233
2233
  This method is used to list all scope mappings (roles assigned via scopes) for a given client in Keycloak.
2234
2234
  This includes realm-level roles and client-level roles that are mapped to the client.
2235
2235
 
2236
- @parameters:
2236
+ **` -- @parameters -- `**
2237
2237
  - filter: JSON structure that defines the filter parameters:
2238
2238
  - id: [required] The ID of the client whose scope mappings you want to list.
2239
2239
 
@@ -2255,7 +2255,7 @@ console.log("Scope mappings:", scopeMappings);
2255
2255
  The method is used to list the client roles that are available to be mapped (but not yet assigned) to a specific client in Keycloak.
2256
2256
  This helps you discover which client roles you can still add as scope mappings.
2257
2257
 
2258
- @parameters:
2258
+ **` -- @parameters -- `**
2259
2259
  - filter: JSON structure that defines the filter parameters:
2260
2260
  - id: [required] The ID of the target client (the one receiving the scope mappings).
2261
2261
  - client: [required] The client ID of the source client (the one that owns the roles to be mapped).
@@ -2277,7 +2277,7 @@ console.log("Available roles to be mapped:", availableRoles);
2277
2277
  The method is used to assign client roles (from a source client) to another client as scope mappings.
2278
2278
  This means the target client will inherit these roles when requesting tokens.
2279
2279
 
2280
- @parameters:
2280
+ **` -- @parameters -- `**
2281
2281
  - filter: JSON structure that defines the filter parameters:
2282
2282
  - id: [required] The ID of the target client (the one receiving the scope mappings).
2283
2283
  - client: [required] The client ID of the source client (the one that owns the roles to be mapped).
@@ -2315,7 +2315,7 @@ console.log("Roles successfully mapped to client!");
2315
2315
  ##### `function clients.listClientScopeMappings(filter)`
2316
2316
  The method is used to list all client role mappings assigned to a client.
2317
2317
  It shows which roles from another client (source) are already mapped to the target client.
2318
- @parameters:
2318
+ **` -- @parameters -- `**
2319
2319
  - filter: JSON structure that defines the filter parameters:
2320
2320
  - id: [required] The ID of the target client (where roles are mapped)
2321
2321
  - client: [required] The ID of the source client (the one that owns the roles being mapped)
@@ -2337,7 +2337,7 @@ console.log("Mapped roles:", assignedRoles);
2337
2337
  ##### `function clients.listCompositeClientScopeMappings(filter)`
2338
2338
  The method is used to list both direct and composite (inherited) client role mappings that are assigned to a target client.
2339
2339
  It differs from listClientScopeMappings because it expands composite roles and shows all roles that are effectively available to the client.
2340
- @parameters:
2340
+ **` -- @parameters -- `**
2341
2341
  - filter: JSON structure that defines the filter parameters:
2342
2342
  - id: [required] The ID of the target client (the one receiving the mappings)
2343
2343
  - client: [required] The ID of the source client (the one that owns the roles)
@@ -2359,7 +2359,7 @@ console.log("Effective (composite) role mappings:", effectiveRoles);
2359
2359
  ##### `function clients.delClientScopeMappings(filter)`
2360
2360
  The method is used to remove one or more client role mappings from a target client.
2361
2361
  It is the reverse of clients.addClientScopeMappings
2362
- @parameters:
2362
+ **` -- @parameters -- `**
2363
2363
  - filter: JSON structure that defines the filter parameters:
2364
2364
  - id: [required] ID of the target client (the client losing the roles)
2365
2365
  - client: [required] ID of the source client (the client where the roles are defined)
@@ -2391,7 +2391,7 @@ console.log("Roles removed from client mappings");
2391
2391
  ##### `function clients.listAvailableRealmScopeMappings(filter)`
2392
2392
  The method is used to retrieve all realm-level roles that are available to be assigned to a specific client.
2393
2393
  These are roles defined at the realm level that the client does not yet have mapped, allowing you to see what can be added.
2394
- @parameters:
2394
+ **` -- @parameters -- `**
2395
2395
  - filter: JSON structure that defines the filter parameters:
2396
2396
  - id: [required] The ID of the client for which you want to list available realm-level role mappings.
2397
2397
 
@@ -2410,7 +2410,7 @@ console.log("Available realm roles for client:", availableRealmRoles);
2410
2410
  ##### `function clients.listAvailableRealmScopeMappings(filter)`
2411
2411
  The method is used to retrieve all realm-level roles that are available to be assigned to a specific client.
2412
2412
  These are roles defined at the realm level that the client does not yet have mapped, allowing you to see what can be added.
2413
- @parameters:
2413
+ **` -- @parameters -- `**
2414
2414
  - filter: JSON structure that defines the filter parameters:
2415
2415
  - id: [required] The ID of the client for which you want to list available realm-level role mappings.
2416
2416
 
@@ -2430,7 +2430,7 @@ console.log("Available realm roles for client:", availableRealmRoles);
2430
2430
  ##### `function clients.listRealmScopeMappings(filter)`
2431
2431
  The method retrieves the realm-level roles currently assigned to a client as part of its scope mappings.
2432
2432
  This shows which realm roles the client is allowed to request on behalf of users.
2433
- @parameters:
2433
+ **` -- @parameters -- `**
2434
2434
  - filter: JSON structure that defines the filter parameters:
2435
2435
  - id: [required] The client ID whose realm-level scope mappings you want to list
2436
2436
 
@@ -2449,7 +2449,7 @@ console.log("Realm roles mapped to client:", roles.map(r => r.name));
2449
2449
  ##### `function clients.listCompositeRealmScopeMappings(filter)`
2450
2450
  The method retrieves all composite realm-level roles associated with a client through its scope mappings.
2451
2451
  This includes not only the roles directly mapped to the client, but also roles inherited through composite roles.
2452
- @parameters:
2452
+ **` -- @parameters -- `**
2453
2453
  - filter: JSON structure that defines the filter parameters:
2454
2454
  - id: [required] The client ID whose composite realm scope mappings you want to list
2455
2455
 
@@ -2469,7 +2469,7 @@ console.log("Realm composite roles mapped to client:", roles.map(r => r.name));
2469
2469
  ##### `function clients.addRealmScopeMappings(filter,roles)`
2470
2470
  The method is used to assign realm-level role mappings to a specific client.
2471
2471
  This effectively grants the client access to the specified realm roles.
2472
- @parameters:
2472
+ **` -- @parameters -- `**
2473
2473
  - filter: JSON structure that defines the filter parameters:
2474
2474
  - id: [required] The client ID that will receive the new realm-level role mappings.
2475
2475
  - roles: [required] An array of realm roles to be mapped to the client. Each role object typically contains at least id and name
@@ -2488,7 +2488,7 @@ await KeycloakManager.clients.addRealmScopeMappings(
2488
2488
  ##### `function clients.delRealmScopeMappings(filter,roles)`
2489
2489
  The method removes realm-level roles from a client’s scope mappings.
2490
2490
  This is the opposite of clients.addRealmScopeMappings.
2491
- @parameters:
2491
+ **` -- @parameters -- `**
2492
2492
  - filter: JSON structure that defines the filter parameters:
2493
2493
  - id: [required] The client ID whose realm role mapping must be removed.
2494
2494
  - roles: [required] An array of role objects you want to remove. Each role object must at least contain the id or name field.
@@ -2506,7 +2506,7 @@ await KeycloakManager.clients.delRealmScopeMappings(
2506
2506
 
2507
2507
  ##### `function clients.listSessions(filter)`
2508
2508
  The method retrieves active user sessions for a specific client.
2509
- @parameters:
2509
+ **` -- @parameters -- `**
2510
2510
  - filter: JSON structure that defines the filter parameters:
2511
2511
  - id: [required] The client ID whose session must be retrieved
2512
2512
  - first:[optional] pagination field. First result index for pagination.
@@ -2533,7 +2533,7 @@ sessions.forEach(s =>
2533
2533
  ##### `function clients.listOfflineSessions(filter)`
2534
2534
  The method retrieves offline sessions associated with a given client.
2535
2535
  Offline sessions are created when a client uses offline tokens (refresh tokens with offline_access scope)
2536
- @parameters:
2536
+ **` -- @parameters -- `**
2537
2537
  - filter: JSON structure that defines the filter parameters:
2538
2538
  - id: [required] The client ID whose session must be retrieved
2539
2539
  - first:[optional] pagination field. First result index for pagination.
@@ -2559,7 +2559,7 @@ sessions.forEach(s =>
2559
2559
  ##### `function clients.getSessionCount(filter)`
2560
2560
  The method retrieves the number of active user sessions for a given client.
2561
2561
  This includes online sessions, not offline sessions (those are retrieved with listOfflineSessions).
2562
- @parameters:
2562
+ **` -- @parameters -- `**
2563
2563
  - filter: JSON structure that defines the filter parameters:
2564
2564
  - id: [required] The client ID whose session must be retrieved
2565
2565
 
@@ -2579,7 +2579,7 @@ console.log(`Client internal-client-id has ${sessionCount.count} active sessions
2579
2579
  The method retrieves the number of offline sessions associated with a given client.
2580
2580
  Offline sessions represent sessions where the user has a valid offline token, typically used for long-lived access
2581
2581
  without requiring active login.
2582
- @parameters:
2582
+ **` -- @parameters -- `**
2583
2583
  - filter: JSON structure that defines the filter parameters:
2584
2584
  - id: [required] The ID of the client for which you want to count offline sessions.
2585
2585
 
@@ -2599,7 +2599,7 @@ console.log(`Client internal-client-id has ${sessionCount.count} offline session
2599
2599
  The method is used to register a cluster node for a specific Keycloak client.
2600
2600
  This is relevant in scenarios where you are running Keycloak in a clustered environment and want to synchronize
2601
2601
  client sessions and node information across multiple instances.
2602
- @parameters:
2602
+ **` -- @parameters -- `**
2603
2603
  - filter: JSON structure that defines the filter parameters:
2604
2604
  - id: [required] The ID of the client for which you want to add a cluster node.
2605
2605
  - node: [required] The name or identifier of the cluster node to register.
@@ -2620,7 +2620,7 @@ await KeycloakManager.clients.addClusterNode({
2620
2620
  The method in Keycloak Admin Client is used to remove a previously registered cluster node for a specific client.
2621
2621
  This is useful in clustered environments when a node is no longer active or should be deregistered from the
2622
2622
  client session synchronization.
2623
- @parameters:
2623
+ **` -- @parameters -- `**
2624
2624
  - filter: JSON structure that defines the filter parameters:
2625
2625
  - id: [required] The ID of the client for which you want to remove a cluster node.
2626
2626
  - node: [required] The name or identifier of the cluster node to remove.
@@ -2639,7 +2639,7 @@ await KeycloakManager.clients.deleteClusterNode({
2639
2639
  ##### `function clients.generateAndDownloadKey(filter,config)`
2640
2640
  The method is used to generate a new cryptographic key for a client and download it.
2641
2641
  This is typically used for clients that require client credentials, JWT signing, or encryption.
2642
- @parameters:
2642
+ **` -- @parameters -- `**
2643
2643
  - filter: JSON structure that defines the filter parameters:
2644
2644
  - id: [required] The ID of the client for which you want to generate the key
2645
2645
  - attr: [required] The name of the client attribute where the generated key will be saved
@@ -2683,7 +2683,7 @@ console.log('Keystore saved ad client-keystore.jks');
2683
2683
  The method is used to generate a new cryptographic key for a client without automatically downloading it.
2684
2684
  This is useful for creating new signing or encryption keys associated with a client directly within Keycloak.
2685
2685
  Unlike clients.generateAndDownloadKey, this method only generates the key and stores it in Keycloak. It does not return the key material to the caller
2686
- @parameters:
2686
+ **` -- @parameters -- `**
2687
2687
  - filter: JSON structure that defines the filter parameters:
2688
2688
  - id: [required] The ID of the client for which you want to generate the key
2689
2689
  - attr: [required] The name of the client attribute where the generated key will be saved
@@ -2708,7 +2708,7 @@ console.log('New RSA key successfully generated for client');
2708
2708
  ##### `function clients.getKeyInfo(filter)`
2709
2709
  The method is used to retrieve metadata about the keys associated with a specific client.
2710
2710
  It does not return the actual key material but provides information such as the key type, provider, algorithm, and status.
2711
- @parameters:
2711
+ **` -- @parameters -- `**
2712
2712
  - filter: JSON structure that defines the filter parameters:
2713
2713
  - id: [required] The ID of the client whose key information should be retrieved
2714
2714
  - attr: [optional] The name of the client attribute to get
@@ -2733,7 +2733,7 @@ console.log("Client key info:", keyInfo);
2733
2733
  ##### `function clients.downloadKey(filter,config)`
2734
2734
  The method Downloads a client’s cryptographic key (certificate) from Keycloak.
2735
2735
  This is typically used when you need to retrieve the public certificate of a client for token validation, signing, or encryption purposes.
2736
- @parameters:
2736
+ **` -- @parameters -- `**
2737
2737
  - filter: JSON structure that defines the filter parameters:
2738
2738
  - id: [required] The ID of the client whose key information should be downloaded
2739
2739
  - attr: [optional] Specifies which key/certificate to download. Common values include:
@@ -2783,7 +2783,7 @@ console.log(cert);
2783
2783
  The method in the Keycloak Admin Client is used to create a new authorization scope for a specific client.
2784
2784
  Authorization scopes are part of Keycloak’s Authorization Services and represent fine-grained permissions
2785
2785
  that can later be linked to resources and policies.
2786
- @parameters:
2786
+ **` -- @parameters -- `**
2787
2787
  - filter: JSON structure that defines the filter parameters:
2788
2788
  - id: [required] TThe ID of the client for which the scope will be created
2789
2789
  - scopeRepresentation:[required] The details of the new authorization scope as:
@@ -2810,7 +2810,7 @@ await KeycloakManager.clients.createAuthorizationScope(
2810
2810
  ##### `function clients.listAllScopes(filter)`
2811
2811
  The method is used to retrieve all available scopes for a specific client.
2812
2812
  This includes both default scopes and optional scopes that can be assigned to the client.
2813
- @parameters:
2813
+ **` -- @parameters -- `**
2814
2814
  - filter: JSON structure that defines the filter parameters:
2815
2815
  - id: [required] The ID of the client whose scopes you want to list
2816
2816
 
@@ -2830,7 +2830,7 @@ console.log(scopes);
2830
2830
  ##### `function clients.updateAuthorizationScope(filter,AuthorizationScopeRepresentation)`
2831
2831
  The method is used to update an existing authorization scope for a specific client.
2832
2832
  Authorization scopes define permissions that can be used in policies and permissions for the client’s resources.
2833
- @parameters:
2833
+ **` -- @parameters -- `**
2834
2834
  - filter: JSON structure that defines the filter parameters:
2835
2835
  - id: [required] The ID of the client to which the scope belongs
2836
2836
  - scopeId [required] The ID of the authorization scope to update
@@ -2864,7 +2864,7 @@ console.log('Authorization scope updated successfully');
2864
2864
  ##### `function clients.getAuthorizationScope(filter)`
2865
2865
  The method is used to retrieve the details of a specific authorization scope associated with a client.
2866
2866
  Authorization scopes define permissions that can be applied to resources and policies in Keycloak.
2867
- @parameters:
2867
+ **` -- @parameters -- `**
2868
2868
  - filter: JSON structure that defines the filter parameters:
2869
2869
  - id: [required] The ID of the client to which the scope belongs
2870
2870
  - scopeId [required] The ID of the authorization scope to retrieve
@@ -2885,7 +2885,7 @@ console.log('Authorization scope details:', scope);
2885
2885
  ##### `function clients.listAllResourcesByScope(filter)`
2886
2886
  The method is used to retrieve all resources associated with a specific authorization scope for a given client.
2887
2887
  This allows you to see which resources are governed by a particular scope in the client’s authorization settings.
2888
- @parameters:
2888
+ **` -- @parameters -- `**
2889
2889
  - filter: JSON structure that defines the filter parameters:
2890
2890
  - id: [required] The ID of the client to which the scope belongs
2891
2891
  - scopeId [required] The ID of the authorization scope whose associated resources you want to list.
@@ -2907,7 +2907,7 @@ console.log('Resources associated with this scope:', resources);
2907
2907
  ##### `function clients.listAllPermissionsByScope(filter)`
2908
2908
  The method is used to retrieve all permissions associated with a specific authorization scope for a given client.
2909
2909
  This is helpful for understanding which permissions (policies and rules) are applied when a particular scope is used.
2910
- @parameters:
2910
+ **` -- @parameters -- `**
2911
2911
  - filter: JSON structure that defines the filter parameters:
2912
2912
  - id: [required] The ID of the client to query
2913
2913
  - scopeId [required] The ID of the authorization scope whose associated permissions you want to list
@@ -2932,7 +2932,7 @@ console.log('Permissions associated with this scope:', permissions);
2932
2932
  The method is used to retrieve all scopes associated with a specific permission for a given client.
2933
2933
  This allows you to see which scopes a permission controls, helping you manage fine-grained access rules
2934
2934
  in Keycloak’s Authorization Services (UMA 2.0) framework.
2935
- @parameters:
2935
+ **` -- @parameters -- `**
2936
2936
  - filter: JSON structure that defines the filter parameters:
2937
2937
  - id: [required] The ID of the client whose permission scopes you want to list
2938
2938
  - permissionId [optional] The ID of the permission whose scopes should be retrieved
@@ -2958,7 +2958,7 @@ console.log('Permission Scopes:', permissionScopes);
2958
2958
  The method is used to import a resource into a client.
2959
2959
  This is part of Keycloak’s Authorization Services (UMA 2.0) and allows you to programmatically define
2960
2960
  resources that a client can protect with policies and permissions.
2961
- @parameters:
2961
+ **` -- @parameters -- `**
2962
2962
  - filter: JSON structure that defines the filter parameters:
2963
2963
  - id: [required] The ID of the client to which the resource should be imported
2964
2964
  - resource [required] The resource representation object. This typically includes attributes like name, uris, type, scopes, and other Keycloak resource configuration options.
@@ -2991,7 +2991,7 @@ console.log('Resource imported successfully');
2991
2991
  The method is used to export a resource from a client.
2992
2992
  This allows you to retrieve the full configuration of a resource, including its URIs, scopes,
2993
2993
  and associated permissions, which can then be backed up, replicated, or modified externally.
2994
- @parameters:
2994
+ **` -- @parameters -- `**
2995
2995
  - filter: JSON structure that defines the filter parameters:
2996
2996
  - id: [required] The ID of the client from which to export the resource
2997
2997
  - resourceId: [optional] The ID of the resource you want to export
@@ -3013,7 +3013,7 @@ console.log('Exported Resource:', exportedResource);
3013
3013
  The method is used to create a new resource under a specific client.
3014
3014
  A resource represents a protected entity in Keycloak’s authorization services, such as a REST endpoint,
3015
3015
  a document, or any application-specific asset. This allows you to manage fine-grained access control via policies and permissions.
3016
- @parameters:
3016
+ **` -- @parameters -- `**
3017
3017
  - filter: JSON structure that defines the filter parameters:
3018
3018
  - id: [required] The ID of the client where the resource will be created
3019
3019
  - resourceRepresentation: [required] An object representing the resource configuration. Typical fields defined in https://www.keycloak.org/docs-api/latest/rest-api/index.html#ResourceRepresentation include:
@@ -3047,7 +3047,7 @@ console.log('Created Resource:', createdResource);
3047
3047
  The method is used to retrieve a specific resource of a client by its ID.
3048
3048
  Resources in Keycloak represent protected entities, such as APIs, documents, or any application-specific assets,
3049
3049
  that can have associated scopes, policies, and permissions for fine-grained access control.
3050
- @parameters:
3050
+ **` -- @parameters -- `**
3051
3051
  - filter: JSON structure that defines the filter parameters:
3052
3052
  - id: [required] The ID of the client that owns the resource
3053
3053
  - resourceId: [required] The ID of the resource you want to retrieve.
@@ -3068,7 +3068,7 @@ console.log('Retrieved Resource:', resource);
3068
3068
  The method is used to retrieve the resource server settings of a client.
3069
3069
  A resource server in Keycloak represents a client that is enabled with Authorization Services,
3070
3070
  meaning it can define resources, scopes, permissions, and policies for fine-grained access control.
3071
- @parameters:
3071
+ **` -- @parameters -- `**
3072
3072
  - filter: JSON structure that defines the filter parameters:
3073
3073
  - id: [required] The ID of the client whose resource server configuration you want to retrieve
3074
3074
 
@@ -3088,7 +3088,7 @@ console.log('Resource Server:', resourceServer);
3088
3088
  The method is used to update the configuration of a client’s resource server.
3089
3089
  A resource server defines authorization settings such as resources, scopes, permissions,
3090
3090
  and policies that control fine-grained access to protected assets.
3091
- @parameters:
3091
+ **` -- @parameters -- `**
3092
3092
  - filter: JSON structure that defines the filter parameters:
3093
3093
  - id: [required] The ID of the client whose resource server configuration should be updated
3094
3094
  - resourceServerRepresentation: [required] An object representing the resource server configuration such as:
@@ -3118,7 +3118,7 @@ console.log("Resource server updated successfully");
3118
3118
  ##### `function clients.listPermissionsByResource(filter)`
3119
3119
  The method is used to retrieve all permissions associated with a specific resource within a client’s resource server.
3120
3120
  This is part of the Keycloak Authorization Services API and helps administrators inspect which permissions are linked to a given protected resource.
3121
- @parameters:
3121
+ **` -- @parameters -- `**
3122
3122
  - filter: JSON structure that defines the filter parameters:
3123
3123
  - id: [required] The ID of the client (the resource server).
3124
3124
  - resourceId: [required] The ID of the resource for which to list permissions.
@@ -3141,7 +3141,7 @@ console.log("Permissions for resource:", permissions);
3141
3141
  The method is used to create a new permission for a client.
3142
3142
  Permissions define which users or roles can access specific resources or scopes within the client,
3143
3143
  based on policies you configure. This is part of Keycloak’s Authorization Services (UMA 2.0) framework.
3144
- @parameters:
3144
+ **` -- @parameters -- `**
3145
3145
  - filter: JSON structure that defines the filter parameters:
3146
3146
  - id: [required] The ID of the client for which the permission will be created
3147
3147
  - type: [required] Type of the permission (resource or scope)
@@ -3178,7 +3178,7 @@ console.log('Permission created');
3178
3178
  The method is used to search for permissions within a client’s resource server.
3179
3179
  Permissions in Keycloak represent rules that define how policies are applied to resources or scopes,
3180
3180
  and this method allows you to list and filter them based on specific criteria.
3181
- @parameters:
3181
+ **` -- @parameters -- `**
3182
3182
  - filter: JSON structure that defines the filter parameters:
3183
3183
  - id: [required] The ID of the client (the resource server) where permissions are defined
3184
3184
  - name: [optional] Filter permissions by name
@@ -3206,7 +3206,7 @@ console.log("Permissions found:", permissions);
3206
3206
  The method updates the fine-grained admin permissions configuration for a specific client.
3207
3207
  Fine-grained permissions allow you to control which users/roles can manage different aspects of a client
3208
3208
  (e.g., who can manage roles, protocol mappers, or scope assignments).
3209
- @parameters:
3209
+ **` -- @parameters -- `**
3210
3210
  - filter: JSON structure that defines the filter parameters:
3211
3211
  - id: [required] The ID of the client (the resource server) where permissions are defined
3212
3212
  - status: JSON structure that defines the fine grain permission
@@ -3226,7 +3226,7 @@ console.log("Fine-grained permissions updated successfully");
3226
3226
  ##### `function clients.listFineGrainPermissions(filter)`
3227
3227
  The method retrieves the current fine-grained admin permission settings for a given client.
3228
3228
  This is useful for checking which permissions are configured (e.g., managing roles, protocol mappers, or client scopes).
3229
- @parameters:
3229
+ **` -- @parameters -- `**
3230
3230
  - filter: JSON structure that defines the filter parameters:
3231
3231
  - id: [required] The ID of the client (the resource server) where permissions are defined
3232
3232
  ```js
@@ -3245,7 +3245,7 @@ console.log("Fine-grained permissions for client:", permissions);
3245
3245
  ##### `function clients.getAssociatedScopes(filter)`
3246
3246
  The method is used to retrieve all scopes associated with a specific permission within a client’s resource server.
3247
3247
  In Keycloak’s Authorization Services, permissions can be linked to one or more scopes to define the contexts in which they apply. This method allows you to query those associations.
3248
- @parameters:
3248
+ **` -- @parameters -- `**
3249
3249
  - filter: JSON structure that defines the filter parameters:
3250
3250
  - id: [required] The ID of the client whose permission scopes you want to list
3251
3251
  - permissionId: [required] The ID of the permission whose associated scopes you want to retrieve.
@@ -3265,7 +3265,7 @@ console.log("Associated scopes:", scopes);
3265
3265
  ##### `function clients.getAssociatedPolicies(filter)`
3266
3266
  The method is used to retrieve all policies associated with a specific permission within a client’s resource server.
3267
3267
  n Keycloak Authorization Services, permissions can be tied to one or more policies that define the conditions under which access is granted. This method lets you fetch those policy associations
3268
- @parameters:
3268
+ **` -- @parameters -- `**
3269
3269
  - filter: JSON structure that defines the filter parameters:
3270
3270
  - id: [required] The ID of the client whose permission policies you want to list
3271
3271
  - permissionId: [required] The ID of the permission whose associated policies you want to retrieve.
@@ -3287,7 +3287,7 @@ console.log("Associated policies:", policies);
3287
3287
  ##### `function clients.getAssociatedResources(filter)`
3288
3288
  The method is used to retrieve all resources linked to a specific permission in a client’s resource server.
3289
3289
  In Keycloak Authorization Services, permissions can be scoped to one or more resources (such as APIs, endpoints, or domain-specific entities). This method allows you to query those resource associations.
3290
- @parameters:
3290
+ **` -- @parameters -- `**
3291
3291
  - filter: JSON structure that defines the filter parameters:
3292
3292
  - id: [required] The ID of the client whose permission resource you want to list
3293
3293
  - permissionId: [required] The ID of the permission for which you want to fetch associated resources.
@@ -3309,7 +3309,7 @@ console.log("Associated resources:", resources);
3309
3309
  ##### `function clients.listScopesByResource(filter)`
3310
3310
  The method is used to list all authorization scopes associated with a specific resource in a client’s resource server.
3311
3311
  This allows administrators to understand which scopes are directly linked to a protected resource and therefore which permissions can be applied to it.
3312
- @parameters:
3312
+ **` -- @parameters -- `**
3313
3313
  - filter: JSON structure that defines the filter parameters:
3314
3314
  - id: [required] The ID of the client (the resource server).
3315
3315
  - resourceId: [required] The ID of the resource for which to list scopes.
@@ -3332,7 +3332,7 @@ console.log("Scopes for resource:", scopes);
3332
3332
  ##### `function clients.listResources(filter)`
3333
3333
  The method is used to retrieve all resources defined in a client’s resource server.
3334
3334
  Resources represent protected entities (such as APIs, files, or services) that can be associated with scopes and permissions in Keycloak’s authorization services.
3335
- @parameters:
3335
+ **` -- @parameters -- `**
3336
3336
  - filter: JSON structure that defines the filter parameters:
3337
3337
  - id: [required] The ID of the client (the resource server)
3338
3338
  - deep: [optional] If true, returns detailed information about each resource
@@ -3359,7 +3359,7 @@ console.log("Resources:", resources);
3359
3359
  ##### `function clients.updateResource(filter,resourceRepresentation)`
3360
3360
  The method is used to update an existing resource in a client’s resource server.
3361
3361
  Resources represent protected entities (APIs, files, services, etc.) that can be secured with scopes and permissions under Keycloak’s Authorization Services
3362
- @parameters:
3362
+ **` -- @parameters -- `**
3363
3363
  - filter: JSON structure that defines the filter parameters:
3364
3364
  - id: [required] The ID of the client (the resource server)
3365
3365
  - resourceId: [required] The ID of the resource you want to update.
@@ -3400,7 +3400,7 @@ console.log("Resource updated successfully");
3400
3400
  The method is used to create a new policy for a client’s resource server under Keycloak’s Authorization Services.
3401
3401
  Policies define the rules that determine whether access should be granted or denied to a given resource, scope, or permission.
3402
3402
  They can be based on users, roles, groups, conditions, or custom logic.
3403
- @parameters:
3403
+ **` -- @parameters -- `**
3404
3404
  - filter: JSON structure that defines the filter parameters:
3405
3405
  - id: [required] The ID of the client (the resource server) where the policy will be created.
3406
3406
  - type: [required] The policy type. Examples include:
@@ -3449,7 +3449,7 @@ console.log("Policy created successfully");
3449
3449
  ##### `function clients.listDependentPolicies(filter)`
3450
3450
  The method is used to list all policies that depend on a given policy within a client’s resource server.
3451
3451
  This is useful when you want to understand how a policy is referenced by other policies, permissions, or configurations, helping you manage complex authorization structures.
3452
- @parameters:
3452
+ **` -- @parameters -- `**
3453
3453
  - filter: JSON structure that defines the filter parameters:
3454
3454
  - id: [required] The ID of the client (the resource server) where the policy exists.
3455
3455
  - policyId: [required] The ID of the policy for which you want to list dependent policies.
@@ -3475,7 +3475,7 @@ console.log("Dependent policies:", dependentPolicies);
3475
3475
  ##### `function clients.evaluateGenerateAccessToken(filter)`
3476
3476
  The method is used to generate or simulate an access token for a specific client, typically for testing or evaluating the token
3477
3477
  contents without performing a full user login. This can help you verify client roles, scopes, and protocol mappers included in the token
3478
- @parameters:
3478
+ **` -- @parameters -- `**
3479
3479
  - filter: JSON structure that defines the filter parameters:
3480
3480
  - id: [required] ID of the client for which you want to generate or evaluate the access token
3481
3481
 
@@ -3502,7 +3502,7 @@ console.log("Generated access token:", token);
3502
3502
  The method is used to generate or simulate an ID token for a specific client, usually for testing or evaluating the token without
3503
3503
  performing a full user login. This allows you to verify which claims, scopes, and protocol mappers are included in the ID
3504
3504
  token for the client.
3505
- @parameters:
3505
+ **` -- @parameters -- `**
3506
3506
  - filter: JSON structure that defines the filter parameters:
3507
3507
  - id: [required] ID of the client for which you want to generate or evaluate the ID token
3508
3508
 
@@ -3528,7 +3528,7 @@ console.log("Generated ID token:", token);
3528
3528
  The method is used to generate or simulate a UserInfo response for a specific client, typically for testing or evaluating what
3529
3529
  user information would be returned by the UserInfo endpoint for that client. This helps verify which claims are included in the
3530
3530
  UserInfo response without performing a full login flow.
3531
- @parameters:
3531
+ **` -- @parameters -- `**
3532
3532
  - filter: JSON structure that defines the filter parameters:
3533
3533
  - id: [required] The ID of the client for which you want to generate the UserInfo response
3534
3534
 
@@ -3559,7 +3559,7 @@ console.log("Generated UserInfo response:", userInfo);
3559
3559
  The method is used to retrieve or evaluate the protocol mappers associated with a specific client.
3560
3560
  Protocol mappers define how user information (claims) is mapped into tokens (like ID tokens or access tokens) for a client.
3561
3561
 
3562
- @parameters:
3562
+ **` -- @parameters -- `**
3563
3563
  - filter: JSON structure that defines the filter parameters:
3564
3564
  - id: [required] ID of the client for which you want to list or evaluate protocol mappers.
3565
3565
 
@@ -3581,7 +3581,7 @@ console.log("Protocol mappers for client:", protocolMappers);
3581
3581
  The method allows you to add a single protocol mapper to a specific client.
3582
3582
  Protocol mappers define how data from user/client models is added to tokens (e.g., access token, ID token, or SAML assertion)..
3583
3583
 
3584
- @parameters:
3584
+ **` -- @parameters -- `**
3585
3585
  - filter: JSON structure that defines the filter parameters:
3586
3586
  - id: [required] The internal client ID of the client
3587
3587
  - protocolMapperRepresentation: The protocol mapper definition, typically matching this structure:
@@ -3624,7 +3624,7 @@ await KeycloakManager.clients.addProtocolMapper(
3624
3624
  ##### `function updateProtocolMapper(filter,protocolMapperRepresentation)`
3625
3625
  The method is used to update an existing protocol mapper for a specific client in Keycloak.
3626
3626
 
3627
- @parameters:
3627
+ **` -- @parameters -- `**
3628
3628
  - filter: JSON structure that defines the filter parameters:
3629
3629
  - id: [required] The internal client ID of the client
3630
3630
  - mapperId: [required] The ID of the protocol mapper to be updated.
@@ -3666,7 +3666,7 @@ Protocol mappers define how data from the user or client model is transformed an
3666
3666
  issued by Keycloak (e.g., access tokens, ID tokens, SAML assertions).
3667
3667
  This batch operation is efficient when you want to configure multiple mappings without multiple API calls.
3668
3668
 
3669
- @parameters:
3669
+ **` -- @parameters -- `**
3670
3670
  - filter: JSON structure that defines the filter parameters:
3671
3671
  - id: [required] The internal client ID of the client
3672
3672
  - protocolMapperRepresentation: An array of protocol mapper objects. Each object must conform to the ProtocolMapperRepresentation structure, which typically includes:
@@ -3731,7 +3731,7 @@ await KeycloakManager.clients.addMultipleProtocolMappers(
3731
3731
  This method helps locate a protocol mapper within a specific client based on its protocol type (e.g. openid-connect) and the mapper name.
3732
3732
  It is particularly useful when you want to verify if a mapper exists or fetch its full configuration.
3733
3733
 
3734
- @parameters:
3734
+ **` -- @parameters -- `**
3735
3735
  - filter: JSON structure that defines the filter parameters:
3736
3736
  - id: [required] The internal client ID of the client
3737
3737
  - name: [required] The name of the protocol mapper to look up. (usually "openid-connect" or "saml").
@@ -3749,7 +3749,7 @@ await KeycloakManager.clients.findProtocolMapperByName({
3749
3749
  ##### `function findProtocolMappersByProtocol(filter)`
3750
3750
  The method returns all protocol mappers associated with a client, filtered by a specific protocol (e.g., "openid-connect" or "saml").
3751
3751
 
3752
- @parameters:
3752
+ **` -- @parameters -- `**
3753
3753
  - filter: JSON structure that defines the filter parameters:
3754
3754
  - id: [required] The internal client ID of the client
3755
3755
  - protocol: [required] The protocol for which you want to fetch mappers. Common values:
@@ -3772,7 +3772,7 @@ console.log(mappers);
3772
3772
  ##### `function findProtocolMapperById(filter)`
3773
3773
  The method retrieves the details of a specific protocol mapper by its ID for a given client.
3774
3774
 
3775
- @parameters:
3775
+ **` -- @parameters -- `**
3776
3776
  - filter: JSON structure that defines the filter parameters:
3777
3777
  - id: [required] The internal client ID of the client
3778
3778
  - mapperId: [required] The ID of the protocol mapper you want to fetch.
@@ -3793,7 +3793,7 @@ The method is used to retrieve all protocol mappers associated with a specific c
3793
3793
  Protocol mappers define how user and role information is included in tokens such as access tokens, ID tokens, or SAML assertions.
3794
3794
  This method is useful for inspecting or managing the token contents of a client.
3795
3795
 
3796
- @parameters:
3796
+ **` -- @parameters -- `**
3797
3797
  - filter: JSON structure that defines the filter parameters:
3798
3798
  - id: [required] The internal ID of the client whose protocol mappers you want to list.
3799
3799
 
@@ -3812,7 +3812,7 @@ The method is used to delete a specific protocol mapper from a client.
3812
3812
  Protocol mappers are used to include specific user or role information in tokens (e.g. access tokens, ID tokens).
3813
3813
  This method is useful when you want to remove an existing mapper from a client configuration.
3814
3814
 
3815
- @parameters:
3815
+ **` -- @parameters -- `**
3816
3816
  - filter: JSON structure that defines the filter parameters:
3817
3817
  - id: [required] The internal client ID of the client
3818
3818
  - mapperId: [required] The ID of the protocol mapper to delete
@@ -3854,7 +3854,7 @@ const KeycloakManager = require('keycloak-api-manager');
3854
3854
  The method updates the configuration of an existing client scope in a realm.
3855
3855
  You can modify properties such as the scope’s name, description, attributes, or protocol mappers.
3856
3856
 
3857
- @parameters:
3857
+ **` -- @parameters -- `**
3858
3858
  - filter: parameter provided as a JSON object that accepts the following filter:
3859
3859
  - id: [required] The unique ID of the client scope to update.
3860
3860
  - realm: [optional] The realm where the client scope exists.
@@ -3881,7 +3881,7 @@ const KeycloakManager = require('keycloak-api-manager');
3881
3881
  The method deletes a client scope from a realm in Keycloak.
3882
3882
  Once deleted, the client scope will no longer be available for assignment to clients (either as default, optional, or manually).
3883
3883
 
3884
- @parameters:
3884
+ **` -- @parameters -- `**
3885
3885
  - filter: parameter provided as a JSON object that accepts the following filter:
3886
3886
  - id: [required] The unique ID of the client scope to delete.
3887
3887
  - realm: [optional] The realm where the client scope is defined.
@@ -3898,7 +3898,7 @@ const KeycloakManager = require('keycloak-api-manager');
3898
3898
  This method removes a client scope from the realm using its unique name.
3899
3899
  It's an alternative to deleting by ID when the scope's name is known.
3900
3900
 
3901
- @parameters:
3901
+ **` -- @parameters -- `**
3902
3902
  - filter: parameter provided as a JSON object that accepts the following filter:
3903
3903
  - name: [required] The name of the client scope to delete. This must match exactly with the registered name in the realm.
3904
3904
  ```js
@@ -3914,7 +3914,7 @@ const KeycloakManager = require('keycloak-api-manager');
3914
3914
  The method retrieves the list of client scopes defined in a realm.
3915
3915
  Client scopes represent a set of protocol mappers and roles that can be assigned to clients, either as default, optional, or manually added.
3916
3916
 
3917
- @parameters:
3917
+ **` -- @parameters -- `**
3918
3918
  - filter: parameter provided as a JSON object that accepts the following filter:
3919
3919
  - realm: [optional] The realm where client scopes are defined.
3920
3920
  - search: [optional] A search string to filter client scopes by name.
@@ -3933,7 +3933,7 @@ console.log("Search Result:",scope);
3933
3933
  The method retrieves the details of a specific client scope in a realm by its unique identifier (ID).
3934
3934
  It’s useful when you need the full configuration of a particular client scope, including protocol mappers and assigned roles.
3935
3935
 
3936
- @parameters:
3936
+ **` -- @parameters -- `**
3937
3937
  - filter: parameter provided as a JSON object that accepts the following filter:
3938
3938
  - id: [required] The unique ID of the client scope.
3939
3939
  - realm: [optional] The realm where the client scope is defined.
@@ -3952,7 +3952,7 @@ The method is used to retrieve a specific client scope by its name.
3952
3952
  This is useful when you know the name of a client scope and want to fetch its full details,
3953
3953
  including its ID, protocol, and other settings.
3954
3954
 
3955
- @parameters:
3955
+ **` -- @parameters -- `**
3956
3956
  - filter: parameter provided as a JSON object that accepts the following filter:
3957
3957
  - name: [required] The name of the client scope you're searching for.
3958
3958
  ```js
@@ -3969,7 +3969,7 @@ console.log("Search Result:",scope);
3969
3969
  The method retrieves the list of default client scopes configured in a realm.
3970
3970
  Default client scopes are automatically assigned to newly created clients in that realm (for example, profile, email, roles).
3971
3971
 
3972
- @parameters:
3972
+ **` -- @parameters -- `**
3973
3973
  - filter: parameter provided as a JSON object that accepts the following filter:
3974
3974
  - realm: [optional] The realm where the client scopes are defined.
3975
3975
  - first: [optional] Index of the first result (for pagination).
@@ -3988,7 +3988,7 @@ console.log("Search Result:",scopes);
3988
3988
  The method adds a client scope to the list of default client scopes of a realm in Keycloak.
3989
3989
  Default client scopes are automatically assigned to all newly created clients within the realm.
3990
3990
 
3991
- @parameters:
3991
+ **` -- @parameters -- `**
3992
3992
  - filter: parameter provided as a JSON object that accepts the following filter:
3993
3993
  - id: [required] The ID of the client scope to add as a default.
3994
3994
  - realm: [optional] The realm where the client scopes are defined.
@@ -4007,7 +4007,7 @@ The method removes a client scope from the list of default client scopes of a re
4007
4007
  Default client scopes are automatically assigned to newly created clients in that realm.
4008
4008
  Removing one prevents it from being included by default.
4009
4009
 
4010
- @parameters:
4010
+ **` -- @parameters -- `**
4011
4011
  - filter: parameter provided as a JSON object that accepts the following filter:
4012
4012
  - id: [required] The ID of the client scope to remove from the default list.
4013
4013
  - realm:: [optional] The realm where the client scope is defined.
@@ -4028,7 +4028,7 @@ console.log("Client scope removed from defaults");
4028
4028
  The method retrieves the list of default optional client scopes in a realm.
4029
4029
  Optional client scopes are available for clients to select but are not automatically applied when a new client is created.
4030
4030
 
4031
- @parameters:
4031
+ **` -- @parameters -- `**
4032
4032
  - filter: parameter provided as a JSON object that accepts the following filter:
4033
4033
  - realm:: [optional] The realm where the client scope is defined.
4034
4034
 
@@ -4048,7 +4048,7 @@ console.log("Default optional client scopes:", optionalScopes);
4048
4048
  The method adds a client scope to the list of default optional client scopes in a realm.
4049
4049
  Optional client scopes are available to clients for selection but are not automatically applied when a new client is created.
4050
4050
 
4051
- @parameters:
4051
+ **` -- @parameters -- `**
4052
4052
  - filter: parameter provided as a JSON object that accepts the following filter:
4053
4053
  - id: [required] The ID of the client scope to add as a default optional scope.
4054
4054
  - realm:: [optional] The realm where the client scope is defined.
@@ -4071,7 +4071,7 @@ Optional client scopes are scopes that can be assigned to clients on demand.
4071
4071
  By default, they are available to clients but not automatically applied unless explicitly selected.
4072
4072
  Removing one prevents it from being listed as optional for new clients.
4073
4073
 
4074
- @parameters:
4074
+ **` -- @parameters -- `**
4075
4075
  - filter: parameter provided as a JSON object that accepts the following filter:
4076
4076
  - id: [required] The ID of the client scope to remove from the optional list.
4077
4077
  - realm:: [optional] The realm where the client scope is defined.
@@ -4092,7 +4092,7 @@ console.log("Client scope removed from default optional scopes");
4092
4092
  The method retrieves a protocol mapper from a specific client scope by its name.
4093
4093
  Protocol mappers define how user attributes, roles, or other data are mapped into tokens (ID token, access token, or user info) in Keycloak.
4094
4094
 
4095
- @parameters:
4095
+ **` -- @parameters -- `**
4096
4096
  - filter: parameter provided as a JSON object that accepts the following filter:
4097
4097
  - id: [required] The ID of the client scope to search within.
4098
4098
  - realm: [optional] The realm where the client scope is defined.
@@ -4118,7 +4118,7 @@ if (mapper) {
4118
4118
  The method retrieves a specific protocol mapper from a client scope in a realm, using its mapper ID.
4119
4119
  Protocol mappers define how user attributes, roles, or other information are mapped into tokens (ID token, access token, or user info) in Keycloak.
4120
4120
 
4121
- @parameters:
4121
+ **` -- @parameters -- `**
4122
4122
  - filter: parameter provided as a JSON object that accepts the following filter:
4123
4123
  - id: [required] The ID of the client scope containing the protocol mapper.
4124
4124
  - mapperId: [required] The ID of the protocol mapper to retrieve.
@@ -4144,7 +4144,7 @@ if (mapper) {
4144
4144
  ##### `function findProtocolMappersByProtocol(filter)`
4145
4145
  The method retrieves all protocol mappers of a given protocol (e.g., openid-connect or saml) for a specific client scope in a realm.
4146
4146
  This is useful when you want to filter protocol mappers by the authentication protocol they are associated with.
4147
- @parameters:
4147
+ **` -- @parameters -- `**
4148
4148
  - filter: parameter provided as a JSON object that accepts the following filter:
4149
4149
  - id: [required] The ID of the client scope to search within.
4150
4150
  - protocol: [required] The protocol to filter by (e.g., "openid-connect", "saml").
@@ -4171,7 +4171,7 @@ if (mapper) {
4171
4171
  The method deletes a protocol mapper from a specific client scope in a realm.
4172
4172
  Protocol mappers define how user attributes, roles, or other information are mapped into tokens (ID token, access token, or user info) in Keycloak.
4173
4173
  Deleting a mapper removes its configuration from the client scope.
4174
- @parameters:
4174
+ **` -- @parameters -- `**
4175
4175
  - filter: parameter provided as a JSON object that accepts the following filter:
4176
4176
  - id: [required] The ID of the client scope containing the protocol mapper.
4177
4177
  - mapperId: [required] The ID of the protocol mapper to delete.
@@ -4194,7 +4194,7 @@ console.log("Protocol mapper deleted successfully");
4194
4194
  ##### `function listProtocolMappers(filter)`
4195
4195
  The method retrieves all protocol mappers associated with a specific client scope in a realm.
4196
4196
  Protocol mappers define how user attributes, roles, or other data are mapped into tokens (ID token, access token, or user info) in Keycloak.
4197
- @parameters:
4197
+ **` -- @parameters -- `**
4198
4198
  - filter: parameter provided as a JSON object that accepts the following filter:
4199
4199
  - id: [required] The ID of the client scope to list protocol mappers from.
4200
4200
  - realm: [optional] The realm where the client scope is defined.
@@ -4216,7 +4216,7 @@ console.log("Protocol mappers for client scope:", mappers);
4216
4216
  The method adds multiple protocol mappers to a specific client scope in a realm.
4217
4217
  Protocol mappers define how user attributes, roles, or other data are mapped into tokens (ID token, access token, or user info) in Keycloak.
4218
4218
  With this method, you can configure several mappers in a single request.
4219
- @parameters:
4219
+ **` -- @parameters -- `**
4220
4220
  - filter: parameter provided as a JSON object that accepts the following filter:
4221
4221
  - id: [required] The ID of the client scope where the protocol mappers should be added.
4222
4222
  - realm: [optional] The realm where the client scope is defined.
@@ -4264,7 +4264,7 @@ console.log("Multiple protocol mappers added successfully");
4264
4264
  The method adds a single protocol mapper to a specific client scope in a realm.
4265
4265
  Protocol mappers define how user attributes, roles, or other information are mapped into tokens (ID token, access token, or user info) in Keycloak.
4266
4266
 
4267
- @parameters:
4267
+ **` -- @parameters -- `**
4268
4268
  - filter: parameter provided as a JSON object that accepts the following filter:
4269
4269
  - id: [required] The ID of the client scope where the protocol mapper should be added.
4270
4270
  - realm: [optional] The realm where the client scope is defined.
@@ -4306,7 +4306,7 @@ The method updates an existing protocol mapper in a specific client scope of a r
4306
4306
  Protocol mappers define how user attributes, roles, or other information are mapped into tokens (ID token, access token, or user info).
4307
4307
  With this method, you can modify an existing mapper’s configuration.
4308
4308
 
4309
- @parameters:
4309
+ **` -- @parameters -- `**
4310
4310
  - filter: parameter provided as a JSON object that accepts the following filter:
4311
4311
  - id: [required] The ID of the client scope where the protocol mapper should be updated.
4312
4312
  - mapperId: [required] The ID of the protocol mapper to update.
@@ -4348,7 +4348,7 @@ console.log("Protocol mapper updated successfully");
4348
4348
  The method retrieves all scope mappings for a given client scope in a realm.
4349
4349
  Scope mappings define which roles (from realm roles or client roles) are granted to a client scope.
4350
4350
  These roles determine the permissions and access tokens issued for clients using this scope.
4351
- @parameters:
4351
+ **` -- @parameters -- `**
4352
4352
  - filter: parameter provided as a JSON object that accepts the following filter:
4353
4353
  - id: [required] The ID of the client scope to list scope mapping.
4354
4354
  - realm: [optional] The realm where the client scope is defined.
@@ -4371,7 +4371,7 @@ console.log("Scope mappings:", scopeMappings);
4371
4371
  The method retrieves the list of available client roles that can be mapped to a given client scope but are not yet assigned.
4372
4372
  This helps identify which roles from a specific client are still available to be added to the client scope.
4373
4373
 
4374
- @parameters:
4374
+ **` -- @parameters -- `**
4375
4375
  - filter: parameter provided as a JSON object that accepts the following filter:
4376
4376
  - id: [required] The ID of the client scope to list available scope mapping.
4377
4377
  - client: [required] The client ID (client UUID or client identifier) from which to list available roles
@@ -4397,7 +4397,7 @@ console.log("Available client scope mappings:", availableRoles);
4397
4397
  The method adds one or more client roles from a specific client to a given client scope in a realm.
4398
4398
  This means the client scope will include the selected roles, and any client using this scope will inherit these permissions in its tokens.
4399
4399
 
4400
- @parameters:
4400
+ **` -- @parameters -- `**
4401
4401
  - filter: parameter provided as a JSON object that accepts the following filter:
4402
4402
  - id: [required] ID of the client scope.
4403
4403
  - client: [required] The client ID (client UUID or client identifier) whose roles are being mapped.
@@ -4444,7 +4444,7 @@ console.log("Client roles mapped to client scope successfully");
4444
4444
  The method removes one or more client role mappings from a given client scope in a realm.
4445
4445
  This allows you to revoke previously assigned client roles so they are no longer included in the client scope.
4446
4446
 
4447
- @parameters:
4447
+ **` -- @parameters -- `**
4448
4448
  - filter: parameter provided as a JSON object that accepts the following filter:
4449
4449
  - id: [required] ID of the client scope.
4450
4450
  - client: [required] The client ID (client UUID or client identifier) from which the roles are being removed.
@@ -4491,7 +4491,7 @@ console.log("Roles removed from client scope mappings.");
4491
4491
  The method retrieves all client roles from a specific client that are currently mapped to a given client scope in a realm.
4492
4492
  This allows you to check which roles from a particular client are already included in the client scope.
4493
4493
 
4494
- @parameters:
4494
+ **` -- @parameters -- `**
4495
4495
  - filter: parameter provided as a JSON object that accepts the following filter:
4496
4496
  - id: [required] The ID of the client scope.
4497
4497
  - client: [required]: The client ID (client UUID or client identifier) whose mapped roles you want to list.
@@ -4516,7 +4516,7 @@ console.log("Mapped client roles:", mappedRoles);
4516
4516
  The method retrieves all effective client roles mapped to a given client scope, including both directly assigned roles and those inherited via composite roles.
4517
4517
  This is useful when you want to see the final set of roles available in a client scope, not just the ones explicitly mapped.
4518
4518
 
4519
- @parameters:
4519
+ **` -- @parameters -- `**
4520
4520
  - filter: parameter provided as a JSON object that accepts the following filter:
4521
4521
  - id: [required] The ID of the client scope.
4522
4522
  - client: [required]: The client ID (client UUID or client identifier) whose mapped roles you want to list.
@@ -4541,7 +4541,7 @@ console.log("Mapped client roles:", mappedRoles);
4541
4541
  The method retrieves the list of realm roles that are available to be mapped to a given client scope but are not yet assigned.
4542
4542
  This helps you determine which realm-level roles can still be added to the client scope.
4543
4543
 
4544
- @parameters:
4544
+ **` -- @parameters -- `**
4545
4545
  - filter: parameter provided as a JSON object that accepts the following filter:
4546
4546
  - id: [required] The ID of the client scope.
4547
4547
  - realm: [optional] The realm where the client scope is defined.
@@ -4564,7 +4564,7 @@ console.log("Available realm scope mappings:", availableRealmRoles);
4564
4564
  The method adds one or more realm roles to a given client scope in a realm.
4565
4565
  This means that any client using this client scope will inherit the specified realm-level roles in its tokens.
4566
4566
 
4567
- @parameters:
4567
+ **` -- @parameters -- `**
4568
4568
  - filter: parameter provided as a JSON object that accepts the following filter:
4569
4569
  - id: [required] The ID of the client scope.
4570
4570
  - realm: [optional] The realm where the client scope is defined.
@@ -4599,7 +4599,7 @@ console.log("Realm roles added to client scope successfully");
4599
4599
  The method removes one or more realm role mappings from a given client scope in a realm.
4600
4600
  This revokes previously assigned realm roles, so clients using this scope will no longer inherit these permissions.
4601
4601
 
4602
- @parameters:
4602
+ **` -- @parameters -- `**
4603
4603
  - filter: parameter provided as a JSON object that accepts the following filter:
4604
4604
  - id: [required] The ID of the client scope.
4605
4605
  - realm: [optional] The realm where the client scope is defined.
@@ -4634,7 +4634,7 @@ console.log("Realm roles added to client scope successfully");
4634
4634
  The method retrieves all realm roles that are currently mapped to a given client scope in a realm.
4635
4635
  This allows you to see which realm-level permissions are already assigned to the client scope.
4636
4636
 
4637
- @parameters:
4637
+ **` -- @parameters -- `**
4638
4638
  - filter: parameter provided as a JSON object that accepts the following filter:
4639
4639
  - id: [required] The ID of the client scope.
4640
4640
  - realm: [optional] The realm where the client scope is defined.
@@ -4656,7 +4656,7 @@ console.log("Mapped realm roles:", mappedRealmRoles);
4656
4656
  The method retrieves all effective realm roles mapped to a given client scope, including both directly assigned roles and those inherited via composite roles.
4657
4657
  This is useful to see the complete set of realm-level permissions a client scope provides.
4658
4658
 
4659
- @parameters:
4659
+ **` -- @parameters -- `**
4660
4660
  - filter: parameter provided as a JSON object that accepts the following filter:
4661
4661
  - id: [required] The ID of the client scope.
4662
4662
  - realm: [optional] The realm where the client scope is defined.
@@ -4687,7 +4687,7 @@ The method is used to create a new Identity Provider (IdP) in a Keycloak realm.
4687
4687
  An IdP allows users to authenticate via external providers such as Google, Facebook, GitHub,
4688
4688
  or another SAML/OIDC provider.
4689
4689
  This method requires specifying an alias, the provider type, and configuration settings such as client ID, client secret, and any other provider-specific options.
4690
- @parameters:
4690
+ **` -- @parameters -- `**
4691
4691
  - identityProvidersRappresentation: parameter provided as a JSON object containing the configuration of the Identity Provider
4692
4692
  - alias: [required] Unique name for the IdP within the realm.
4693
4693
  - providerId: [required] Type of provider (google, facebook, oidc, saml, etc.).
@@ -4722,7 +4722,7 @@ console.log("Created Identity Provider:", newIdP);
4722
4722
  ##### `function identityProviders.createMapper(mapperParams)`
4723
4723
  The method creates a new mapper for an existing Identity Provider in the current realm.
4724
4724
  The mapper defines how attributes, roles, or claims from the Identity Provider are mapped to the Keycloak user model.
4725
- @parameters:
4725
+ **` -- @parameters -- `**
4726
4726
  - mapperParams: parameter provided as a JSON object containing the fields to create a new mapper
4727
4727
  - alias: [required] The alias of the Identity Provider to which the mapper will be attached.
4728
4728
  - identityProviderMapper: [required] The mapper configuration object, which includes details like the mapper type, name, and configuration values
@@ -4749,7 +4749,7 @@ const KeycloakManager = require('keycloak-api-manager');
4749
4749
  ##### `function identityProviders.findMappers(filter)`
4750
4750
  The method retrieves all mappers associated with a specific Identity Provider in the current realm.
4751
4751
  These mappers define how attributes, roles, or claims from the external Identity Provider are mapped to the Keycloak user model.
4752
- @parameters:
4752
+ **` -- @parameters -- `**
4753
4753
  - filter: pparameter provided as a JSON object that accepts the following filter:
4754
4754
  - alias: [required] TThe alias of the Identity Provider whose mappers you want to fetch.
4755
4755
  ```js
@@ -4769,7 +4769,7 @@ console.log(mappers);
4769
4769
  ##### `function identityProviders.delMapper(filter)`
4770
4770
  The method deletes a specific mapper associated with an Identity Provider in the current realm.
4771
4771
  This is useful when you need to remove a mapping rule that translates attributes, roles, or claims from the external Identity Provider into Keycloak.
4772
- @parameters:
4772
+ **` -- @parameters -- `**
4773
4773
  - filter: pparameter provided as a JSON object that accepts the following filter:
4774
4774
  - alias: [required] The alias of the Identity Provider that owns the mapper.
4775
4775
  - id : [required] The unique ID of the mapper to be deleted.
@@ -4789,7 +4789,7 @@ console.log("Mapper deleted successfully");
4789
4789
  ##### `function identityProviders.findOneMapper(filter)`
4790
4790
  The method retrieves the details of a specific mapper associated with an Identity Provider in the current realm.
4791
4791
  This allows you to inspect a mapper’s configuration, such as how attributes or claims from the external Identity Provider are mapped into Keycloak.
4792
- @parameters:
4792
+ **` -- @parameters -- `**
4793
4793
  - filter: pparameter provided as a JSON object that accepts the following filter:
4794
4794
  - alias: [required] The alias of the Identity Provider.
4795
4795
  - id: [required] The unique ID of the mapper to retrieve.
@@ -4809,7 +4809,7 @@ console.log("Mapper details:", mapper);
4809
4809
  The method removes an Identity Provider from the current realm.
4810
4810
  This action deletes the provider configuration, including all its associated mappers and settings.
4811
4811
  After deletion, users will no longer be able to authenticate using that Identity Provider.
4812
- @parameters:
4812
+ **` -- @parameters -- `**
4813
4813
  - filter: pparameter provided as a JSON object that accepts the following filter:
4814
4814
  - alias: [required] The alias of the Identity Provider you want to delete.
4815
4815
  ```js
@@ -4826,7 +4826,7 @@ console.log(`Identity Provider deleted successfully`);
4826
4826
  ##### `function identityProviders.findOne(filter)`
4827
4827
  The method retrieves the configuration details of a specific Identity Provider in the current realm.
4828
4828
  It is useful when you need to inspect the provider’s settings, such as its alias, display name, authentication flow, or other configuration parameters.
4829
- @parameters:
4829
+ **` -- @parameters -- `**
4830
4830
  - filter: pparameter provided as a JSON object that accepts the following filter:
4831
4831
  - alias: [required] The alias of the Identity Provider you want to find.
4832
4832
  ```js
@@ -4863,7 +4863,7 @@ providers.forEach((provider) => {
4863
4863
  ##### `function identityProviders.update(filter,identityProviderRepresentation)`
4864
4864
  The method updates the configuration of a specific Identity Provider in the current realm.
4865
4865
  It allows you to modify settings such as client ID, secret, authorization URLs, or any custom configuration fields exposed by the provider.
4866
- @parameters:
4866
+ **` -- @parameters -- `**
4867
4867
  - filter: pparameter provided as a JSON object that accepts the following filter:
4868
4868
  - alias: [required] The alias of the Identity Provider to update.
4869
4869
  - identityProviderRepresentation: An object containing the updated configuration fields:
@@ -4889,7 +4889,7 @@ const KeycloakManager = require('keycloak-api-manager');
4889
4889
  The method retrieves information about a specific Identity Provider factory available in Keycloak.
4890
4890
  A factory represents a provider type (e.g., "oidc", "saml", "github") and contains metadata about how that provider can be configured.
4891
4891
  This is useful when you want to check what configuration options are supported before creating or updating an Identity Provider.
4892
- @parameters:
4892
+ **` -- @parameters -- `**
4893
4893
  - filter: pparameter provided as a JSON object that accepts the following filter:
4894
4894
  - providerId: [required] The ID of the Identity Provider factory to look up (e.g., "oidc", "saml", "google").
4895
4895
  ```js
@@ -4909,7 +4909,7 @@ console.log("Factory details:", factory);
4909
4909
  The method retrieves all mappers associated with a specific Identity Provider in Keycloak.
4910
4910
  Mappers define how information from the external Identity Provider (e.g., Google, SAML, GitHub) is mapped into Keycloak attributes, roles, or claims.
4911
4911
  This is useful to list all transformations and mappings applied to users authenticating via that provider.
4912
- @parameters:
4912
+ **` -- @parameters -- `**
4913
4913
  - filter: parameter provided as a JSON object that accepts the following filter:
4914
4914
  - alias: [required] The alias of the Identity Provider (set when the provider was created).
4915
4915
  ```js
@@ -4926,7 +4926,7 @@ console.log("Mappers for Google IdP:", mappers);
4926
4926
  ##### `function identityProviders.findOneMapper(filter)`
4927
4927
  The method retrieves a single mapper associated with a specific Identity Provider in Keycloak.
4928
4928
  It’s useful when you need to inspect the configuration of a mapper before updating or deleting it.
4929
- @parameters:
4929
+ **` -- @parameters -- `**
4930
4930
  - filter: parameter provided as a JSON object that accepts the following filter:
4931
4931
  - alias: [required] The alias of the Identity Provider.
4932
4932
  - id: [required] The unique ID of the mapper to fetch.
@@ -4950,7 +4950,7 @@ if (mapper) {
4950
4950
  The method updates an existing mapper for a given Identity Provider in Keycloak.
4951
4951
  Mappers define how attributes, roles, or claims from an external Identity Provider (e.g., Google, GitHub, SAML) are mapped into Keycloak user attributes or tokens.
4952
4952
  This method allows you to change the configuration of an existing mapper (e.g., modify the claim name, attribute name, or role assignment).
4953
- @parameters:
4953
+ **` -- @parameters -- `**
4954
4954
  - filter: parameter provided as a JSON object that accepts the following filter:
4955
4955
  - alias: [required] The alias of the Identity Provider (set during IdP creation).
4956
4956
  - id: [required] The ID of the mapper to update.
@@ -4988,7 +4988,7 @@ console.log("Mapper updated successfully!");
4988
4988
  ##### `function identityProviders.importFromUrl(filter)`
4989
4989
  The method lets you import an Identity Provider configuration directly from a metadata URL (e.g., OIDC discovery document or SAML metadata XML).
4990
4990
  This saves you from manually entering configuration details, since Keycloak can auto-fill them from the provided URL.
4991
- @parameters:
4991
+ **` -- @parameters -- `**
4992
4992
  - filter: parameter provided as a JSON object that accepts the following filter:
4993
4993
  - fromUrl : [required] The URL of the IdP metadata (OIDC discovery endpoint or SAML metadata).
4994
4994
  - providerId : [required]The type of IdP (e.g., "oidc", "saml").
@@ -5011,7 +5011,7 @@ console.log("Imported IdP:", importedIdp);
5011
5011
  ##### `function identityProviders.updatePermission(filter,permissionRepresentation)`
5012
5012
  The method allows you to enable or disable fine-grained admin permissions for a specific Identity Provider in Keycloak.
5013
5013
  When enabled, Keycloak creates client roles (scopes) that let you define which users or groups can view or manage the Identity Provider.
5014
- @parameters:
5014
+ **` -- @parameters -- `**
5015
5015
  - filter: parameter provided as a JSON object that accepts the following filter:
5016
5016
  - alias: [required] The alias of the Identity Provider.
5017
5017
  - permissionRepresentation: parameter provided as a JSON object that represent the updated permission object.
@@ -5033,7 +5033,7 @@ console.log("Updated permission:", updatedPermissions);
5033
5033
  ##### `function identityProviders.listPermissions(filter)`
5034
5034
  The method retrieves the current fine-grained permission settings for a specific Identity Provider in Keycloak.
5035
5035
  It returns whether permissions are enabled and, if so, which scope roles are associated with managing and viewing the Identity Provider.
5036
- @parameters:
5036
+ **` -- @parameters -- `**
5037
5037
  - filter: parameter provided as a JSON object that accepts the following filter:
5038
5038
  - alias: [required] The alias of the Identity Provider.
5039
5039
  - realm: [optional] The realm where the IdP is defined.
@@ -5059,7 +5059,7 @@ Groups help organize users and assign permissions in a scalable way
5059
5059
  #### `entity groups functions`
5060
5060
  ##### `function create(groupRappresentation)`
5061
5061
  Create a new group in the current realme
5062
- @parameters:
5062
+ **` -- @parameters -- `**
5063
5063
  - groupRepresentation:An object representing the new state of the group. You can update properties such as:
5064
5064
  - name: [optional] New name of the group
5065
5065
  - attributes: [optional] Custom attributes up field
@@ -5079,7 +5079,7 @@ const KeycloakManager = require('keycloak-api-manager');
5079
5079
  find method is used to retrieve a list of groups in a specific realm.
5080
5080
  It supports optional filtering parameters.
5081
5081
  Searching by attributes is only available from Keycloak > 15
5082
- @parameters:
5082
+ **` -- @parameters -- `**
5083
5083
  - filter: parameter provided as a JSON object that accepts the following filter:
5084
5084
  - {builtin attribute}: To find groips by builtin attributes such as name, id
5085
5085
  - max: A pagination parameter used to define the maximum number of groups to return (limit).
@@ -5112,7 +5112,7 @@ else console.log('Group not found');
5112
5112
  ##### `function del(filter)`
5113
5113
  Deletes a group from the realm.
5114
5114
  Return a promise that resolves when the group is successfully deleted. No content is returned on success.
5115
- @parameters:
5115
+ **` -- @parameters -- `**
5116
5116
  - filter: parameter provided as a JSON object that accepts the following filter:
5117
5117
  - id: The ID of the group to delete.
5118
5118
  ```js
@@ -5125,7 +5125,7 @@ const group = await KeycloakManager.groups.del({ id: 'group-id' });
5125
5125
  ##### `function count(filter)`
5126
5126
  Retrieves the total number of groups present in the specified realm.
5127
5127
  This is useful for pagination, reporting, or general statistics regarding group usage in a Keycloak realm.
5128
- @parameters:
5128
+ **` -- @parameters -- `**
5129
5129
  - filter: parameter provided as a JSON object that accepts the following filter:
5130
5130
  - realm: [optional] The name of the realm. If omitted, the default realm is used.
5131
5131
  - search: [optional] A text string to filter the group count by name.
@@ -5146,7 +5146,7 @@ console.log('Total cool-group groups:', result.count);
5146
5146
  ##### `function update(filter,groupRepresentation)`
5147
5147
  Updates an existing group’s information in a Keycloak realm.
5148
5148
  You can modify the group’s name, attributes, or hierarchy by providing the group ID and the updated data.
5149
- @parameters:
5149
+ **` -- @parameters -- `**
5150
5150
  - filter: parameter provided as a JSON object that accepts the following filter:
5151
5151
  - id: [required] The unique ID of the group you want to update.
5152
5152
  - realm: [optional] The realm name
@@ -5170,7 +5170,7 @@ await KeycloakManager.groups.update(
5170
5170
  ##### `function listSubGroups(filter)`
5171
5171
  Retrieves a paginated list of direct subgroups for a specified parent group.
5172
5172
  This method is useful when navigating hierarchical group structures within a Keycloak realm.
5173
- @parameters:
5173
+ **` -- @parameters -- `**
5174
5174
  - filter: parameter provided as a JSON object that accepts the following filter:
5175
5175
  - parentId: [required] ID of the parent group whose subgroups you want to list.
5176
5176
  - first: [optional] Index of the first result for pagination (default is 0).
@@ -5193,7 +5193,7 @@ await KeycloakManager.groups.listSubGroups({
5193
5193
  ##### `function addRealmRoleMappings(role_mapping)`
5194
5194
  Adds one or more realm-level roles to a specific group.
5195
5195
  This operation grants all users within that group the associated realm roles, effectively assigning permissions at a group level.
5196
- @parameters:
5196
+ **` -- @parameters -- `**
5197
5197
  - role_mapping: parameter provided as a JSON object that accepts the following parameters:
5198
5198
  - id: [required] The ID of the group to which roles will be added.
5199
5199
  - roles: [required] An array of role(RoleRepresentation) objects to assign.
@@ -5216,7 +5216,7 @@ await KeycloakManager.groups.addRealmRoleMappings({
5216
5216
  ##### `function listAvailableRealmRoleMappings(filters)`
5217
5217
  Retrieves all available realm-level roles that can be assigned to a specific group but are not yet assigned.
5218
5218
  This helps in identifying which roles are still eligible for addition to the group.
5219
- @parameters:
5219
+ **` -- @parameters -- `**
5220
5220
  - filters: parameter provided as a JSON object that accepts the following parameters:
5221
5221
  - id: [required] The ID of the group you want to inspect.
5222
5222
 
@@ -5235,7 +5235,7 @@ console.log('Available realm roles for group:', availableRoles);
5235
5235
  ##### `function listRoleMappings(filters)`
5236
5236
  Retrieves all role mappings for a specific group, including both realm roles and client roles.
5237
5237
  This method is useful for understanding the complete set of roles that are assigned to a group.
5238
- @parameters:
5238
+ **` -- @parameters -- `**
5239
5239
  - filters: parameter provided as a JSON object that accepts the following parameters:
5240
5240
  - id: [required] The ID of the group whose roles to fetch
5241
5241
 
@@ -5257,7 +5257,7 @@ console.log('Client roles:', roleMappings.clientMappings);
5257
5257
  ##### `function listRealmRoleMappings(filters)`
5258
5258
  Returns the list of realm-level roles that are directly assigned to a specific group.
5259
5259
  These roles are defined at the realm level and are not tied to any specific client.
5260
- @parameters:
5260
+ **` -- @parameters -- `**
5261
5261
  - filters: parameter provided as a JSON object that accepts the following parameters:
5262
5262
  - id: [required] TThe ID of the group to retrieve roles for
5263
5263
 
@@ -5276,7 +5276,7 @@ console.log('Realm roles assigned to group:', realmRoles.map(role => role.name))
5276
5276
  ##### `function listCompositeRealmRoleMappings(filters)`
5277
5277
  Retrieves all composite realm-level roles assigned to a group.
5278
5278
  This includes both directly assigned roles and those inherited through composite roles.
5279
- @parameters:
5279
+ **` -- @parameters -- `**
5280
5280
  - filters: parameter provided as a JSON object that accepts the following parameters:
5281
5281
  - id: [required] TThe ID of the group to retrieve roles for
5282
5282
 
@@ -5296,7 +5296,7 @@ console.log('All (composite) realm roles for group:', compositeRealmRoles.map(ro
5296
5296
  Removes one or more realm-level roles from a group's role mappings.
5297
5297
  This operation only affects roles that are directly assigned.
5298
5298
  Composite roles inherited indirectly will not be removed.
5299
- @parameters:
5299
+ **` -- @parameters -- `**
5300
5300
  - filters: parameter provided as a JSON object that accepts the following parameters:
5301
5301
  - id: [required] TThe ID of the group to retrieve roles for
5302
5302
  - roles: [required] Array of roles to be removed
@@ -5318,7 +5318,7 @@ await KeycloakManager.groups.delRealmRoleMappings({
5318
5318
  ##### `function addClientRoleMappings(filters)`
5319
5319
  Assigns one or more client-level roles to a specific group.
5320
5320
  This allows all users belonging to that group to inherit the specified roles for a given client.
5321
- @parameters:
5321
+ **` -- @parameters -- `**
5322
5322
  - filters: parameter provided as a JSON object that accepts the following parameters:
5323
5323
  - id: [required] The ID of the group
5324
5324
  - clientUniqueId: [required] The internal ID of the client
@@ -5342,7 +5342,7 @@ await KeycloakManager.groups.addClientRoleMappings({
5342
5342
  ##### `function listAvailableClientRoleMappings(filters)`
5343
5343
  Retrieves the list of client roles that are available to be assigned to a specific group but are not currently mapped.
5344
5344
  This is useful when you want to show assignable roles for a group in a specific client context.
5345
- @parameters:
5345
+ **` -- @parameters -- `**
5346
5346
  - filters: parameter provided as a JSON object that accepts the following parameters:
5347
5347
  - id: [required] The ID of the group
5348
5348
  - clientUniqueId: [required] The internal ID of the client
@@ -5361,7 +5361,7 @@ console.log('Available roles:', availableRoles);
5361
5361
  ##### `function listClientRoleMappings(filters)`
5362
5362
  Retrieves the list of client roles that are currently assigned (mapped) to a specific group for a given client.
5363
5363
  This allows you to see which roles from a client the group already has.
5364
- @parameters:
5364
+ **` -- @parameters -- `**
5365
5365
  - filters: parameter provided as a JSON object that accepts the following parameters:
5366
5366
  - id: [required] The ID of the group
5367
5367
  - clientUniqueId: [required] The internal ID of the client
@@ -5380,7 +5380,7 @@ console.log('Assigned client roles:', availableRoles);
5380
5380
  ##### `function listCompositeClientRoleMappings(filters)`
5381
5381
  Retrieves the list of composite client roles assigned to a specific group.
5382
5382
  Composite roles are roles that aggregate other roles, so this method returns client roles that include one or more roles grouped under a composite role assigned to the group.
5383
- @parameters:
5383
+ **` -- @parameters -- `**
5384
5384
  - filters: parameter provided as a JSON object that accepts the following parameters:
5385
5385
  - id: [required] The ID of the group
5386
5386
  - clientUniqueId: [required] The internal ID of the client
@@ -5399,7 +5399,7 @@ console.log('Composite client roles assigned to group:', compositeClientRoles);
5399
5399
  ##### `function delClientRoleMappings(filters)`
5400
5400
  Removes specific client role mappings from a group.
5401
5401
  This function deletes one or more client roles that were assigned to the group, effectively revoking those client roles from the group.
5402
- @parameters:
5402
+ **` -- @parameters -- `**
5403
5403
  - filters: parameter provided as a JSON object that accepts the following parameters:
5404
5404
  - id: [required] The ID of the group
5405
5405
  - clientUniqueId: [required] The internal ID of the client
@@ -5442,7 +5442,7 @@ allowing you to group multiple permissions into a single, higher-level role.
5442
5442
  A composite role can include roles from the same realm as well
5443
5443
  as roles from different clients.
5444
5444
  When you assign a composite role to a user, they automatically inherit all the roles it contains.
5445
- @parameters:
5445
+ **` -- @parameters -- `**
5446
5446
  - filters: parameter provided as a JSON object that accepts the following parameters:
5447
5447
  - roleId: [required] The id of the role to which composite roles will be added.
5448
5448
 
@@ -5475,7 +5475,7 @@ const KeycloakManager = require('keycloak-api-manager');
5475
5475
  ```
5476
5476
  ##### `function findOneByName(filters)`
5477
5477
  Get a role by name
5478
- @parameters:
5478
+ **` -- @parameters -- `**
5479
5479
  - filters: parameter provided as a JSON object that accepts the following parameters:
5480
5480
  - name (string, required) — The exact name of the role to retrieve.
5481
5481
  - realm (string, optional if set globally) — The realm where the role is defined.
@@ -5487,7 +5487,7 @@ const KeycloakManager = require('keycloak-api-manager');
5487
5487
 
5488
5488
  ##### `function findOneById(filters)`
5489
5489
  Get a role by its Id
5490
- @parameters:
5490
+ **` -- @parameters -- `**
5491
5491
  - filters: parameter provided as a JSON object that accepts the following parameters:
5492
5492
  - Id (string, required) — The Id of the role to retrieve.
5493
5493
  - realm (string, optional if set globally) — The realm where the role is defined.
@@ -5499,7 +5499,7 @@ const KeycloakManager = require('keycloak-api-manager');
5499
5499
 
5500
5500
  ##### `function updateByName(filters,role_dictionary)`
5501
5501
  Update a role by its name
5502
- @parameters:
5502
+ **` -- @parameters -- `**
5503
5503
  - filters: parameter provided as a JSON object that accepts the following parameters:
5504
5504
  - name (string, required) — The exact name of the role to retrieve.
5505
5505
  - realm (string, optional if set globally) — The realm where the role is defined.
@@ -5512,7 +5512,7 @@ const KeycloakManager = require('keycloak-api-manager');
5512
5512
 
5513
5513
  ##### `function updateById(filters,role_dictionary)`
5514
5514
  Update a role by its Id
5515
- @parameters:
5515
+ **` -- @parameters -- `**
5516
5516
  - filters: parameter provided as a JSON object that accepts the following parameters:
5517
5517
  - name (string, required) — The exact name of the role to retrieve.
5518
5518
  - realm (string, optional if set globally) — The realm where the role is defined.
@@ -5525,7 +5525,7 @@ const KeycloakManager = require('keycloak-api-manager');
5525
5525
 
5526
5526
  ##### `function delByName(filters)`
5527
5527
  Delete a role by its name
5528
- @parameters:
5528
+ **` -- @parameters -- `**
5529
5529
  - filters: parameter provided as a JSON object that accepts the following parameters:
5530
5530
  - name (string, required) — The exact name of the role to retrieve.
5531
5531
  - realm (string, optional if set globally) — The realm where the role is defined.
@@ -5567,7 +5567,7 @@ that have been added to the composite role. It requires the roleId of the target
5567
5567
  parameter and returns an array of RoleRepresentation objects. If the role is not composite
5568
5568
  or has no associated realm roles, the result will be an empty array. This method is useful
5569
5569
  for understanding and managing hierarchical role structures within a realm in Keycloak.
5570
- @parameters:
5570
+ **` -- @parameters -- `**
5571
5571
  - filters: parameter provided as a JSON object that accepts the following parameters:
5572
5572
  - roleId: (string, required) — The Id of the role to retrieve.
5573
5573
  ```js
@@ -5586,7 +5586,7 @@ are part of the composite role. It requires the roleId of the composite role
5586
5586
  and the clientId of the client whose roles you want to retrieve. The function returns an array of
5587
5587
  RoleRepresentation objects representing the client roles included in the composite.
5588
5588
  This helps manage and inspect client-specific role hierarchies within the composite role structure in Keycloak.
5589
- @parameters:
5589
+ **` -- @parameters -- `**
5590
5590
  - filters: parameter provided as a JSON object that accepts the following parameters:
5591
5591
  - roleId: (string, required) — The Id of the role to retrieve
5592
5592
  - clientId: (string, required) — The id of the client to search for composite roles
@@ -5613,7 +5613,7 @@ Components in Keycloak are modular and pluggable, and this API lets you create,
5613
5613
  The method creates a new component in a Keycloak realm.
5614
5614
  Components are modular providers in Keycloak, such as user federation providers (LDAP, Kerberos), authenticators, identity providers, or other pluggable extensions.
5615
5615
 
5616
- @parameters:
5616
+ **` -- @parameters -- `**
5617
5617
  - comoponentReppresentation: An object representing the component to create.
5618
5618
  - name: [required] A human-readable name for the component.
5619
5619
  - providerId: [required] The provider ID (e.g., "ldap", "kerberos", "totp").
@@ -5651,7 +5651,7 @@ The method updates an existing component in a Keycloak realm.
5651
5651
  Components represent pluggable extensions such as user federation providers (LDAP, Kerberos),
5652
5652
  protocol mappers, authenticator factories, or other custom integrations.
5653
5653
 
5654
- @parameters:
5654
+ **` -- @parameters -- `**
5655
5655
  - filter: parameter provided as a JSON object that accepts the following filter:
5656
5656
  - id: [required] The unique ID of the component to update.
5657
5657
  - componentRepresentation: An object representing the component to update.
@@ -5692,7 +5692,7 @@ console.log("Component updated successfully");
5692
5692
  The method retrieves a single component from a realm by its ID.
5693
5693
  Components in Keycloak represent pluggable providers such as LDAP user federation, authenticators, protocol mappers, or other extensions.
5694
5694
 
5695
- @parameters:
5695
+ **` -- @parameters -- `**
5696
5696
  - filter: parameter provided as a JSON object that accepts the following filter:
5697
5697
  - id: [required] The unique ID of the component to retrieve.
5698
5698
  ```js
@@ -5714,7 +5714,7 @@ if (component) {
5714
5714
  The method retrieves a list of components in a Keycloak realm.
5715
5715
  You can optionally filter components by their parent ID and/or provider type (e.g., LDAP user federation providers, authenticators, protocol mappers).
5716
5716
 
5717
- @parameters:
5717
+ **` -- @parameters -- `**
5718
5718
  - filter: parameter provided as a JSON object that accepts the following filter:
5719
5719
  - {builtin attribute}: To find components by builtin attributes such as name, id
5720
5720
  - max: A pagination parameter used to define the maximum number of components to return (limit).
@@ -5739,7 +5739,7 @@ if (component) {
5739
5739
  The method deletes a specific component from a Keycloak realm.
5740
5740
  Components include user federation providers (e.g., LDAP, Kerberos), authenticator providers, protocol mappers, or other pluggable extensions.
5741
5741
 
5742
- @parameters:
5742
+ **` -- @parameters -- `**
5743
5743
  - filter: parameter provided as a JSON object that accepts the following filter:
5744
5744
  - id: [required] The unique ID of the component to delete.
5745
5745
  ```js
@@ -5759,7 +5759,7 @@ This is useful when working with hierarchical components, for example:
5759
5759
  - LDAP storage provider and protocol mappers as sub-components
5760
5760
  - Authenticator factories with nested components
5761
5761
 
5762
- @parameters:
5762
+ **` -- @parameters -- `**
5763
5763
  - filter: parameter provided as a JSON object that accepts the following filter:
5764
5764
  - id: [required] The ID of the parent component.
5765
5765
  - type: [optional] Filters sub-components by their provider type (e.g., "org.keycloak.protocol.mapper.ProtocolMapper").
@@ -5802,7 +5802,7 @@ Required actions are tasks that users must complete after login, such as:
5802
5802
 
5803
5803
  By deleting a required action, it will no longer be available for assignment to users.
5804
5804
 
5805
- @parameters:
5805
+ **` -- @parameters -- `**
5806
5806
  - filter: parameter provided as a JSON object that accepts the following filter:
5807
5807
  - alias: [required] The unique alias of the required action to delete (e.g., "UPDATE_PASSWORD").
5808
5808
  ```js
@@ -5822,7 +5822,7 @@ The method registers a new required action in a Keycloak realm.
5822
5822
  Required actions are tasks that users may be forced to perform during authentication (e.g., verify email, update password, configure OTP, or a custom scripted action).
5823
5823
  This method is typically used after checking available actions via getUnregisteredRequiredActions.
5824
5824
 
5825
- @parameters:
5825
+ **` -- @parameters -- `**
5826
5826
  - actionRepresentation: The representation of the required action to register.
5827
5827
  - providerId: [required] Unique ID of the required action (e.g., "terms_and_conditions").
5828
5828
  - name: [required] Display name of the required action.
@@ -5885,7 +5885,7 @@ The method retrieves a single required action in a Keycloak realm by its alias.
5885
5885
  Required actions are tasks that users may be forced to complete during authentication, such as update password, verify email, or configure OTP.
5886
5886
  This method is useful when you want details about a specific required action without listing all actions.
5887
5887
 
5888
- @parameters:
5888
+ **` -- @parameters -- `**
5889
5889
  - filter: parameter provided as a JSON object that accepts the following filter:
5890
5890
  - alias: [required] The unique alias of the required action to retrieve (e.g., "UPDATE_PASSWORD").
5891
5891
  ```js
@@ -5903,7 +5903,7 @@ console.log("Required action for alias details:", requiredAction);
5903
5903
  The method lowers the priority of a registered required action in a Keycloak realm.
5904
5904
  Priority determines the order in which required actions are executed for a user during authentication. Lowering the priority moves the action further down the execution order.
5905
5905
 
5906
- @parameters:
5906
+ **` -- @parameters -- `**
5907
5907
  - filter: parameter provided as a JSON object that accepts the following filter:
5908
5908
  - alias: [required] The alias (providerId) of the required action to modify.
5909
5909
  ```js
@@ -5922,7 +5922,7 @@ The method raises the priority of a registered required action in a Keycloak rea
5922
5922
  Priority determines the order in which required actions are executed for a user during authentication.
5923
5923
  Raising the priority moves the action higher in the execution order, meaning it will be executed sooner.
5924
5924
 
5925
- @parameters:
5925
+ **` -- @parameters -- `**
5926
5926
  - filter: parameter provided as a JSON object that accepts the following filter:
5927
5927
  - alias: [required] The alias (providerId) of the required action to modify.
5928
5928
  ```js
@@ -5940,7 +5940,7 @@ console.log("Required action priority raised successfully");
5940
5940
  The method retrieves the configuration description for a specific required action in a Keycloak realm.
5941
5941
  This includes details about the configurable options available for that required action, such as which fields can be set, their types, and any default values.
5942
5942
 
5943
- @parameters:
5943
+ **` -- @parameters -- `**
5944
5944
  - filter: parameter provided as a JSON object that accepts the following filter:
5945
5945
  - alias: [required] The alias (providerId) of the required action.
5946
5946
  ```js
@@ -5959,7 +5959,7 @@ console.log("Required action config description:", configDescription);
5959
5959
  The method retrieves the current configuration for a specific required action in a Keycloak realm.
5960
5960
  This allows you to see the settings that have been applied to a required action, such as OTP policies, password requirements, or any custom configurations.
5961
5961
 
5962
- @parameters:
5962
+ **` -- @parameters -- `**
5963
5963
  - filter: parameter provided as a JSON object that accepts the following filter:
5964
5964
  - alias: [required] The alias (providerId) of the required action.
5965
5965
  ```js
@@ -5977,7 +5977,7 @@ console.log("Required action current config:", config);
5977
5977
  The method deletes the configuration of a specific required action in a Keycloak realm.
5978
5978
  This removes any customized settings for the action, effectively resetting it to its default behavior.
5979
5979
 
5980
- @parameters:
5980
+ **` -- @parameters -- `**
5981
5981
  - filter: parameter provided as a JSON object that accepts the following filter:
5982
5982
  - alias: [required] The alias (providerId) of the required action.
5983
5983
  ```js
@@ -6002,7 +6002,7 @@ Required actions are tasks that users may be required to perform during authenti
6002
6002
 
6003
6003
  This method allows you to modify attributes such as enabled, defaultAction, priority, or configuration of a required action.
6004
6004
 
6005
- @parameters:
6005
+ **` -- @parameters -- `**
6006
6006
  - filter: parameter provided as a JSON object that accepts the following filter:
6007
6007
  - alias: [required] The alias (providerId) of the required action to update.
6008
6008
  - actionRepresentation: The updated representation of the required action.
@@ -6038,7 +6038,7 @@ console.log("Required action updated successfully");
6038
6038
  The method updates the configuration of a specific required action in a Keycloak realm.
6039
6039
  This allows you to modify settings such as OTP policies, password requirements, or other parameters of built-in or custom required actions.
6040
6040
 
6041
- @parameters:
6041
+ **` -- @parameters -- `**
6042
6042
  - filter: parameter provided as a JSON object that accepts the following filter:
6043
6043
  - alias: [required] The alias (providerId) of the required action to update.
6044
6044
  - actionRepresentation: The configuration object to update.
@@ -6162,7 +6162,7 @@ The method retrieves a specific authentication flow in a Keycloak realm by its i
6162
6162
  Authentication flows define the sequence of authenticators and required actions that users must complete during login or other authentication events.
6163
6163
  This method is useful for inspecting or modifying a particular flow.
6164
6164
 
6165
- @parameters:
6165
+ **` -- @parameters -- `**
6166
6166
  - flowRepresentation: The representation of the new flow. A typical AuthenticationFlowRepresentation includes:
6167
6167
  - alias : [required] Human-readable alias for the flow.
6168
6168
  - providerId: [required] Type of flow ("basic-flow", "client-flow", etc.).
@@ -6192,7 +6192,7 @@ console.log("Authentication flow created successfully");
6192
6192
  The method updates an existing authentication flow in a Keycloak realm.
6193
6193
  This allows you to modify attributes such as the flow’s description, alias, top-level status, or other properties.
6194
6194
 
6195
- @parameters:
6195
+ **` -- @parameters -- `**
6196
6196
  filter: Parameter provided as a JSON object that accepts the following filter:
6197
6197
  - flowId: [required] The id of the source flow to update.
6198
6198
  - flowRepresentation: The representation of the flow to update. A typical AuthenticationFlowRepresentation includes:
@@ -6228,7 +6228,7 @@ The method deletes an existing authentication flow in a Keycloak realm.
6228
6228
  Deleting a flow removes it completely, including all its executions and subflows.
6229
6229
  This is typically used to remove custom flows that are no longer needed.
6230
6230
 
6231
- @parameters:
6231
+ **` -- @parameters -- `**
6232
6232
  filter: Parameter provided as a JSON object that accepts the following filter:
6233
6233
  - flowId: [required] The id of the source flow to update.
6234
6234
 
@@ -6247,7 +6247,7 @@ console.log("Authentication flow deleted successfully");
6247
6247
  The method duplicates an existing authentication flow in a Keycloak realm.
6248
6248
  This is useful for creating a custom flow based on an existing built-in or custom flow, preserving all executions and subflows.
6249
6249
 
6250
- @parameters:
6250
+ **` -- @parameters -- `**
6251
6251
  - filter: Parameter provided as a JSON object that accepts the following filter:
6252
6252
  - flow: [required] The alias of the source flow to copy.
6253
6253
  - newName: [required] The alias of the new copied flow.
@@ -6270,7 +6270,7 @@ The method retrieves a specific authentication flow in a Keycloak realm by its i
6270
6270
  Authentication flows define the sequence of authenticators and required actions that users must complete during login or other authentication events.
6271
6271
  This method is useful for inspecting or modifying a particular flow.
6272
6272
 
6273
- @parameters:
6273
+ **` -- @parameters -- `**
6274
6274
  - filter: parameter provided as a JSON object that accepts the following filter:
6275
6275
  - flowId: [required] The id of the authentication flow to retrieve
6276
6276
 
@@ -6295,7 +6295,7 @@ Executions define the individual steps or actions within a flow, such as:
6295
6295
 
6296
6296
  This method is useful to inspect or modify the steps of a flow.
6297
6297
 
6298
- @parameters:
6298
+ **` -- @parameters -- `**
6299
6299
  - filter: parameter provided as a JSON object that accepts the following filter:
6300
6300
  - flow: [required] The alias of the authentication flow whose executions you want to retrieve.
6301
6301
 
@@ -6317,7 +6317,7 @@ The method adds a new execution (step) to an existing authentication flow in a K
6317
6317
  Executions define the individual actions or authenticators in a flow, such as username/password verification, OTP validation, or custom authenticators.
6318
6318
  This method allows you to extend a flow with additional steps or subflows.
6319
6319
 
6320
- @parameters:
6320
+ **` -- @parameters -- `**
6321
6321
  - filter: parameter provided as a JSON object that accepts the following filter:
6322
6322
  - flow: [required] The alias of the authentication flow to which the execution will be added.
6323
6323
  - provider: [required] The authenticator or subflow to add (e.g., "auth-otp-form").
@@ -6341,7 +6341,7 @@ console.log("Execution added to authentication flow successfully");
6341
6341
  The method adds an existing authentication flow as a subflow to another authentication flow in a Keycloak realm.
6342
6342
  This allows you to nest flows, creating complex authentication sequences where one flow can call another as a step.
6343
6343
 
6344
- @parameters:
6344
+ **` -- @parameters -- `**
6345
6345
  - filter: parameter provided as a JSON object that accepts the following filter:
6346
6346
  - flow: [required] The alias of the parent authentication flow.
6347
6347
  - alias: [required] The alias (name) of the new subflow.
@@ -6369,7 +6369,7 @@ console.log("Subflow added:", flow);
6369
6369
  The method updates an existing execution (step) within an authentication flow in a Keycloak realm.
6370
6370
  Executions are individual authenticators or subflows within a flow, and this method allows you to modify their requirement, priority, or other settings.
6371
6371
 
6372
- @parameters:
6372
+ **` -- @parameters -- `**
6373
6373
  - filter: parameter provided as a JSON object that accepts the following filter:
6374
6374
  - flow: [required] The alias of the authentication flow containing the execution.
6375
6375
  - executionRepresentation: The updated execution object. Typical fields in AuthenticationExecutionInfoRepresentation:
@@ -6401,7 +6401,7 @@ console.log("Execution updated successfully");
6401
6401
  The method deletes an existing execution (step) from an authentication flow in a Keycloak realm.
6402
6402
  Executions are individual authenticators or subflows within a flow, and this method removes them completely from the flow.
6403
6403
 
6404
- @parameters:
6404
+ **` -- @parameters -- `**
6405
6405
  - filter: parameter provided as a JSON object that accepts the following filter:
6406
6406
  - id: [required] The ID of the execution to delete.
6407
6407
 
@@ -6422,7 +6422,7 @@ console.log("Execution deleted successfully");
6422
6422
  The method increases the priority of an execution within an authentication flow in a Keycloak realm.
6423
6423
  Increasing the priority moves the execution earlier in the flow sequence, affecting the order in which authenticators or subflows are executed.
6424
6424
 
6425
- @parameters:
6425
+ **` -- @parameters -- `**
6426
6426
  - filter: parameter provided as a JSON object that accepts the following filter:
6427
6427
  - id: [required] he ID of the execution whose priority will be raised.
6428
6428
 
@@ -6442,7 +6442,7 @@ console.log("Execution priority raised successfully");
6442
6442
  The method decreases the priority of an execution within an authentication flow in a Keycloak realm.
6443
6443
  Lowering the priority moves the execution later in the flow sequence, affecting the order in which authenticators or subflows are executed.
6444
6444
 
6445
- @parameters:
6445
+ **` -- @parameters -- `**
6446
6446
  - filter: parameter provided as a JSON object that accepts the following filter:
6447
6447
  - id: [required] he ID of the execution whose priority will be lowered.
6448
6448
 
@@ -6462,7 +6462,7 @@ console.log("Execution priority lowered successfully");
6462
6462
  The method creates a configuration for a specific execution (step) within an authentication flow in a Keycloak realm.
6463
6463
  Configurations allow you to customize the behavior of an authenticator or required action, such as OTP policies, password requirements, or custom parameters.
6464
6464
 
6465
- @parameters:
6465
+ **` -- @parameters -- `**
6466
6466
  - filter: parameter provided as a JSON object that accepts the following filter:
6467
6467
  - id: [required] The ID of the execution or required action to configure.
6468
6468
  - alias: [required] The alias (name) of the configuration.
@@ -6485,7 +6485,7 @@ console.log("Configuration created:", config);
6485
6485
  The method retrieves the configuration of a specific required action or execution within an authentication flow in a Keycloak realm.
6486
6486
  Configurations define additional settings for authenticators or required actions, such as OTP policies, password rules, or custom parameters.
6487
6487
 
6488
- @parameters:
6488
+ **` -- @parameters -- `**
6489
6489
  - filter: parameter provided as a JSON object that accepts the following filter:
6490
6490
  - id: [required] The ID of the execution or required action whose configuration you want to retrieve.
6491
6491
 
@@ -6506,7 +6506,7 @@ console.log("Configuration retrieved:", config);
6506
6506
  The method updates the configuration of a specific required action or execution within an authentication flow in a Keycloak realm.
6507
6507
  This allows you to modify existing settings, such as OTP policies, password rules, or any custom parameters, without creating a new configuration.
6508
6508
 
6509
- @parameters:
6509
+ **` -- @parameters -- `**
6510
6510
  - filter: parameter provided as a JSON object that accepts the following filter:
6511
6511
  - id: [required] The ID of the existing configuration.
6512
6512
  - config: [required] Key-value pairs representing the new configuration parameters.
@@ -6531,7 +6531,7 @@ console.log("Configuration updated successfully");
6531
6531
  The method deletes a configuration associated with a specific required action or execution within an authentication flow in a Keycloak realm.
6532
6532
  This is useful for removing obsolete or unwanted settings from a required action or execution.
6533
6533
 
6534
- @parameters:
6534
+ **` -- @parameters -- `**
6535
6535
  - filter: parameter provided as a JSON object that accepts the following filter:
6536
6536
  - id: [required] The ID of the existing configuration.
6537
6537
 
@@ -6559,7 +6559,7 @@ This provides metadata and guidance about the configuration options available fo
6559
6559
 
6560
6560
  This is useful for dynamically generating forms for configuring required actions or authenticators.
6561
6561
 
6562
- @parameters:
6562
+ **` -- @parameters -- `**
6563
6563
  - filter: parameter provided as a JSON object that accepts the following filter:
6564
6564
  - providerId: [required] The ID of the authenticator or required action whose configuration description you want to retrieve.
6565
6565