Alerts
The individual alerts behind the availability figures — one row per raise, with when it opened, when it closed, and how much of it fell inside the period you asked for.
/v1/availability totals a device's outages into a single share of the month; this endpoint is the raise-by-raise detail underneath it, drawn from the same records so the two never disagree.
downMinutes is clipped to the window: an alert that opened before the period counts only from the first minute of it, and one that has not closed counts up to the end of the period — or to the present, if the period runs past now.
An alert with no clearedAt is still open.
Alerts per device GET /v1/alerts
Returns every alert that overlapped the period, oldest first.
Query parameters
fromdateFirst day of the period,
YYYY-MM-DDin Philippine time. Omit bothfromandtofor the current calendar month.todateLast day of the period, inclusive. The range must be 92 days or less.
codestringRestrict to one or more alert codes, e.g.
reyee_device_offline. Repeat the parameter or pass a comma separated list. Multiple values mean any of them.statusstringopenfor alerts that have not cleared,clearedfor those that have. Omit for both.deviceTypestringRestrict to one kind of device, e.g.
Access Point,Gateway,Terminal. MatchesdeviceTypeon/v1/devices.siteCodestringRestrict to one or more sites. Repeat the parameter or pass a comma separated list, and match is case-insensitive. Takes the same
siteCodethis endpoint returns, so a code read off a row can be passed straight back.gatewayIdstringRestrict to one or more devices. Repeat the parameter or pass a comma separated list. Takes the same
gatewayIdthis endpoint returns.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
siteCodestringSite the device belongs to.
deviceNamestringDisplay name of the device.
gatewayIdstringUnique identifier of the device.
deviceTypestringAccess Point,Gateway,Terminal, and so on.alertstringTitle of the alert, e.g.
Device offline.codestringMachine-readable kind, e.g.
reyee_device_offline,terminal_offline,device_offline.severitystringinfo,warningorcritical.raisedAtstringRFC3339 instant the alert opened.
clearedAtstringRFC3339 instant the alert closed, or
nullwhile it is still open.downMinutesnumberMinutes of this alert that fell inside the window.
- cURL
- JavaScript
- Go
- PHP
curl "https://polaris.revlv.com/v1/alerts?from=2026-04-01&to=2026-04-30&status=open" \
-H "Authorization: Bearer {token}"
const res = await fetch(
'https://polaris.revlv.com/v1/alerts?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/alerts?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/alerts', [
'headers' => ['Authorization' => 'Bearer {token}'],
'query' => ['from' => '2026-04-01', 'to' => '2026-04-30'],
]);
echo $response->getBody();
{
"data": [
{
"siteCode": "PH1-2026-549",
"deviceName": "AP1_Inside of Barangay Hall Office",
"gatewayId": "G1TA2FM00455A",
"deviceType": "Access Point",
"alert": "Device offline",
"code": "reyee_device_offline",
"severity": "warning",
"raisedAt": "2026-04-05T13:20:00Z",
"clearedAt": "2026-04-05T15:05:00Z",
"downMinutes": 105
},
{
"siteCode": "PH1-2026-549",
"deviceName": "AP2_Left Wing of KALIPI Association Building",
"gatewayId": "G1U0471012564",
"deviceType": "Access Point",
"alert": "Device offline",
"code": "reyee_device_offline",
"severity": "warning",
"raisedAt": "2026-04-28T02:10:00Z",
"clearedAt": null,
"downMinutes": 4190
}
],
"pageInfo": {
"hasNextPage": false,
"nextPageToken": ""
}
}