Update a contact
const url = 'https://api.vocapable.com/v1/contacts/example';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"phone_e164":"example","first_name":"example","last_name":"example","company":"example","title":"example","email":"example","timezone":"example","jurisdictions":["example"],"attributes":{},"lead_status":"new","owner_user_id":"example","tags":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.vocapable.com/v1/contacts/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "phone_e164": "example", "first_name": "example", "last_name": "example", "company": "example", "title": "example", "email": "example", "timezone": "example", "jurisdictions": [ "example" ], "attributes": {}, "lead_status": "new", "owner_user_id": "example", "tags": [ "example" ] }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”PATCH: only the fields present are written, and an explicit null clears one.
object
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.
Responses
Section titled “Responses”Successful Response
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.
object
Example
{ "best_consent_class": "pewc", "do_not_call": false, "lead_status": "new"}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}