Skip to main content
The REST API is in early access and is enabled per account on request. API keys are not yet issued from the dashboard. To request access, contact your account executive.
Return your organization’s leads in a cursor-paginated response. The query parameters narrow the result by status, channel, and last-activity range, so you can surface exactly the pipeline segment your integration needs.

Endpoint

Query Parameters

string
Filter by the lead’s current status. The set is closed: new, contacted, qualified, appointment, proposal, incubating, won, lost. A value outside that list returns 422, not an empty result.
string
Return the leads that have accumulated this channel. The set is closed: typeform, mercadolibre, whatsapp, custom, manual, odoo. A value outside that list returns 422, not an empty result.
string
Return only leads whose last_activity_at is at or after this timestamp. The bound is inclusive. An ISO 8601 date-time string, e.g. 2024-01-15T00:00:00Z. It filters on last activity, not on creation date.
string
Return only leads whose last_activity_at is at or before this timestamp. The bound is inclusive. An ISO 8601 date-time string, e.g. 2024-01-31T23:59:59Z. It filters on last activity, not on creation date.
string
Pagination cursor returned as next_cursor by the previous response. Omit it to start from the first page. The value is opaque: do not parse or construct it.
integer
default:"20"
Maximum number of leads per page. An integer between 1 and 100.
There are no filters by score, by catalogue vehicle, or by free text: the six parameters above are the only ones the endpoint accepts.

Example Request

cURL

Response

A successful request returns HTTP 200 OK with the data array and the two pagination fields at the root.
200 OK

Response Fields

array
Leads matching the applied filters, most recent first. Each element has exactly the same shape Get Lead returns, field for field.
string | null
Pass this value as the cursor parameter to fetch the next page. null when has_more is false.
boolean
true if additional pages of results exist.
The response carries no total: counting one requires a second query over the same filter on every page. To walk the whole result, paginate until has_more is false.
For an incremental sync, combine last_activity_after with a stored cursor: fetch once with last_activity_after set to your last sync timestamp, then follow next_cursor until the result is exhausted. Because it filters on last activity rather than creation, the sync also picks up older leads that moved again.