Client Counts
Unique clients per device per day — the series behind the client chart in the monthly downtime report. For today's totals only, see Connected Clients; for per-client records, see Clients.
A client that roams between two access points at the same site is counted once against each, because the count is per device. Summing a site's rows therefore over-counts that site.
Daily client counts GET /v1/client_counts
Returns the number of distinct client MAC addresses seen per device per day, 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.
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
daydateThe day the clients were seen,
YYYY-MM-DD.siteCodestringSite the device belongs to.
deviceNamestringDisplay name of the device.
gatewayIdstringUnique identifier of the device.
clientCountintegerDistinct client MAC addresses seen on this device that day.
- cURL
- JavaScript
- Go
- PHP
curl "https://polaris.revlv.com/v1/client_counts?from=2026-04-01&to=2026-04-30" \
-H "Authorization: Bearer {token}"
const res = await fetch(
'https://polaris.revlv.com/v1/client_counts?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/client_counts?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/client_counts', [
'headers' => ['Authorization' => 'Bearer {token}'],
'query' => ['from' => '2026-04-01', 'to' => '2026-04-30'],
]);
echo $response->getBody();
{
"data": [
{
"day": "2026-04-01",
"siteCode": "PH1-2026-549",
"deviceName": "AP1_Inside of Barangay Hall Office",
"gatewayId": "G1TA2FM00455A",
"clientCount": 34
},
{
"day": "2026-04-02",
"siteCode": "PH1-2026-549",
"deviceName": "AP1_Inside of Barangay Hall Office",
"gatewayId": "G1TA2FM00455A",
"clientCount": 28
}
],
"pageInfo": {
"hasNextPage": false,
"nextPageToken": ""
}
}