Skip to Content
edgebootDevicesNetwork MetricsGet device network metrics

Get device network metrics

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

Returns network time-series metrics for a device. 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.

To fetch metrics for several devices in one request, use Get devices network metrics.

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
serial_numberstringYesDevice serial number (the same value used by 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 in UTC, e.g. `2026-05-06 11:00:00.000000000`.
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 metrics store error (`success: false`, `text`, `request_id`).

Success payload examples (200)

Examples

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

Last updated on