DataStreams

Device datastream operations

Get device datastream values

get

Retrieve current values for datastreams of a device using datastream IDs

Required permissions, when user-scoped authentication is used: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can read datastreams only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
deviceIdinteger · int32Required

Device ID

dataStreamIdsinteger · int32[]Optional

Optional list of datastream IDs to filter results

Responses
200

Datastream values

application/json
dataStreamIdinteger · int32Required

DataStream ID

Example: 201
pinstringRequired

DataStream pin

Example: v10
dataStreamLabelstringRequired

DataStream label

Example: Temperature_Sensor
dataStreamAliasstringRequired

DataStream alias

Example: Temperature Sensor
valueone ofOptional
stringOptional

String datastream value

Example: Some DataStream Value
or
number · doubleOptional

Double, integer or enum datastream value

Example: 22.2
or
number · double[] · min: 2 · max: 2Optional

Location datastream value. Represented as an array of two elements, where the first is longitude, and the second is latitude.

Example: [13.38886,52.517037]
updatedAtinteger · int64Optional

Last update timestamp

Example: 1707245800000
get
/api/v2/organization/device/datastreams

Get datastreams values for multiple devices

get

Retrieve current values for datastreams across multiple devices in batch. Maximum of 10 devices per request.

If any device is not found or you don't have access to it, the device will be ignored.

Required permissions, when user-scoped authentication is used: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens return data only for owned devices unless ORG_DEVICES_VIEW is granted; inaccessible devices are skipped.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
deviceIdsinteger · int32[] · max: 10Required

List of device IDs

dataStreamIdsinteger · int32[]Optional

Optional list of datastream IDs to filter results

Responses
200

Batch datastream values

application/json
deviceIdinteger · int32RequiredExample: 101
get
/api/v1/organization/device/datastreams/batch

Get datastream history

get

Retrieve historical data for a specific datastream

Required permissions, when user-scoped authentication is used: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can read history only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
deviceIdinteger · int32Required

Device ID

dataStreamIdinteger · int32Required

DataStream ID (alternative to pin)

frominteger · int64Required

Start timestamp (Unix epoch milliseconds)

tointeger · int64Required

End timestamp (Unix epoch milliseconds)

pageinteger · int32Optional

Page number (0-indexed)

Default: 0
sizeinteger · int32 · min: 1 · max: 1000Optional

Page size (max 1000)

Default: 50
Responses
200

Historical data

application/json
totalElementsinteger · int64RequiredExample: 1
get
/api/v1/organization/device/datastream/history

Update single datastream value

post

Update the value of a specific datastream

Required permissions, when user-scoped authentication is used: ORG_DEVICES_CONTROL. Required device view permission: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can update datastreams only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Body
deviceIdinteger · int32Required

Device ID

Example: 101
dataStreamIdinteger · int32Required

DataStream ID

Example: 1
valueone ofRequired
stringOptional

String datastream value

Example: Some DataStream Value
or
number · doubleOptional

Double, integer or enum datastream value

Example: 22.2
or
number · double[] · min: 2 · max: 2Optional

Location datastream value. Represented as an array of two elements, where the first is longitude, and the second is latitude.

Example: [13.38886,52.517037]
Responses
post
/api/v1/organization/device/datastream

No content

Update multiple datastream values

post

Update values for multiple datastreams of a single device.

Invalid datastream IDs or values with mismatched types are silently skipped (no error is returned for individual entries).

Required permissions, when user-scoped authentication is used: ORG_DEVICES_CONTROL. Required device view permission: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can update datastreams only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Body
deviceIdinteger · int32Required

Device ID

Example: 101
Responses
post
/api/v1/organization/device/datastreams

No content

Batch update datastream values for multiple devices

post

Update datastream values for multiple devices in a single request. The product is automatically derived from the first valid device in the batch. All devices must belong to the same product (validated via original product ID to support sub-products/variants).

The fields array defines the column schema: the first element must be "deviceId", followed by datastream labels (e.g., "Temperature", "Humidity"). Each entry in updates is an array matching the fields schema. Use null to skip a datastream for a given device.

Maximum of 10,000 updates per request.

When all rows succeed, the endpoint returns 204 No Content. When some rows are skipped (invalid device, no access, wrong product, etc.), the endpoint returns 200 OK with a JSON body reporting either:

  • Counter mode (default): generic counters per error category

  • Debug mode ("debug": true): detailed per-row skip reasons (at most 100)

When no valid device is found to derive the product, the endpoint returns 400 Bad Request.

Required permissions, when user-scoped authentication is used: ORG_DEVICES_CONTROL. Required device view permission: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can update datastreams only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Body
fieldsstring[] · min: 2Required

Column schema. The first element must be "deviceId". Remaining elements are datastream labels to update.

Example: ["deviceId","Temperature","Humidity"]
debugbooleanOptional

When true, the response includes detailed per-row skip reasons (max 100). When false (default), the response includes only generic error counters.

Default: false
Responses
200

Partial success — some rows were skipped

application/json
skippedRowsstring[]Optional

Detailed per-row skip reasons (only when debug is true, max 100)

invalidRowSizeintegerOptional

Number of rows with incorrect array length (counter mode)

nullDeviceIdintegerOptional

Number of rows with null deviceId (counter mode)

nonNumericDeviceIdintegerOptional

Number of rows with non-numeric deviceId (counter mode)

deviceNotFoundintegerOptional

Number of rows where device was not found or no org access (counter mode)

noAccessToDeviceintegerOptional

Number of rows where per-device access check failed (counter mode)

wrongProductintegerOptional

Number of rows where device belongs to a different product (counter mode)

post
/api/v1/organization/product/devices/batch-update

Import batch data

post

Import historical data for device in batch.

A per-device rate limit applies to import operations. Data points with timestamps more than 1 month in the future are silently skipped. Maximum of 10,000 data points per request.

Required permissions, when user-scoped authentication is used: ORG_DEVICE_DATA_IMPORT. Required device view permission: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can import data only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Body
deviceIdinteger · int32Required

Device ID

Example: 101
dataStreamIdinteger · int32Required

DataStream ID

Example: 1
Responses
post
/api/v1/organization/device/import/batch

No content

Update datastream widget property

post

Update a widget property for a datastream (label, color, min, max, etc.).

The value must be in the correct format for the given property. Returns 400 if the format is invalid.

Required permissions, when user-scoped authentication is used: ORG_DEVICES_CONTROL. Required device view permission: OWN_DEVICES_VIEW or ORG_DEVICES_VIEW. User-scoped tokens can update properties only for owned devices unless ORG_DEVICES_VIEW is granted.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Body
deviceIdinteger · int32Required

Device ID

Example: 101
dataStreamIdinteger · int32Required

DataStream ID

Example: 1
propertystring · enumRequired

Widget property to update

Example: colorPossible values:
valuestring · max: 200Required

New property value

Example: #FF0000
Responses
post
/api/v1/organization/device/datastream/property

No content

Last updated

Was this helpful?