---
title: DeviceBinding
description: Resource path:
component: pingam
version: 8.1
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
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-gettype: getType
  sec-amster-entity-devicebinding-realm-ops-getupgradedconfig: getUpgradedConfig
  sec-amster-entity-devicebinding-realm-ops-query: query
  sec-amster-entity-devicebinding-realm-ops-read: read
  sec-amster-entity-devicebinding-realm-ops-update: update
  sec-amster-entity-devicebinding-realm-ops-versioninfo: versionInfo
---

# DeviceBinding

## Realm Operations

Resource path:

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

Resource version: `3.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" : {
      "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 'DeviceBinding.DEVICE'. The provided 'Device Binding Storage Node' can be used for this purpose.",
        "propertyOrder" : 680,
        "type" : "boolean",
        "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" : ""
      },
      "description" : {
        "title" : "Description",
        "description" : "The description to be displayed on the biometric prompt.",
        "propertyOrder" : 400,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "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" : ""
      },
      "authenticationType" : {
        "title" : "Authentication Type",
        "description" : "Select the authentication type for accessing the Keys in the device.",
        "propertyOrder" : 100,
        "type" : "string",
        "exampleValue" : ""
      },
      "title" : {
        "title" : "Title",
        "description" : "The title to be displayed on the biometric prompt.",
        "propertyOrder" : 200,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "clientErrorOutcomes" : {
        "title" : "Client Error Outcomes",
        "description" : "Specify the client error outcomes",
        "propertyOrder" : 700,
        "items" : {
          "type" : "string"
        },
        "type" : "array",
        "exampleValue" : ""
      },
      "skewAllowance" : {
        "title" : "Skew Allowance",
        "description" : "Defines the maximum allowed clock difference in seconds between the end-user device and PingAM.",
        "propertyOrder" : 800,
        "type" : "integer",
        "exampleValue" : ""
      },
      "subtitle" : {
        "title" : "Subtitle",
        "description" : "The subtitle to be displayed on the biometric prompt.",
        "propertyOrder" : 300,
        "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" : ""
      },
      "timeout" : {
        "title" : "Timeout",
        "description" : "The number of seconds to wait for a valid device to be bound before failing.",
        "propertyOrder" : 600,
        "type" : "integer",
        "exampleValue" : ""
      }
    },
    "required" : [ "postponeDeviceProfileStorage", "attestation", "description", "maxSavedDevices", "authenticationType", "title", "clientErrorOutcomes", "skewAllowance", "subtitle", "applicationIds", "timeout" ]
  }
  ```

### delete

**Usage**

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

**Parameters**

* *\--id*

  The unique identifier for the resource.

### getType

List information related to the node such as a name, description, tags and metadata.

**Usage**

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

### getUpgradedConfig

Get the upgraded configuration for the node type.

**Usage**

```
am> action DeviceBinding --realm Realm --body body --actionName getUpgradedConfig --targetVersion targetVersion
```

**Parameters**

* *\--body*

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

  ```json
  {
    "type" : "object",
    "title" : "The current configuration of the node type."
  }
  ```

* *\--targetVersion*

  \=== 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
  {
    "description" : "Some configuration of the node. This does not need to be complete against the configuration schema.",
    "type" : "object",
    "title" : "Node configuration"
  }
  ```

### 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" : {
      "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 'DeviceBinding.DEVICE'. The provided 'Device Binding Storage Node' can be used for this purpose.",
        "propertyOrder" : 680,
        "type" : "boolean",
        "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" : ""
      },
      "description" : {
        "title" : "Description",
        "description" : "The description to be displayed on the biometric prompt.",
        "propertyOrder" : 400,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "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" : ""
      },
      "authenticationType" : {
        "title" : "Authentication Type",
        "description" : "Select the authentication type for accessing the Keys in the device.",
        "propertyOrder" : 100,
        "type" : "string",
        "exampleValue" : ""
      },
      "title" : {
        "title" : "Title",
        "description" : "The title to be displayed on the biometric prompt.",
        "propertyOrder" : 200,
        "patternProperties" : {
          ".*" : {
            "type" : "string"
          }
        },
        "type" : "object",
        "exampleValue" : ""
      },
      "clientErrorOutcomes" : {
        "title" : "Client Error Outcomes",
        "description" : "Specify the client error outcomes",
        "propertyOrder" : 700,
        "items" : {
          "type" : "string"
        },
        "type" : "array",
        "exampleValue" : ""
      },
      "skewAllowance" : {
        "title" : "Skew Allowance",
        "description" : "Defines the maximum allowed clock difference in seconds between the end-user device and PingAM.",
        "propertyOrder" : 800,
        "type" : "integer",
        "exampleValue" : ""
      },
      "subtitle" : {
        "title" : "Subtitle",
        "description" : "The subtitle to be displayed on the biometric prompt.",
        "propertyOrder" : 300,
        "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" : ""
      },
      "timeout" : {
        "title" : "Timeout",
        "description" : "The number of seconds to wait for a valid device to be bound before failing.",
        "propertyOrder" : 600,
        "type" : "integer",
        "exampleValue" : ""
      }
    },
    "required" : [ "postponeDeviceProfileStorage", "attestation", "description", "maxSavedDevices", "authenticationType", "title", "clientErrorOutcomes", "skewAllowance", "subtitle", "applicationIds", "timeout" ]
  }
  ```

### versionInfo

List the versions available for the node type.

**Usage**

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