Skip to content

Get device telemetry

GET
/api/v1/devices/{id}/telemetry
curl --request GET \
--url 'http://localhost:3000/api/v1/devices/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/telemetry?from=2026-03-17T00%3A00%3A00Z&to=2026-03-18T00%3A00%3A00Z&interval=1m' \
--header 'X-API-Key: <X-API-Key>'

Retrieves metric snapshots for a device within a time range, with optional downsampling.

id
required
string format: uuid

Device UUID

from
string
Example
2026-03-17T00:00:00Z

Start of time range (ISO 8601)

to
string
Example
2026-03-18T00:00:00Z

End of time range (ISO 8601)

interval
string
default: 1m
Allowed values: 1m 5m 1h 1d

Aggregation interval for downsampling

Telemetry data retrieved successfully

Media type application/json
object
data
required
Array<object>
object
id
required

Snapshot ID

string
deviceId
required

Device ID

string
timestamp
required

Timestamp of the snapshot

string
cpuUsagePercent

CPU usage percentage (0-100)

object
memoryUsedBytes

Memory used in bytes

object
memoryTotalBytes

Memory total in bytes

object
memoryUsagePercent

Memory usage percentage (computed)

object
diskUsedBytes

Disk used in bytes

object
diskTotalBytes

Disk total in bytes

object
diskUsagePercent

Disk usage percentage (computed)

object
uptimeSeconds

System uptime in seconds

object
restartCount

Number of restarts

object
containersRunning

Running containers count

object
containersFailed

Failed containers count

object
errorCount

Error count in the aggregation window

number
total
required

Total number of snapshots in range

number
Example generated
{
"data": [
{
"id": "example",
"deviceId": "example",
"timestamp": "example",
"cpuUsagePercent": {},
"memoryUsedBytes": {},
"memoryTotalBytes": {},
"memoryUsagePercent": {},
"diskUsedBytes": {},
"diskTotalBytes": {},
"diskUsagePercent": {},
"uptimeSeconds": {},
"restartCount": {},
"containersRunning": {},
"containersFailed": {},
"errorCount": 1
}
],
"total": 1
}

Forbidden — caller lacks required permission

Device not found