Skip to main content

Lists

A list is a named group of contacts, such as “Recall due” or “New patients October”. Lists are how you pick who a campaign calls and how you narrow the contacts page. A contact can be on any number of lists. Errors share one shape, { "status", "error_code", "message", "details" }. Branch on error_code.

List Your Lists

Lists come A to Z. To read the contacts on one, use GET /contact?list_id={id} or Search Contacts with list_id.

Create a List

Returns 201 with the new, empty list. Two lists in a workspace cannot share a name, in any case: a name that is taken returns 409 name_taken with the other list’s id in details.existing_id.

Rename a List

Same name rule as creating. A list from another workspace returns 404 list_not_found.

Delete a List

Deletes the list and takes everyone off it. Contacts are never deleted; each one’s history shows it was removed from the list.

Add Many Contacts to a List

Use this for “put everyone over 50 with Delta Dental on Recall due”: find them with Search Contacts, then send their IDs here.
Up to 500 IDs per call; for more, send them in batches. Every contact gets its own result, in the order you sent them, so one bad ID never blocks the rest:
Safe to retry: a contact already on the list comes back as already_on_list and nothing changes. An empty list, a non-string ID or more than 500 IDs returns 400 validation_failed with details.field contact_ids. Each added contact’s history shows it was added.

Add or remove one contact

Adding a contact that is already on the list changes nothing. Both appear in the contact’s history.