Search the alerts of the organization associated with the API key. One endpoint drives every
filter combination: only timeRange is required, every other filter is optional and filters
are combined with AND semantics (values inside an array filter are OR-ed). Each returned alert
carries its category and flowType using the same values as the filter.
Results are sorted by timestamp descending (newest first) and paginated with page/size
(zero-based page, size 1..100, default 25).
The response envelope always includes the total number of alerts matching the filters, so
total can exceed items.length.
Filters:
| filter | meaning |
|---|---|
timeRange | Required. { start, end } in milliseconds since epoch. |
cameraIds | Only alerts from these cameras. |
locationIds | Only alerts from cameras at these locations. |
flowTypes | Only alerts of these categories / flow types (see below). |
acknowledged | true = only acknowledged (archived) alerts, false = only open alerts, omit = both. |
tagIds | Only alerts of events carrying these event tags. |
objectIds | Only alerts for these object types: PERSON, VEHICLE, PET, WEAPON, FIRE, MULTIPLE, SHOPPING_CART. |
eventIds | Only alerts produced by these events. |
cameraIds and locationIds intersect: an alert must match all provided scope filters. An
empty intersection returns an empty page with total: 0.
flowTypes is an array of { category?, flowType? } entries, OR-ed together. Each entry needs
a category, a flowType, or both: a category alone matches every flow type of that category;
a flow type alone matches that flow type (names are unique across categories); when both are sent
the flow type must belong to the category, otherwise the request fails with 400.
flowType values by category:
| category | flowType values |
|---|---|
SAFETY | MOTION, TAMPERING, PROXIMITY, WEAPON, TRESPASSING, TAILGATING, ZONE_PROTECTION, SPEED_LIMIT, DOOR, FIRE, FALL, VIOLENCE, SUSPECT, WEAPON_BRANDISHED, TRESPASSING_ZONES |
IDENTIFICATION | FACE_DETECTION, LPR, CONTAINER |
TRACKING | APPEARANCE, DISAPPEARING, LOITERING, LINE_CROSSING, OCCUPANCY, TRAFFIC_CONTROL, MISSING_OBJECT, ABSENCE, COUNTING, SNAPSHOT, HOLDING_PHONE |
STATUS | CAMERA, EDGE, ANALYTIC |
CUSTOMIZED | PROTECTIVE_GEAR, PERSONAL_SAFETY, PERIODIC_TEXT, GLOVES, HANDS, COLLISION_AVOIDANCE |
INTEGRATIONS | EVENT_TAG, EVENT_TAG_TAILGATING, EVENT_TAG_POS_VALIDATION, DEVELOPER, EVENT_CLEARANCE |
RETAIL | SHELF_OCCUPANCY_THRESHOLD, SHELF_OCCUPANCY_CHANGE |
STATE | CHANGE, TRANSITION, DURATION |
MONITORING | METRICS, STORAGE |
Each returned alert is enriched with the camera, edge and location names, the IANA timezone of
the camera location, and thumbnailUrl — the absolute URL of GET /v1/alerts/{alertId}/thumbnail.
Fetch it with the same API key: send Authorization: Bearer <token> (preferred), or append
?token=<token> for direct <img> embedding (note: query tokens can appear in access logs).
thumbnailUrl is null when the alert has no thumbnail.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Invalid request: missing timeRange, unknown category/flowType/objectIds value, an empty flowTypes entry, a flowType that does not belong to its category, page below 0, or size outside 1..100.
401Missing or invalid API key.
403Organization not allowed by this token.
500Internal server error.
