Skip to main content
Every list endpoint returns the same envelope:
  • data holds up to limit items (default 50, maximum 100). Deals and tasks come most recently updated first (tasks also accept sort=priority); users, offices and brokerages come in ID order. The event feed comes oldest first.
  • has_more tells you whether another page exists.
  • next_cursor is an opaque token. Send it back unchanged as cursor to get the next page, with the same filters (and, for tasks, the same sort).
  • There is no total count. Count what you page through.
A cursor the API can’t read, or one sent with a different sort, returns 400 INVALID_CURSOR. Retrying won’t fix it. Drop the cursor and start again from the first page.

Filters

Filters combine with AND. List filters such as status or id accept several values: repeat the parameter (status=IN_PROGRESS&status=READY_FOR_PAYOUT).

Incremental sync with updated_since

To keep a copy up to date without re-reading everything, remember when your last sync started and ask only for what changed since:
For a complete, ordered record of every change, including deletions, use the event feed.

Unknown values

New enum values, such as a new deal status or task type, may be added without a new API version. Handle values you don’t recognize instead of failing.