List roll calls
/roll-callsReturns roll calls, newest first, with their live counts. Use GET /roll-calls/{rollcall_id} for the
list of people.
Scope: rollcalls:read · Plan: Pro and Enterprise in live mode; every plan in test mode.
Send Authorization: Bearer <token> on every request. The token is one of:
| Prefix | What it is | Where it may be used |
|---|---|---|
agoo_sk_live_ | Secret key, live mode | Your servers only |
agoo_sk_test_ | Secret key, test mode | Your servers only |
agoo_pk_live_ | Publishable key, live mode | Browsers and apps: create pre-registrations and bookings, read public booking types (with their intake questions) and their free slots, read the visit types open for pre-registration with their public forms. Never lists people. |
agoo_pk_test_ | Publishable key, test mode | As above, in test mode |
Admins create keys in Console → Developers → API keys and choose each key's scopes. A key is shown once. Never put a secret key in a URL, a browser or a mobile app.
In: header
Scope: rollcalls:read
Query Parameters
How many items to return, from 1 to 100.
1 <= value <= 10025The next_cursor from the previous page. Leave it out for the first page.
length <= 512Only roll calls at this site.
^site_[0-7][0-9a-hjkmnp-tv-z]{25}$"site_01kjpt3yw0fz0v414608h9x65s"Only roll calls with this status.
Value in
- "active"
- "closed"
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/roll-calls?limit=25"{ "data": [ { "id": "rollcall_01m4x13bw0fjmr5ekjkshzkke6", "site_id": "site_01kjpt3yw0fz0v414608h9x65s", "kind": "drill", "status": "closed", "message": "Fire drill. Leave by the nearest exit and go to the car park assembly point.", "counts": { "total": 46, "accounted_for": 46, "missing": 0 }, "started_at": "2026-10-14T11:00:00Z", "started_by": "person_01kjsexjt0e9rt8r69a60jzx03", "closed_at": "2026-10-14T11:20:41Z", "closed_by": "person_01kjsexjt0e9rt8r69a60jzx03" } ], "next_cursor": null, "has_more": false}Remove a watchlist entry DELETE
Removes an entry from your watchlist. Check-ins stop matching it straight away, and the entry's personal data (name, phone number, ID number hash, reason) is erased. Past matches stay in the audit trail, without them. **Scope:** `watchlist:write` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.
Start a roll call POST
Starts a roll call at a site, for example from your fire alarm panel. Agoo takes a snapshot of everyone on site (checked-in visitors and contractors, and clocked-in employees) and, with `notify` (the default), sends each of them an "I'm safe" link by push, WhatsApp or SMS. Marshals can then account for people in the Workspace app. - Fires `roll_call.started`, then `roll_call.updated` as people are accounted for. - A site can have one active roll call at a time; starting another returns `conflict`. - In test mode, messages go to the console's test outbox. **Scope:** `rollcalls:write` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.