Get People List
Paginated list of the calling organisation’s (or tribe’s) people.
Ordering — ascending id. Stable for full syncs: a record can never move onto a page you have already read.
Lookups — id, email and mobile are exact matches. mobile is compared against the stored E.164 value with no normalisation, so send +61412345678, not 0412 345 678.
Every payload carries organisation_id, plus the person’s single operational tribe_id / tribe_slug (resolved as primary_tribe_id first, otherwise the earliest tribe link — never the whole collection). A tribe-scoped API key always sees its own tribe here.
Incremental sync (updated_after)
- Timestamp-granular and strictly greater-than (
>). Send a full ISO-8601 timestamp; an offset such as+10:00is honoured. - Child-aware: a person whose only change was moving tribes still comes back, because
person_tribesparticipates in this payload. - Cursor on
record_updated_at(the latest of the person row and its tribe links), notupdated_at.updated_atstill means “the person row itself changed”. - Cursor on the wall-clock time the poll started, not on
max(record_updated_at)in the result — bulk writes stamp an identical timestamp across many rows and a strict>would step over the ties. - Omit
updated_afterentirely for the first full walk; use it for deltas afterwards.
Limits — results_per_page is 1–1000 (default 100). Anything over 1000 returns HTTP 422. Rate limit is 120 req/min per API key per IP, under a 300 req/min per-IP ceiling.
Success is HTTP 201, not 200 — that is the convention across this whole API.
Headers
Query parameters
Page number for pagination (default: 1)
Records per page. 1-1000, default 100. Over 1000 returns 422.
