Skip to main content
Add contacts in batches of up to 10,000 per request, and remove one contact at a time by id or by phone number.

Contact shape

Unknown top-level fields are rejected with 400.

Add contacts (batch)

POST /contact-lists/{id}/contacts
Request
Response · 200 OK
The add is append-only:
  • A phone number already in the list is skipped and counted in skippedExisting; its name or metadata is not updated.
  • Repeated numbers inside one payload collapse to the first one and are counted in duplicatesInPayload.
  • The whole batch is written in one transaction, so a failure leaves nothing half-applied and the request can simply be retried.
To change a contact’s details, remove it by phone number and add it again.

Remove a contact

By contact id: DELETE /contact-lists/{id}/contacts/{contactId} By phone number (URL-encode the + as %2B): DELETE /contact-lists/{id}/contacts?phoneNumber=%2B15550100 The phone-number form removes every contact in that list whose primary or additional number matches, with or without the leading +.
Response · 200 OK
A number or id that is not in the list answers 404 {"error":"Contact not found in this list"}. Removing deletes the contact record, the same as deleting a contact in the app.

Example with curl

API Reference: contacts

Full schemas with a live playground.