Returns a list of events for a specified form.
This is the preferred read pattern. Cache results on first call, then use lastSynchronisationTimeOnServer from the previous response to fetch only changed/new events. Only fetch the full dataset on first sync.
Supports cursor pagination (100 events per page).
Pagination:
Pass pagination parameters as a nested object in the request body:
{
"pagination": {
"paginate": true,
"cursor": "{{cursor}}"
}
}Omit cursor (or pass null) on the first page. Use the cursor value from each response to fetch the next page.
Upcoming enforcement: A future AMS release will add server-side enforcement that rejects unpaginated requests on high-volume endpoints. Implement pagination now to avoid disruption when that ships.
lastSynchronisationTimeOnServer:
The lastSynchronisationTimeOnServer value returned in each response must be:
- Persisted after every call.
- Passed back as the lower time bound on the next call to retrieve only changed records.
- Never hardcoded to
0or a fixed timestamp — doing so forces a full history scan on every run, which causes server-level memory exhaustion under concurrent load.
Error semantics:
HTTP 500on this endpoint typically means the request payload is too large — usually caused by requesting too many users without pagination, orlastSynchronisationTimeOnServer: 0on a large dataset. Enable pagination and pass a non-zerolastSynchronisationTimeOnServeron subsequent calls.HTTP 403means the authenticated account does not have access to the specified form. Check form permissions in the AMS Admin portal.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
