Returns the access control events of the organization the credentials belong to — the same records the Access Control Events page shows, with the same filters.
timestampStart and timestampEnd are required and are Unix epoch milliseconds in UTC; both bounds are inclusive. The range may span at most 366 days and timestampEnd must not precede timestampStart; either violation answers 400.
Every other filter is optional and narrows the result: eventName, userName, device, site and eventClass are comma-separated lists matched exactly, source selects one provider, and cameraExists=true keeps only events linked to a camera. Values for the list filters are the ones the page offers in its filter dropdowns.
format selects the representation and defaults to csv:
csv— streams the whole time range as atext/csvattachment (Content-Disposition: attachment; filename=access-control-events-<YYYY-MM-DD-HH-mm-ss>.csv) with a header row and the columnsId,Timestamp,Site,Device,Event,User,Event Class,Source,Camera Ids,Raw Payload. Not paginated:pageandpageSizeare ignored.json— returns a single page as{ "data": [ … ], "page": 1, "pageSize": 1000, "total": 4820 }.totalcounts the whole range, so it is normally larger thandata.length.
page (from 1, default 1) and pageSize (1..1000, default 1000) apply to format=json only. 1000 records per page is a hard cap; to read a wider range, request page 1, 2, 3 … while (page - 1) * pageSize < total.
Records are ordered by event time, most recent first. Events recorded within the same millisecond have no guaranteed order relative to each other, so a record can shift between adjacent pages while new events are being written.
A JSON record carries the same values as the CSV columns: id, timestamp, site, device, eventName, userName, eventClass, source, cameraIds and rawPayload. rawPayload is the event exactly as the provider delivered it, with credential-like keys redacted; in CSV it is serialised to a JSON string and cameraIds is joined with ;.
Prefer format=csv for wide ranges: it streams the whole range in one request, whereas JSON needs ceil(total / pageSize) round trips.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Bad Request - The server cannot process the request due to client error.
401Unauthorized - Authentication is required and has failed or has not been provided.
403Forbidden - Insufficient permissions to access this resource
500Internal Server Error - The server encountered an unexpected condition that prevented it from fulfilling the request.
