List campaign leads
Changed onReturns the campaign leads of the specified campaign, deactivated ones included, in ascending id order. Use metadata.next_cursor to fetch the next page; it is null on the last page. metadata.total counts every campaign lead matching the filter, not only the current page.
No change history is stored. To keep a copy in sync, poll with updated_at[gte] set to the start time of your previous pull minus 5 minutes and de-duplicate the rows by id: a row is stamped before the write that carries it commits, and the overlap catches it. updated_at moves on every change to a campaign lead, a new dial attempt and a deactivation included. Pull once a minute per active campaign. This method shares the campaign leads limit of 1000 requests a minute per token with lead create and update; a 429 response means retry after a minute.
Deactivated campaign leads stay listed. When the leads of a stopped or completed campaign are cleaned up, nightly after its dispositions report is downloaded, the method returns an empty list with total: 0.
Request
- Base URLhttps://{cluster_id}.voiso.com
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
The unique identifier of the campaign.
Query parameters
The number of campaign leads to return per page.
Cursor returned in the previous response as metadata.next_cursor. Treat this value as an opaque token and pass it back unchanged. An invalid cursor returns 400 Bad Request.
Filter by last change time or by last change time range. For incremental sync use updated_at[gte], see the method description.
Response
OK
Example response
{
"campaign_leads": [
{
"id": 8201,
"phone_number": "77771234567",
"name": "John Doe",
"priority": 10,
"active": true,
"dial_attempt_count": 2,
"source": {
"system": "hubspot",
"url": "https://crm.example.com/leads/1"
},
"import_method": "file_import",
"created_at": "2026-10-01T09:00:00.000000Z",
"updated_at": "2026-10-02T09:00:00.000000Z",
"deactivated_at": "2026-10-03T09:00:00.000000Z"
}
],
"metadata": {
"total": 100
}
}Changes
- info
endpoint added
- info