---
title: Dynamic client registration scripting API
description: The following bindings are available to dynamic client registration scripts.
component: pingoneaic
page_id: pingoneaic:am-scripting:dcr-api
canonical_url: https://docs.pingidentity.com/pingoneaic/am-scripting/dcr-api.html
---

# 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 to which the request was made.

- `requestParams`: The request parameters, and/or posted data. Each value in this map 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 more information in Unsafe use of Reflection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `operation`         | The dynamic client registration request operation as a String. Possible values: `CREATE`, `UPDATE`, `DELETE`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `clientIdentity`    | The [ScriptedClient](../_attachments/apidocs/org/forgerock/openam/scripting/api/identity/ScriptedClient.html) object 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#dynamic-registration-software-publisher) from the request, including the issuer and required claims.This is an empty map if no software statement is provided.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
