---
title: DeviceBinding
description: Resource path:
component: pingam
version: 7.4
page_id: pingam:entity-reference:sec-amster-entity-devicebinding
canonical_url: https://docs.pingidentity.com/pingam/8.1/entity-reference/sec-amster-entity-devicebinding.html
llms_txt: https://docs.pingidentity.com/pingam/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
superseded_by: https://docs.pingidentity.com/pingam/8.1/entity-reference/sec-amster-entity-devicebinding.html
section_ids:
  sec-amster-entity-devicebinding-realm-ops: Realm Operations
  sec-amster-entity-devicebinding-realm-ops-create: create
  sec-amster-entity-devicebinding-realm-ops-delete: delete
  sec-amster-entity-devicebinding-realm-ops-getalltypes: getAllTypes
  sec-amster-entity-devicebinding-realm-ops-getcreatabletypes: getCreatableTypes
  sec-amster-entity-devicebinding-realm-ops-listoutcomes: listOutcomes
  sec-amster-entity-devicebinding-realm-ops-nextdescendents: nextdescendents
  sec-amster-entity-devicebinding-realm-ops-query: query
  sec-amster-entity-devicebinding-realm-ops-read: read
  sec-amster-entity-devicebinding-realm-ops-update: update
---

# DeviceBinding

## Realm Operations

Resource path:

```
/realm-config/authentication/authenticationtrees/nodes/DeviceBindingNode
```

Resource version: `1.0`

### create

**Usage**

```
am> create DeviceBinding --realm Realm --id id --body body
```

**Parameters**

* *\--id*

  The unique identifier for the resource.

* *\--body*

  The resource in JSON format, described by the following JSON schema:

  ```json
  {
    "type" : "object",
    "properties" : {
      "title" : {
        "title" : "Title",
        "description" : "The title to be displayed on the biometric prompt.",
        "propertyOrder" : 200,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "subtitle" : {
        "title" : "Subtitle",
        "description" : "The subtitle to be displayed on the biometric prompt.",
        "propertyOrder" : 300,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "authenticationType" : {
        "title" : "Authentication Type",
        "description" : "Select the authentication type for accessing the Keys in the device.",
        "propertyOrder" : 100,
        "type" : "string",
        "exampleValue" : ""
      },
      "timeout" : {
        "title" : "Timeout",
        "description" : "The number of seconds to wait for a valid device to be bound before failing.",
        "propertyOrder" : 600,
        "type" : "integer",
        "exampleValue" : ""
      },
      "maxSavedDevices" : {
        "title" : "Maximum Saved Devices",
        "description" : "Specify the maximum number of devices to save in a user's profile. 0 for unlimited.",
        "propertyOrder" : 500,
        "type" : "integer",
        "exampleValue" : ""
      },
      "description" : {
        "title" : "Description",
        "description" : "The description to be displayed on the biometric prompt.",
        "propertyOrder" : 400,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "applicationIds" : {
        "title" : "Application Ids",
        "description" : "The Android package name or iOS bundle id that issue the binding request.",
        "propertyOrder" : 150,
        "items" : {
          "type" : "string"
        },
        "minItems" : 1,
        "type" : "array",
        "exampleValue" : ""
      },
      "attestation" : {
        "title" : "Android Key Attestation",
        "description" : "Use the Android hardware key attestation service to verify that the certificates used for device binding are stored securely in the device's hardware-backed keystore. For more information, refer to <a href=\"https://developer.android.com/training/articles/security-key-attestation\">Verifying hardware-backed key pairs with Key Attestation | Android Developers.</a>",
        "propertyOrder" : 650,
        "type" : "boolean",
        "exampleValue" : ""
      },
      "postponeDeviceProfileStorage" : {
        "title" : "Store Device Data in Transient State",
        "description" : "If enabled, the device is not stored directly in the user profile when the node completes successfully. Instead, the device information is placed into the transient state for use by subsequent nodes using the key 'DeviceBindingNode.DEVICE'. The provided 'Device Binding Storage Node' can be used for this purpose.",
        "propertyOrder" : 680,
        "type" : "boolean",
        "exampleValue" : ""
      },
      "clientErrorOutcomes" : {
        "title" : "Client Error Outcomes",
        "description" : "Specify the client error outcomes",
        "propertyOrder" : 700,
        "items" : {
          "type" : "string"
        },
        "type" : "array",
        "exampleValue" : ""
      }
    },
    "required" : [ "title", "subtitle", "authenticationType", "timeout", "maxSavedDevices", "description", "applicationIds", "attestation", "postponeDeviceProfileStorage", "clientErrorOutcomes" ]
  }
  ```

### delete

**Usage**

