Contacts API
Contacts are your organization's cross-channel people — matched on phone, email, or web fingerprint and shared across conversations and campaigns. Gated on the campaigns.read / campaigns.write permission.
The contact object
{
"id": "uuid",
"phone_e164": "+14165550123",
"email_lower": "jordan@example.com",
"first_name": "Jordan",
"last_name": "Avery",
"conversation_count": 3,
"first_seen_at": "2026-04-01T10:00:00Z",
"last_seen_at": "2026-05-10T14:30:00Z",
"facts": { "vehicle": "2022 Camry" },
"created_at": "2026-04-01T10:00:00Z"
}List & search
GET /api/v1/rest/contacts ?search= &limit= &offset=?search= matches across name, phone, and email.
Create a contact
POST /api/v1/rest/contacts
{
"phone_e164": "+14165550123",
"first_name": "Jordan",
"last_name": "Avery"
}Provide at least a phone_e164 or email_lower so the contact can be linked to conversations.
Get, update, delete
GET /api/v1/rest/contacts/:id
PATCH /api/v1/rest/contacts/:id
DELETE /api/v1/rest/contacts/:idDeleting a contact cascades to its campaign enrolments. PATCH { "do_not_call": true } to hard-block outbound dialing to this contact — the dialer refuses flagged contacts (and their number) both when queueing and at dial time.