Device Management REST API (1.0)

Download OpenAPI specification:Download

This API provides an interface manage devices.

Device Management REST API

Token

Get ID Token

Returns ID Token after successful authentication with Cognito

Request Body schema: application/json
required
username
string

The Cognito username

password
string

The Cognito password

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "IdToken": "string"
}

Connect keys

Creates customer's Connect Keys for a site

Connect keys are used to onboard a logger (e.g. QSR Logger, T2 Logger) or device (e.g. wireless gateway). There will be only one connect key for each site. Based on that, we know which logger/device belongs to which site.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "site": "string",
  • "connect_key": "string"
}

Get customer's Connect Keys for a site

Connect keys are used to onboard a logger (e.g. QSR Logger, T2 Logger) or device (e.g. wireless gateway). There will be only one connect key for each site. Based on that, we know which logger/device belongs to which site.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "site": "string",
  • "connect_key": "string"
}

CORS support

Enable CORS by returning correct headers

Responses

Device Management

Get devices

Get a list of all registered devices for the authenticated user and site

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "devices": [
    ]
}

CORS support

Enable CORS by returning correct headers

Responses

Get a device for a given uuid

Get a registered device for a given uuid for the authenticated user and site

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z",
  • "customer_uuid": "e7eefd45-cb13-4c62-b229-e5bbc1362123",
  • "product_family": "PF_ANY",
  • "customer_site": "string",
  • "serial_number": "strings",
  • "model_code": "stringst",
  • "firmware": {
    },
  • "sensors_connections": [
    ],
  • "capability": {
    },
  • "setting": {
    },
  • "status": {
    }
}

Modifies the settings of device for a given uuid

Modifies the settings of device for a given uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
name
string

Name of the device

measuring_cycle
integer <int32> >= 1000

Cycle time for measurement in ms (frequency the device is taking the measurements)

communication_cycle_normal
integer <int32> >= 1000

Cycle time for communication in normal mode in ms (requency with which the measurement data updated). The communication cycle should always be a multiple of the measuring cycle

display_switched_on
boolean

Is the display of the device switched on. This setting is only relevant for devices with a display and if set for other devices type it will be ignored.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "measuring_cycle": 1000,
  • "communication_cycle_normal": 1000,
  • "display_switched_on": true
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Removes the device for the specified uuid

Removes the device for the specified UUID. All underlying sensors are also removed (this only applies to non-wireless sensors).

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Device Management V2

Modifies the settings of device for a given uuid

Modifies the settings of device for a given uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
name
string

Name of the device

active
boolean

State of the device. True means regular operation. False means that regular operation is paused and the device is waiting to be activated again. Setting false is only permitted, if the device supports deactivation, see device_capabilities.

measuring_cycle
integer >= 1000

Cycle time for measurement in ms (frequency the device is taking the measurements)

communication_cycle_normal
integer >= 1000

Cycle time for communication in normal mode in ms (requency with which the measurement data updated). The communication cycle should always be a multiple of the measuring cycle

communication_cycle_power_saving
integer >= 1000

cycle time for communication in power saving mode in ms

communication_cycle_normal_start
string^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$

start of normal mode for communication cycle in timezone configured in timezone setting.

communication_cycle_power_saving_start
string^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$

start of power saving mode for communication cycle in timezone configured in timezone setting.

display_switched_on
boolean

Is the display of the device switched on. This setting is only relevant for devices with a display and if set for other devices type it will be ignored.

sum_reset_interval
string
Enum: "UNKNOWN" "DAILY" "WEEKLY" "MONTHLY" "UNRECOGNIZED"
battery_type
string
Enum: "UNKNOWN" "ENERGIZER_PHOTO_LITHIUM" "ALKALINE" "NIMH" "LITHIUM" "NICD" "UNRECOGNIZED"

battery type of the device

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "active": true,
  • "measuring_cycle": 1000,
  • "communication_cycle_normal": 1000,
  • "communication_cycle_power_saving": 1000,
  • "communication_cycle_normal_start": "string",
  • "communication_cycle_power_saving_start": "string",
  • "display_switched_on": true,
  • "sum_reset_interval": "UNKNOWN",
  • "battery_type": "UNKNOWN"
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Sensor Management

Get sensors

Get a list of all registered sensors for the authenticated user and site

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "sensors": [
    ]
}

CORS support

Enable CORS by returning correct headers

Responses

Get the sensor for a given uuid

Get a registered sensor for a given uuid for the authenticated user and site

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "firmware": {
    },
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z",
  • "customer_site": "string",
  • "serial_number": "strings",
  • "model_code": "string",
  • "device_connection": {
    },
  • "capability": {
    },
  • "setting": {
    },
  • "status": {
    },
  • "channels": [
    ]
}

Modifies the configuration of sensor for a given uuid

Modifies the configuration of sensor for a given uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
required
object (SensorSettingRequest)
required
Array of objects (ChannelRequest)

List of channels including their settings

Responses

Request samples

