Skip to content

Pagination & Data

The read endpoints (GET /api/zapier/triggers/* and GET /api/zapier/search/customers) exist to feed polling automation tools. They return a bare JSON array of the most recent records, newest first — no envelope, no page numbers, no cursor.

GET /api/zapier/triggers/leads?limit=20
[
{ "id": 10421, "name": "Jordan Ellis", "status": "New", "status_stage": "open", "created_at": "2026-09-09T09:14:07.000000Z", "…": "" },
{ "id": 10420, "name": "Amelia Clarke", "status": "Contacted", "status_stage": "open", "created_at": "2026-09-09T08:51:33.000000Z", "…": "" }
]
Parameter Applies to Default Maximum
limit All six trigger endpoints 50 100
search_term search/customers (required) 100 characters; up to 25 matches returned

There is no way to page further back than the newest limit records, and no date filter. This suits polling — Zapier and n8n deduplicate on id and only act on records they have not seen — but it means a burst of more than limit new records between two polls will miss the oldest ones. Poll often enough for your volume, or ask for limit=100.

An empty result is [], never null.

id fields are integers today, unique within their record type within a workspace. Treat them as opaque: do not assume they are sequential, small, or meaningful, and be prepared for them to become strings in a future version (that change would be announced in the changelog with a deprecation period).

All timestamps are ISO 8601 in UTC, with a Z suffix — for example 2026-09-09T09:14:07.000000Z. Parse them as ISO 8601 and convert to the workspace’s local time for display. Fractional seconds may be present; do not depend on their precision.

Fields ending in _at are instants. Some fields carry a date or a date-time the shop entered (next_follow_up, scheduled_on, estimated_delivery, received_at); check the reference for each field’s exact format.

Convention Rule
Field names snake_case, everywhere
Booleans JSON true / false
Absent values null, and the field is still present
Empty lists []
Amounts Numbers as stored in the workspace’s currency. Currency is not repeated per record; it is the workspace’s configured currency.
Names of things Readable labels — "status": "Waiting for Parts", "device_brand": "Dell", "assigned_to": "Alex Morgan" — never internal ids
Unknown fields Ignore any response field you do not recognise; new ones may appear at any time

mobile_number is the national number as entered, and mobile_country_code is the dialling code (for example "+1" or "+44"). They are separate fields on both input and output. When you create a lead, send both if you know the country; a lead’s duplicate check compares the pair.