GET /v2/telemetry
Request
# All customer devices
curl -k "https://api.illumience.com:11443/v2/telemetry?from=1709251200&to=1709337600&limit=100" \
-H "Authorization: Bearer <api_key>"
# Specific devices only
curl -k "https://api.illumience.com:11443/v2/telemetry?from=1709251200&to=1709337600&device_ids=66e0b123c0d7400c7d909dba,66e0b456c0d7400c7d909dbb" \
-H "Authorization: Bearer <api_key>"
Query Parameters
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
from | Yes | integer | — | Start time as Unix timestamp (seconds) |
to | Yes | integer | — | End time as Unix timestamp (seconds) |
limit | No | integer | 1000 | Max records per device (1 - 10,000) |
device_ids | No | string | — | Comma-separated MongoDB ObjectId hex strings |
next_cursor | No | float | — | Pagination cursor (applies to all devices) |
Constraints
- Same time range validation as the single-device endpoint
- Maximum 20 devices per request
- If
device_idsis omitted, all customer devices are queried (fails with 400 if the customer has more than 20 devices)
Response 200 OK
{
"devices": [
{
"device_id": 4521,
"total": 50,
"has_more": false,
"next_cursor": null,
"pings": [ ... ]
},
{
"device_id": 4522,
"total": 30,
"has_more": true,
"next_cursor": 1709308801.0,
"pings": [ ... ]
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
devices | array | List of per-device telemetry results |
Per-Device Object:
| Field | Type | Description |
|---|---|---|
device_id | integer | Numeric device identifier |
total | integer | Number of pings returned for this device |
has_more | boolean | Whether more records exist for this device |
next_cursor | float or null | Pagination cursor for this device |
pings | array | Ping objects (same format as single-device endpoint) |
Errors
| Code | Cause |
|---|---|
| 400 | Missing from/to, invalid range, too many devices, invalid ObjectId in device_ids |