Traffic
Wi-Fi traffic per device over time — the series behind the traffic chart in the monthly downtime report. One row per device per bucket, with the bytes that moved inside it.
Bytes are deltas within the bucket, never running counters, so summing rows over a range gives the total for that range.
Traffic series GET /v1/traffic
Returns received and sent bytes per device per bucket, oldest first.
Query parameters
fromdateFirst day of the range,
YYYY-MM-DDin Philippine time. Omit bothfromandtofor the current calendar month.todateLast day of the range, inclusive. The range must be 92 days or less.
intervalstringBucket width:
day(default),hour, ormonth. Hourly data is kept for 90 days; daily and monthly are kept indefinitely.gatewayIdstringRestrict to one device. Matches
gatewayIdon/v1/devices.workspaceIdstringScope to a single workspace. Must be one returned by
GET /v1/workspaces. An id outside your token's set returns403.pageSizeintegerRows per page, 1–5000. Defaults to 500.
pageTokenstringnextPageTokenfrom the previous response.
Response object
timetimestampStart of the bucket.
siteCodestringSite the device belongs to.
deviceNamestringDisplay name of the device.
gatewayIdstringUnique identifier of the device.
rxBytesintegerBytes received in the bucket — downlink, what reached the network.
txBytesintegerBytes sent in the bucket — uplink, what left it.
- cURL
- JavaScript
- Go
- PHP
curl "https://polaris.revlv.com/v1/traffic?from=2026-04-01&to=2026-04-30" \
-H "Authorization: Bearer {token}"
const res = await fetch(
'https://polaris.revlv.com/v1/traffic?from=2026-04-01&to=2026-04-30',
{ headers: { 'Authorization': 'Bearer {token}' } },
);
const { data } = await res.json();
req, _ := http.NewRequest("GET",
"https://polaris.revlv.com/v1/traffic?from=2026-04-01&to=2026-04-30", nil)
req.Header.Add("Authorization", "Bearer {token}")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
$response = $client->get('https://polaris.revlv.com/v1/traffic', [
'headers' => ['Authorization' => 'Bearer {token}'],
'query' => ['from' => '2026-04-01', 'to' => '2026-04-30'],
]);
echo $response->getBody();
{
"data": [
{
"time": "2026-04-01T00:00:00Z",
"siteCode": "PH1-2026-549",
"deviceName": "AP1_Inside of Barangay Hall Office",
"gatewayId": "G1TA2FM00455A",
"rxBytes": 21474836480,
"txBytes": 3221225472
},
{
"time": "2026-04-02T00:00:00Z",
"siteCode": "PH1-2026-549",
"deviceName": "AP1_Inside of Barangay Hall Office",
"gatewayId": "G1TA2FM00455A",
"rxBytes": 18253611008,
"txBytes": 2684354560
}
],
"pageInfo": {
"hasNextPage": false,
"nextPageToken": ""
}
}