```
am> delete DeviceBinding --realm Realm --id id
```

**Parameters**

* *\--id*

  The unique identifier for the resource.

### getAllTypes

Obtain the collection of all secondary configuration types related to the resource.

**Usage**

```
am> action DeviceBinding --realm Realm --actionName getAllTypes
```

### getCreatableTypes

Obtain the collection of secondary configuration types that have yet to be added to the resource.

**Usage**

```
am> action DeviceBinding --realm Realm --actionName getCreatableTypes
```

### listOutcomes

List the available outcomes for the node type.

**Usage**

```
am> action DeviceBinding --realm Realm --body body --actionName listOutcomes
```

**Parameters**

* *\--body*

  The resource in JSON format, described by the following JSON schema:

  ```json
  {
    "type" : "object",
    "title" : "Some configuration of the node. This does not need to be complete against the configuration schema."
  }
  ```

### nextdescendents

Obtain the collection of secondary configuration instances that have been added to the resource.

**Usage**

```
am> action DeviceBinding --realm Realm --actionName nextdescendents
```

### query

Get the full list of instances of this collection. This query only supports `_queryFilter=true` filter.

**Usage**

```
am> query DeviceBinding --realm Realm --filter filter
```

**Parameters**

* *\--filter*

  A CREST formatted query filter, where "true" will query all.

### read

**Usage**

```
am> read DeviceBinding --realm Realm --id id
```

**Parameters**

* *\--id*

  The unique identifier for the resource.

### update

**Usage**

```
am> update DeviceBinding --realm Realm --id id --body body
```

**Parameters**

* *\--id*

  The unique identifier for the resource.

* *\--body*

  The resource in JSON format, described by the following JSON schema:

  ```json
  {
    "type" : "object",
    "properties" : {
      "title" : {
        "title" : "Title",
        "description" : "The title to be displayed on the biometric prompt.",
        "propertyOrder" : 200,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "subtitle" : {
        "title" : "Subtitle",
        "description" : "The subtitle to be displayed on the biometric prompt.",
        "propertyOrder" : 300,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "authenticationType" : {
        "title" : "Authentication Type",
        "description" : "Select the authentication type for accessing the Keys in the device.",
        "propertyOrder" : 100,
        "type" : "string",
        "exampleValue" : ""
      },
      "timeout" : {
        "title" : "Timeout",
        "description" : "The number of seconds to wait for a valid device to be bound before failing.",
        "propertyOrder" : 600,
        "type" : "integer",
        "exampleValue" : ""
      },
      "maxSavedDevices" : {
        "title" : "Maximum Saved Devices",
        "description" : "Specify the maximum number of devices to save in a user's profile. 0 for unlimited.",
        "propertyOrder" : 500,
        "type" : "integer",
        "exampleValue" : ""
      },
      "description" : {
        "title" : "Description",
        "description" : "The description to be displayed on the biometric prompt.",
        "propertyOrder" : 400,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "applicationIds" : {
        "title" : "Application Ids",
        "description" : "The Android package name or iOS bundle id that issue the binding request.",
        "propertyOrder" : 150,
        "items" : {
          "type" : "string"
        },
        "minItems" : 1,
        "type" : "array",
        "exampleValue" : ""
      },
      "attestation" : {
        "title" : "Android Key Attestation",
        "description" : "Use the Android hardware key attestation service to verify that the certificates used for device binding are stored securely in the device's hardware-backed keystore. For more information, refer to <a href=\"https://developer.android.com/training/articles/security-key-attestation\">Verifying hardware-backed key pairs with Key Attestation | Android Developers.</a>",
        "propertyOrder" : 650,
        "type" : "boolean",
        "exampleValue" : ""
      },
      "postponeDeviceProfileStorage" : {
        "title" : "Store Device Data in Transient State",
        "description" : "If enabled, the device is not stored directly in the user profile when the node completes successfully. Instead, the device information is placed into the transient state for use by subsequent nodes using the key 'DeviceBindingNode.DEVICE'. The provided 'Device Binding Storage Node' can be used for this purpose.",
        "propertyOrder" : 680,
        "type" : "boolean",
        "exampleValue" : ""
      },
      "clientErrorOutcomes" : {
        "title" : "Client Error Outcomes",
        "description" : "Specify the client error outcomes",
        "propertyOrder" : 700,
        "items" : {
          "type" : "string"
        },
        "type" : "array",
        "exampleValue" : ""
      }
    },
    "required" : [ "title", "subtitle", "authenticationType", "timeout", "maxSavedDevices", "description", "applicationIds", "attestation", "postponeDeviceProfileStorage", "clientErrorOutcomes" ]
  }
  ```
