Returns your contacts one page at a time. Each item has the same shape as GET /contacts/{contactId}.
To walk every contact, call without cursor, then keep passing the previous response's nextCursor as cursor until hasMore is false (nextCursor is null). Keep the other query parameters the same for the whole walk. Treat the cursor as opaque: it is signed, and only works for the same account and the same filters. Any other cursor is rejected with 33045.
Filters. groupId, tagId (requires groupId), createdAfter (inclusive) and createdBefore (exclusive) can be combined. Results are newest first. Contacts created after the first page are not included — start a new walk to pick them up.
Changes since a time. With updatedAfter, the endpoint returns contacts created or changed since that time, oldest change first, and the response includes updatedUntil. Pass that value as updatedAfter on your next sync to get only what changed in between; a contact may appear in two consecutive syncs. updatedAfter cannot be combined with other filters. Deleted contacts are not returned in either mode.
There is no total count.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||