Updates field values for an existing device. Optionally, updates the device name (or device_identifier
). Device ID cannot be changed.
The Update device operation is destructive to the fields
array. The field values in your request overwrite existing field values for the device. Omitting field values from the request causes existing values to be deleted.
curl -X PUT 'https://one.digicert.com/iot/api/v1/device/{{device_identifier}}?division_id=fd5faa1e-623a-47a9-831b-b9397c33395f' \
-H 'x-api-key: {{api_key}}' \
-H 'Content-Type: application/json' \
--data-raw '{
"device_identifier": "New Device",
"fields": [
{
"id": "417c328e-604c-4e94-9112-ee58f12277fb",
"value": "updated mandatory value"
},
{
"id": "90eb4de2-ae8a-48a0-a904-d30c5ab6e1de",
"value": "updated optional value"
}
]
}'
{
"id": "64c02969-3890-4da8-a5ef-b574fd72887e",
"account_id": "1d1ec1ec-6502-11e9-a923-1681be663d3e",
"division": {
"id": "fd5faa1e-623a-47a9-831b-b9397c33395f",
"name": "Mock Division 1"
},
"device_identifier": "New Device",
"device_profile": {
"id": "a81a431a-be7b-4f2e-8afd-b2778491511f",
"name": "Device Profile"
},
"created": "2020-04-22T07:13:20Z",
"updated": "2020-04-24T09:23:21Z",
"status": "ACTIVE",
"fields": [
{
"id": "417c328e-604c-4e94-9112-ee58f12277fb",
"name": "Mandatory Field",
"value": "updated mandatory value",
"mandatory": true
},
{
"id": "90eb4de2-ae8a-48a0-a904-d30c5ab6e1de",
"name": "Optional Field",
"value": "updated optional value",
"mandatory": false
}
],
"device_api_allow_read": true,
"device_api_allow_write": true,
"device_api_allow_renew_certificate": true
}
{
"errors": [
{
"code": "invalid_input",
"message": "Device with division fd5faa1e-623a-47a9-831b-b9397c33395f and identifier Old Device does not exist"
}
]
}
Name | Req/Opt | Description |
---|---|---|
device_identifier | required |
The name (or device_identifier ) of the device to update.To get a list of devices and their identifiers, use the Device list endpoint. |
Name | Req/Opt | Description |
---|---|---|
division_id | required |
ID of the division for the device. To get a list of devices and their division IDs, use the Device list endpoint. |
Name | Req/Opt | Type | Description |
---|---|---|---|
device_identifier | optional | string | New name for the device. |
fields | defined in device profile | array | Array of fields that describe device attributes and settings. |
.. id | - | string |
Existing field ID as defined in device profile. To get field IDs for a device, use the Get device details endpoint. |
.. value | - | string |
New field value. Character limit: 1024 |
device_api_allow_read | optional | boolean |
Whether the device can read its own device information. This setting applies to calls on the Get device details by ID (client authentication) endpoint that use TLS authentication. |
device_api_allow_write | optional | boolean |
Whether the device can update its own device information. This setting applies to calls on the Update device by ID (client authentication) endpoint that use TLS authentication. |
device_api_allow_renew_certificate | optional | boolean |
Whether the device can renew its own certificates. This setting applies to calls on the Renew device certificate by device ID (client authentication) endpoint that use TLS authentication. |
Name | Type | Description |
---|---|---|
id | string | Unique device ID created for the new device. |
account_id | string | Account ID. |
division | object | Division container. |
.. id | string | Division ID. |
.. name | string | Division name. |
device_identifier | string | Unique device name. |
device_profile | object | Device profile container. |
.. id | string | Device profile ID. |
.. name | string | Device profile name. |
created | string | Date and time (UTC) device was created. |
updated | string | Date and time (UTC) device was last updated. |
status | string | Device status. |
fields | array | Array of fields that describe device attributes and settings. |
.. id | string | Unique field ID. |
.. name | string | Field name. |
.. value | string | Field value. |
.. mandatory | bool | Whether or not the field is required, based on the device profile. |
device_api_allow_read | boolean |
Whether the device can read its own device information. This setting applies to calls on the Get device details by ID (client authentication) endpoint that use TLS authentication. |
device_api_allow_write | boolean |
Whether the device can update its own device information. This setting applies to calls on the Update device by ID (client authentication) endpoint that use TLS authentication. |
device_api_allow_renew_certificate | boolean |
Whether the device can renew its own certificates. This setting applies to calls on the Renew device certificate by device ID (client authentication) endpoint that use TLS authentication. |