Hi ,
I am encountering a severe and highly reproducible backend issue when polling for alarms via the REST API (/api/rest/v1/alarmSessions/{id}/alarms).
When registering an alarm session, if I apply a filter using the "time" target, everything works flawlessly. However, if I change the target to "modified", the API abruptly drops the connection with a 400 Bad Request the exact moment a new alarm is triggered or modified.
Steps to Reproduce:
- Register the Session: I register an alarm session with the following payload, filtering by
modified:
JSON
{
"filterBy": [
{
"operator": "gt",
"target": "modified",
"value": "2026-03-06T05:50:00.002Z"
}
],
"orderBy": [
{
"target": "modified",
"direction": "asc"
}
]
}
-
Start Polling: I poll the session’s
/alarmsendpoint every 10 seconds. -
Initial Responses (Working): As long as there are no new or modified alarms in the system, the server correctly responds with a
200 OKand the empty structure:
JSON
{"deletedFromSession":[],"addedToSession":[],"updatedInSession":[]}
-
The Crash: The moment a new alarm arrives in XProtect (or an existing one is modified), the very next polling request instantly fails.
-
Status:
400 Bad Request -
Body: 0 bytes (Empty)
-