Content type
application/json
{
  • "setting": {
    },
  • "channels": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Removes the sensor for a given uuid

Removes the sensor for a given uuid. The sensor is unmounted from the device and the receives sensor leave information

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Sensor Management V2

Modifies the configuration of sensor for a given uuid

Modifies the configuration of sensor for a given uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
required
object (SensorSettingRequestV2)
required
Array of objects (ChannelRequest)

List of channels including their settings

Responses

Request samples

Content type
application/json
{
  • "setting": {
    },
  • "channels": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Device Alarm Configuration

Updates the alarm confiuration for a given device uuid.

Updates the alarm confiuration for a given device uuid. Only device related alarm can be configured with this endpoint.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
required
Array of objects (AlarmCondition)

The alarm conditions for the device/sensor

Responses

Request samples

Content type
application/json
{
  • "alarm_conditions": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Get the alarm configuration for the given device uuid

Get the alarm configuration for the given device uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

valid_at
string
Example: valid_at=yyyy-MM-dd'T'HH:mm:ss'Z'

(Optional) Get object valid at this timestamp

include_invalid
boolean
Default: false

(Optional) Get also invalid/deleted object

Responses

Response samples

Content type
application/json
{
  • "alarm_conditions": [
    ],
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z"
}

Removes alarm configuration for given device uuid

Removes alarm configuration for given device uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Sensor Alarm Configuration

Updates the alarm confiuration for a given sensor uuid.

Updates the alarm confiuration for a given sensor uuid. Only device related alarm can be configured with this endpoint.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
required
Array of objects (AlarmCondition)

The alarm conditions for the device/sensor

Responses

Request samples

Content type
application/json
{
  • "alarm_conditions": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Get the alarm configuration for a given sensor uuid

Get the alarm configuration for a given sensor uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

valid_at
string
Example: valid_at=yyyy-MM-dd'T'HH:mm:ss'Z'

(Optional) Get object valid at this timestamp

include_invalid
boolean
Default: false

(Optional) Get also invalid/deleted object

Responses

Response samples

Content type
application/json
{
  • "alarm_conditions": [
    ],
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z"
}

Removes alarm configuration for given sensor uuid

Removes alarm configuration for given sensor uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Measuring Objects

Creates a measuring object

Creates a measuring object. A measuring object is a physical object e.g. a freezer, fridge or cooling room. This is a object you want to monitor with the loggers. Logical channel define what to measure, they can be created independently from sensor and sensor channel (sensor_channel), which are real physical sensors of a device.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
back_reference
string

Back reference of the measuring object

object (MeasuringSetup)

Responses

Request samples

Content type
application/json
{
  • "back_reference": "string",
  • "measuring_setup": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}

Lists all measuring objects.

Lists all measuring objects of the customer for a given site.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "measuring_objects": [
    ]
}

CORS support

Enable CORS by returning correct headers

Responses

Get the measuring object for a given uuid

Get the measuring object for a given uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z",
  • "customer_site": "string",
  • "back_reference": "string",
  • "measuring_setup": {
    }
}

Modifies the configuration of measuring object for a given uuid

Modifies the configuration of measuring object for a given uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
back_reference
string

Back reference of the measuring object

object (MeasuringSetup)

Responses

Request samples

Content type
application/json
{
  • "back_reference": "string",
  • "measuring_setup": {
    }
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Removes the measuring object for the specified uuid

Removes the measuring object for the specified uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Measuring Object Alarm Configuration

Creates a measuring object alarm configuration

Creates a measuring object alarm configuration. This values will define in which time period measurement based alarm or warnings will be received if a defined value (limit value) is exceeded.

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
required
Array of objects (MeasuringObjectAlarmConditionSet)

The alarm configuration for one measuring object, multiple condition sets are supported for one measuring object

back_reference
string

The back reference from the caller

Responses

Request samples

Content type
application/json
{
  • "alarm_condition_sets": [
    ],
  • "back_reference": "string"
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Gets a measuring object alarm configuration

Gets a measuring object alarm configuration

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "alarm_condition_sets": [
    ],
  • "back_reference": "string",
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z"
}

Removes alarm configuration for given measuring object uuid

Removes alarm configuration for given measuring object uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Measuring Object Instruction Set

Creates a measuring object instruction set

Creates a measuring object instruction set. The parameter defined on the measuring object will always be the leading one over the device parameter (if the device is assigned to the measuring object).

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
required
Array of objects (MeasuringInstruction)

Measuring instructions for different physical properties (unique per physical property)

Responses

Request samples

Content type
application/json
{
  • "measuring_instructions": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Gets a measuring object instruction set

Gets a measuring object instruction set

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "measuring_instructions": [
    ],
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_until": "2019-08-24T14:15:22Z"
}

Removes instruction set for given measuring object uuid

Removes instruction set for given measuring object uuid

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Deleted"
}

CORS support

Enable CORS by returning correct headers

Responses

Global Settings

Updates the global settings

Updates the timezone for the site

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

header Parameters
content-type
required
string

Content-Type header is mandatory and only application/json is supported

Request Body schema: application/json
required
timezone
string

Timezone string from list https://en.wikipedia.org/wiki/List_of_tz_database_time_zones in IANA format. For Example: 'Europe/Berlin'

Responses

Request samples

Content type
application/json
{
  • "timezone": "string"
}

Response samples

Content type
application/json
{
  • "status": "Success",
  • "message": "Updated"
}

Get the global settings

Get the global settings

Authorizations:
cognitoUserPool
query Parameters
site
required
string
Example: site=xxxx

Customer Site

Responses

Response samples

Content type
application/json
{
  • "timezone": "string",
  • "site": "string"
}

CORS support

Enable CORS by returning correct headers

Responses