Read a contact
GET
/v1/contacts/{contact_id}
const url = 'https://api.vocapable.com/v1/contacts/example';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/example \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”contact_id
required
Contact Id
string
Responses
Section titled “Responses”Successful Response
Media typeapplication/json
Contact
object
id
required
Id
string
phone_e164
required
Phone E164
string
best_consent_class
Any of:
ConsentBasis
CANON fact 18 - the four consent classes (docs/07-compliance.md §consent).
string
null
do_not_call
Do Not Call
boolean
lead_status
Any of:
LeadStatus
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.
string
null
tags
Tags
Array<string>
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
jurisdictions
Jurisdictions
Array<string>
attributes
Attributes
object
key
additional properties
any
Example
{ "best_consent_class": "pewc", "do_not_call": false, "lead_status": "new"}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}