Response envelope
All list responses wrap their records in a standard pagination envelope:array
required
The records on the current page.
integer
required
Total number of records matching the current query (across all pages).
integer
required
Total number of pages given the current
size value.boolean
required
true if there are additional pages after the current one; false on the last page.Pagination parameters
Control which page of results you receive using these query parameters on any list endpoint:integer
default:"1"
The page number to retrieve. Must be
1 or greater.integer
default:"10"
Number of records to return per page. Must be between
1 and 100 inclusive.size is capped at 100 records per request. To retrieve more than 100 records, increment page on successive requests until has_more is false.Sorting
Most list endpoints acceptsort_by and sort_order query parameters to control the order of results:
string
The field name to sort by (e.g.
created_at, email). If omitted, the endpoint uses its default ordering. Refer to individual endpoint documentation for the supported sort fields.string
default:"asc"
Sort direction. Accepted values:
asc (ascending) or desc (descending).Filtering
Most list endpoints accept additional query parameters to narrow results. Common filter parameters include:
Filter parameters vary by resource — see each endpoint’s reference for the full list of supported filters.
Example: paginated request with sorting and filtering
Retrieve the second page of contacts, 25 per page, sorted by most recently created, filtered to a specific email domain:has_more is false:
Envelope stability
The{ items, total_count, total_pages, has_more } envelope shape is frozen — it will not change within /v1. You can safely build your deserialization logic against this structure.