Contatos
The account's contact base: create, edit, delete, record consent, merge duplicates and
import in batches. An API key limited to some numbers only sees the
contacts that have a conversation on those numbers, and gets 403 on what covers the
whole base — export, import, create, delete, merge, opt-in and the definitions of fields
and tags.
List contacts
The contact base, paginated. Every filter adds up (AND).
Create a contact
Creates a contact from a phone number or a BSUID. The phone is normalized to E.164 and
Create or update contacts in bulk
Up to 500 contacts per call, each created or updated by phone or BSUID. The answer is
Export contacts as CSV
The whole base — or whatever the filters select — as a CSV, without paging. One column
List imports
List imports
Open an import
A record that follows a large import made in several batches: send its `id` as
Get an import
Get an import
Close an import
Marks the import as `completed` or `failed`. Only an import still `processing` can be closed.
Get a contact
The contact, with the suppression list rows that match its phone or BSUID.
Edit a contact
An absent field is left alone; `null` clears it. `attributes` is a patch over the
Delete a contact
Deletes the contact for good, with its conversations, messages, tags and history — it
Record an opt-in
Records marketing consent, with the evidence of how it was obtained. Takes the contact
Record an opt-out
Removes consent and puts the contact's phone and BSUID on the suppression list. Fires `contact.opted_out`.
Merge duplicate contacts
The contact in the path survives; `duplicateId` is deleted after its conversations,
Contact's history
What happened to the contact, newest first: creation, edits, tags, consent, merges and campaign clicks.
Export a contact's data
Everything the account holds about the contact, as a downloadable JSON — the data-protection access request. Up to 10,000 messages per conversation.