Contact shape
Unknown top-level fields are rejected with
400.
Add contacts (batch)
POST /contact-lists/{id}/contacts
Request
Response · 200 OK
- 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.
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
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.