Create Or Update Device (saveDevice)
Create or update the Device. When creating device, platform generates Device Id as time-based UUID. Device credentials are also generated if not provided in the 'accessToken' request parameter. The newly created device id will be present in the response. Specify existing Device id to update the device. Referencing non-existing device Id will cause 'Not Found' error.
Device name is unique in the scope of tenant. Use unique identifiers like MAC or IMEI for the device names and non-unique 'label' field for user-friendly visualization purposes.Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Device entity.
Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.
Query parameters
Optional value of the device credentials to be used during device creation. If omitted, access token will be auto-generated.
Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs.
Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'.
Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1.
Request body
Example request
{
"id": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "DEVICE"
},
"createdTime": 1609459200000,
"tenantId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "TENANT"
},
"customerId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "CUSTOMER"
},
"name": "A4B72CCDFF33",
"type": "Temperature Sensor",
"label": "Room 234 Sensor",
"deviceProfileId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "DEVICE_PROFILE"
},
"firmwareId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "OTA_PACKAGE"
},
"softwareId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "OTA_PACKAGE"
},
"additionalInfo": {}
}Response
OK
Example response
{
"id": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "DEVICE"
},
"createdTime": 1609459200000,
"tenantId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "TENANT"
},
"customerId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "CUSTOMER"
},
"name": "A4B72CCDFF33",
"type": "Temperature Sensor",
"label": "Room 234 Sensor",
"deviceProfileId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "DEVICE_PROFILE"
},
"firmwareId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "OTA_PACKAGE"
},
"softwareId": {
"id": "784f394c-42b6-435a-983c-b7beff2784f9",
"entityType": "OTA_PACKAGE"
},
"additionalInfo": {}
}