---
title: Dynamic client registration scripting API
description: The following bindings are available to dynamic client registration scripts.
component: pingam
version: 8.1
page_id: pingam:am-scripting:dcr-api
canonical_url: https://docs.pingidentity.com/pingam/8.1/am-scripting/dcr-api.html
page_aliases: ["scripting-guide:dcr-api.adoc"]
---

# Dynamic client registration scripting API

The following bindings are available to [dynamic client registration](../am-oidc1/dynamic-client-registration-script.html) scripts.

|   |                                                                                                                                                                                                         |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | The dynamic client registration script is a next-generation script and, therefore, has access to all the *next-generation* [common bindings](script-bindings.html) in addition to those described here. |

| Binding             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `requestProperties` | A map of the properties in the request. Always present.The keys in the map are as follows:- `requestUri`: The URI of the request.

- `realm`: The realm where the request was made.

- `requestParams`: The request parameters and posted data where each value is a list of one or more properties.

- `requestHeaders`: A map of the request headers. Header names are case-sensitive.

- `requestBody`: A map representing the body of the request.

  &#xA;&#xA;To mitigate the risk of reflection-type attacks, use OWASP best practices when handling these properties. Find an example in Unsafe use of Reflection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `operation`         | The dynamic client registration request operation as a String. Possible values: `CREATE`, `UPDATE`, and `DELETE`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `clientIdentity`    | The [ScriptedClient](../_attachments/apidocs/org/forgerock/openam/scripting/api/identity/ScriptedClient.html) that represents the created or updated client.Use methods such as `isAIAgent`, `setRedirectURIs`, and `setScope` to check or modify the client profile.> **Collapse: Example**
>
> ```javascript
> if (clientIdentity != null) {
>   clientIdentity.setRedirectURIs(["http://www.example.com/redirect"]);
>   clientIdentity.setGrantTypes(["client_credentials", "device_code"]);
>   clientIdentity.setClientType("Public");
>   clientIdentity.setAuthorizationCodeLifeTime(6000);
>   clientIdentity.setClientUri(["http://www.example.com/client"]);
>   clientIdentity.setDisplayName(["Test"]);
>   clientIdentity.setDefaultScopes(["scope_a", "scope_b"]);
>   clientIdentity.setClientDescription(["Test"]);
>   clientIdentity.setLogoUri(["http://www.example.com/logo"]);
>   clientIdentity.setPolicyUri(["http://www.example.com/policy"]);
>   clientIdentity.setTosUri(["http://www.example.com/tos"]);
>
>   if (clientIdentity.isAIAgent()) {
>     clientIdentity.setClientName(["Test AI Agent"]);
>   } else {
>     clientIdentity.setClientName(["Test OAuth2 Client"]);
>   }
>   clientIdentity.store();
> }
> ```	This binding is null if the operation is DELETE. |
| `softwareStatement` | A map representing the *decoded* JWT of the [software statement](../am-oidc1/oauth2-dynamic-client-registration.html#registration-software-statement) from the request, including the issuer and required claims.This is an empty map if no software statement is provided.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
