Skip to main content
POST
Updates a contact identified by their phone number — no contact ID required. Use this to change a contact’s status or move them to a different campaign from your own systems. Actions are logged as contacts-actions-by-api so they’re tracked separately from in-app actions.
This endpoint requires an X-API-Key header. See Authentication for details.

Request Body

string
required
Phone number of the contact to update, in E.164 format (e.g., +11234567890).
string
New status for the contact. Use List Statuses to retrieve valid values. Default system statuses include active, paused, fulfilled, DNC, not-qualifies, not-interested, not-answering, wrong-number, and talk-to-human.
string (UUID)
New campaign to move the contact to.
At least one of status or campaignId must be provided. You can send both in the same request.

Behavior Notes

Setting a contact to any terminal status (fulfilled, paused, DNC, not-qualifies, not-interested, not-answering, wrong-number) automatically cancels all scheduled calls, SMS, WhatsApp messages, and triggers for that contact.
Setting the status back to active reschedules outreach based on the contact’s campaign configuration.
Changing campaignId cancels scheduled actions from the old campaign and schedules new actions based on the new campaign’s configuration.
Updates made through this endpoint are logged as contacts-actions-by-api and do not inflate in-app action stats.

Response

boolean
Always true on a successful request.
string
Human-readable confirmation message.
object
The updated contact object.