Skip to content

Device

The Device API manages device registation with the Builder.

When devices are first booted, they will "register" with the builder using their device ID (ClaimID). The device then remains under the management of the Builder until it is "claimed" by a user for management using the "claim" API.

When claimed, the device is redirected to the device cloud when it next invokes the "register" API.

Claim

Claim a device for management by a device cloud.

This is an internal API called by managers which supply a manager account ID.

Once a device has registered itself with the builder, a user can claim the device for management.
Claiming requires providing the unique device Claim ID and the Cloud ID Token.

The claim ID would typically be
printed on the device label during manufacturer. The cloud claim token can be found in the Builder tokens list for
the relevant device cloud.

A claim request may specify the device as a test device where it will not be counted towards the subscription device count.

Endpoint

HTTP
POST /device/claim

Authorized User Role

user

Request Body

FieldTypeRequiredNotes
idstringyesDevice claim ID.
managerAccountIdstringManager Account ID.
certArnstringCertificate ARN.
cloudIdstringyesCloud ID.
deviceToCloudTokenstringyesDeviceToCloud Token.
testbooleanSet to true for test devices.

Response

Object Record.

FieldTypeNotes
deviceobjectDevice object.
productobjectProduct object.

Device

Device object.

FieldTypeNotes
idstringDevice ID.
accountIdstringOwning account ID.
managerAccountIdstringApp account ID.
cloudIdstringOwning cloud ID.
productIdstringOwning product ID.
testbooleanDevice is a test device.

Product

Product object.

FieldTypeNotes
accountIdstringOwning account ID.
descriptionstringProduct description.
idstringProduct ID.
namestringProduct name.
planIdstringOwning plan ID.
suspendedbooleanProduct suspended.
urlstringProduct URL.

Get

The Get API will fetch a device record by its ID (ClaimID).

Endpoint

HTTP
POST /device/get

Authorized User Role

user

Request Body

FieldTypeRequiredNotes
idstringyesDevice Claim ID.

Response

Device Record.

FieldTypeNotes
idstringDevice ID.
accountIdstringOwning account ID.
managerAccountIdstringApp account ID.
cloudIdstringOwning cloud ID.
productIdstringOwning product ID.
testbooleanDevice is a test device.

Find

Find matching devices.

Endpoint

HTTP
POST /device/find

Authorized User Role

user

Request Body

FieldTypeNotes
idstringDevice Claim ID.
cloudIdstringCloud ID.
productIdstringProduct ID.

Query String Options

FieldType
limitnumber
nextobject
prevobject

Response

Paged response.

FieldTypeNotes
dataarrayAn array of Device records.
nextstringPaged cursor to use for the next page of items.
prevstringPages cursor to use for the previous page of items.

Device

FieldTypeNotes
idstringDevice ID.
accountIdstringOwning account ID.
managerAccountIdstringApp account ID.
cloudIdstringOwning cloud ID.
productIdstringOwning product ID.
testbooleanDevice is a test device.

Lookup

Lookup a productId.

Endpoint

HTTP
POST /device/lookup

Authorized User Role

user

Request Body

FieldTypeRequiredNotes
productstringyesProduct claim token.

Response

Product Record.

FieldTypeNotes
accountIdstringOwning account ID.
descriptionstringProduct description.
idstringProduct ID.
namestringProduct name.
planIdstringOwning plan ID.
suspendedbooleanProduct suspended.
urlstringProduct URL.

Register

Register a device when manufactured.

When devices are first booted during manufacturing test, the Ioto device agent will "register" with the builder using its device ID (ClaimID). If the device has been claimed by a user, the API will return a response containing the API address of the managing device cloud and an access token. If the device has not been claimed, the "registered" field will be set to true in the response (alone).

To register, supply the device claim ID and the product token ID. If the device is a test device only, set the "test" field to true
so that the device will not count toward your Ioto agent subscription count.
.

Endpoint

HTTP
POST /device/register

Authorized User Role

public

Request Body

FieldTypeRequiredNotes
idstringyesDevice Claim ID.
accountstringManager Account ID if auto claiming.
cloudstringCloud ID if auto claiming.
productstringyesProduct ID Token.
testbooleanSet to true for test devices.
*any

Response

Object Record.

FieldTypeNotes
apistringAPI endpoint for the device cloud that claimed the device.
tokenstringAccess token for requests to the device cloud.
registeredbooleanSet to true when registered.
cloudTypestringType of cloud hosting.
cloudNamestringCloud name.
cloudRegionstringCloud geographical region.

Release

Release a device from management by a device cloud

Releasing a device returns it to the builder to be available for claiming by another cloud.

Endpoint

HTTP
POST /device/release

Authorized User Role

user

Request Body

FieldTypeRequiredNotes
idstringyesDevice claim ID.
cloudIdstringCloud ID for release by the manager.
callbackbooleanCallback the builder flag.
certArnstringCertificate ARN.

Remove

Remove a device from the builder.

If the device has been claimed by a device cloud, it should be released before being removed.

Endpoint

HTTP
POST /device/remove

Authorized User Role

admin

Request Body

FieldTypeRequiredNotes
idstringyesDevice claim ID.

RemoveAll

Remove all devices.

Endpoint

HTTP
POST /device/removeAll

Authorized User Role

owner

Request Body

FieldTypeRequiredNotes
productIdstringyesProduct ID.

Response

Number Record.