Skip to main content

Contacts and Contact Lists

Contacts are your address book. Contact lists group contacts into named segments that you can target with campaigns.

Managing contacts​

Create a contact​

POST /contacts

Provide the contact's name, phone number, email, and any custom fields.

Search and filter​

GET /contacts

Filter contacts by name, phone number, email, gender, validity, or communication channel support. Results are paginated.

Update and delete​

  • PUT /contacts/{id} -- Update a contact's details.
  • DELETE /contacts -- Delete one or more contacts by ID.

Bulk import​

The API supports two import formats:

CSV / Excel upload​

POST /contacts/upload

Upload a file (CSV, Excel) as multipart form data, with file and fileName; add removeHead=true when the first row holds the column headers. The import happens in the same call: columns are mapped to contact fields automatically, new contacts are created and existing ones, matched by phone number, are updated.

VCard upload​

POST /contacts/upload/vcard

Upload a .vcf file, again with file and fileName. Entries are read from the standard vCard fields and imported in the same call, with the same create-or-update behaviour.

In both cases, to put the imported contacts in a list, add them afterwards with POST /contacts/list/contacts.

Contact lists​

Create a list​

POST /contacts/list

Give your list a name and optionally a description.

Add contacts to a list​

POST /contacts/list/contacts

Associate one or more contacts with one or more lists in a single request.

Remove contacts from a list​

DELETE /contacts/list/contacts

Remove specific contacts from specific lists without deleting the contacts themselves.

Browse list members​

GET /contacts/list/{listId}/contacts

Paginated list of all contacts belonging to a specific list.

Using lists in campaigns​

When you create a campaign, you specify a contact list as the target audience. The campaign will send the message to every contact in that list.

This is why organizing your contacts into well-defined lists is important: it lets you target the right audience for each campaign.

Exporting contacts​

For large data sets, use the async export workflow:

POST /exports/contacts

See the Exports guide for the full export workflow.

Quick reference​

ActionEndpoint
List contactsGET /contacts
Create contactPOST /contacts
Get contactGET /contacts/{id}
Update contactPUT /contacts/{id}
Delete contactsDELETE /contacts
List contact listsGET /contacts/list
Create listPOST /contacts/list
Add to listPOST /contacts/list/contacts
Remove from listDELETE /contacts/list/contacts
Upload CSVPOST /contacts/upload
Upload VCardPOST /contacts/upload/vcard

See the Contact API Reference and Contact List API Reference for full details.