Skip to Content
edgebootDevicesDevice network metrics

Device network metrics

GET/api/v1/integrations/devices/{device_id}/network/{resource}Devices

Returns network time-series metrics for a device from Amazon Timestream (historical_metrics). The same route handles five resources; choose one via the resource path segment: latency, packet-loss, jitter, metrics, or lte. The account is resolved from the Bearer token; the device must belong to that account.

Invalid interval or time_bucket (or unknown query parameters) returns 400 with success: false, a text message describing the validation errors, and request_id when available.

Authentication
Bearer access token
Content-Type
application/json

Path parameters

ParameterTypeRequiredDescription
device_idstringYesDevice identifier used by the integration API (often the device serial; align with Get Device).
resourcestringYesMetric family to query. Must be exactly one of the values in the table below.

resource values

resourceDescription
latencyNetwork latency measurements over the requested window.
packet-lossPacket loss metrics over the requested window.
jitterJitter metrics over the requested window.
metricsComprehensive network metrics for the device.
lteLTE radio metrics per time bucket: RSSI (dBm) and CSQ (0–30) from `measure_name = stats` / `subsystems = lte`, using the same scaling as internal historical-metrics processing.

Any other resource value returns 404 with success: false and a message listing the allowed values (latency, packet-loss, jitter, metrics, lte).

lte row fields

Each element of data for resource=lte is one time bucket:

FieldTypeDescription
time_bucketstringBucket start (Timestream `BIN(time, time_bucket)`).
interfacestringSubsystem, e.g. `lte`.
avg_rssinumberMean RSSI in dBm for the bucket (after scaling).
min_rssinumberMinimum RSSI in the bucket.
max_rssinumberMaximum RSSI in the bucket.
avg_csqnumberMean CSQ on 0–30 scale for the bucket.
min_csqnumberMinimum CSQ in the bucket.
max_csqnumberMaximum CSQ in the bucket.

If a bucket has no valid samples, min/max/avg fields are 0.

Query parameters

ParameterTypeRequiredDescription
intervalstringNoLookback window for metrics. Default 24h. Must match ^\d+[hd]$ (hours or days), e.g. 1h, 24h, 7d.
time_bucketstringNoAggregation bucket size. Default 1h. Must match ^\d+[mhd]$ (minutes, hours, or days), e.g. 15m, 1h, 1d. Same field accepts query aliases bucket or time_bucket_size.
probe_targetstringNoOptional probe target (e.g. 8.8.8.8) for advance-monitoring series. Default omits the filter. Ignored when resource=lte.

Headers

HeaderValueRequired
AuthorizationBearer <access_token>Yes

Responses

On success, the handler returns an ApiResponse payload (via model_dump) including data as an array of rows for that resource, plus request_id.

HTTPDescription
200`success: true`, `data` = array of `NetworkLatencyMetricsRow` | `NetworkPacketLossMetricsRow` | `NetworkJitterMetricsRow` | `NetworkComprehensiveMetricsRow` | `NetworkLteMetricsRow` (depending on `resource`), `request_id` set.
400Bad request — invalid `interval` / `time_bucket`, or extra query parameters (`success: false`, `text`, `request_id`).
401Unauthorized — invalid or missing Bearer token.
404Unknown `resource`, unresolved account/device, or service reported not-found (`success: false`, `text`, `request_id`).
500Service or Timestream error (`success: false`, `text`, `request_id`).

Examples

Defaults match the API model: interval=24h, time_bucket=1h if you omit query params.

Last updated on