List contacts
const url = 'https://api.vocapable.com/v1/contacts?limit=50';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.vocapable.com/v1/contacts?limit=50' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Successful Response
object
A contact as a list endpoint returns it.
object
CANON fact 18 - the four consent classes (docs/07-compliance.md §consent).
Where the tenant’s own pipeline holds a contact (migration 0035).
Durable per-contact intent, deliberately separate from Disposition, which is pinned
(CANON fact 28) and answers “what happened to the dial” rather than “is this person
interested”. A contact is dialed many times and disposed once per attempt; the lead
status is the one value that survives across those attempts.
It carries NO compliance meaning whatsoever: LOST is not a suppression, and marking
a contact WON neither grants nor implies consent. Suppression is dnc_entries and
consent is consent_records - both have their own writers, and neither reads this
column.
Example
{ "data": [ { "best_consent_class": "pewc", "do_not_call": false, "lead_status": "new" } ], "has_more": false}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}