Skip to content

Read the latest telemetry of a granted device

GET
/integration/v1/organizations/{organization}/devices/{uuid}/telemetry/latest
curl --request GET \
--url https://api.elwids.xyz/api/integration/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/devices/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/telemetry/latest \
--header 'Authorization: Bearer <token>'

Requires: telemetry:read

Rate limits: 240 a minute per address, 60 a minute per application

Retained latest values with their quality and timestamps, from the device runtime. 503 when the runtime is not configured or unavailable; never an empty result in its place.

organization
required
string format: uuid

The organization UUID. A value that does not match returns 404.

uuid
required
string format: uuid

A value that does not match returns 404.

telemetry-latest.v1.

Media typeapplication/json

telemetry-latest.v1: the retained latest value of each parameter.

object
schema_version
required
Allowed value: telemetry-latest.v1
device_uuid
required
string format: uuid
configuration_uuid
required

The applied configuration, else the last one the runtime confirmed.

string | null format: uuid
presence
required

online, offline or unknown.

string
data
required

Empty for a device without a configuration, never zeros.

Array<object>
object
parameter_uuid
required
string format: uuid
key
required
string
label
required
string
data_type
required

boolean, integer, number, string, timestamp or bytes.

string
unit
required
string | null
value
required

A reading’s value; its type follows the parameter’s data_type.

string | number | boolean | null
quality
required

good, invalid or stale; inactive when ingestion is disabled and the last valid reading is retained. Receiving it does not make a value fresh.

string
observed_at
required
string format: date-time
received_at
required
string format: date-time
last_valid_received_at
string format: date-time
timestamp_source

source, receipt, corrected_future or derived.

string
historical
required
boolean

Example

{
"schema_version": "telemetry-latest.v1",
"device_uuid": "3f8a1c2e-5b6d-4e7f-8a9b-0c1d2e3f4a5b",
"configuration_uuid": "8e7d6c5b-4a39-4281-9f0e-1d2c3b4a5968",
"presence": "online",
"data": [
{
"parameter_uuid": "6d2e3f4a-5b6c-4d7e-8f9a-0b1c2d3e4f5a",
"key": "battery",
"label": "Battery",
"data_type": "number",
"unit": "%",
"value": 87.5,
"quality": "good",
"observed_at": "2026-10-12T08:14:50Z",
"received_at": "2026-10-12T08:14:52Z",
"timestamp_source": "source",
"historical": false
}
]
}
Cache-Control
required
string
/(^|[ ,])no-store([ ,]|$)/

Responses to authenticated integration requests are never cached. The header also carries private.

Example
no-store, private

No valid credentials: no session (first-party API), or a missing, invalid, expired or revoked application token (integration API).

Media typeapplication/json

The body of most error responses.

object
message
required
string

Example generated

{
"message": "example"
}

The caller is not allowed: not a member of the organization, missing a tenant or platform permission, or (integration API) an ability not granted on both the application and the token.

Media typeapplication/json

The body of most error responses.

object
message
required
string

Example generated

{
"message": "example"
}

Not found: an unknown organization or resource, a resource in another organization or not granted to the application, or a malformed identifier (the route does not match).

Media typeapplication/json

The body of most error responses.

object
message
required
string

Example generated

{
"message": "example"
}

A rate limit was reached; see x-rate-limits on the operation.

Media typeapplication/json

The body of most error responses.

object
message
required
string

Example generated

{
"message": "example"
}
Retry-After
required
integer

Seconds to wait before retrying.

The device runtime is not configured, unavailable, or could not complete the request.

Media typeapplication/json

The body of most error responses.

object
message
required
string

Example generated

{
"message": "example"
}

Report a problem with this page