API reference
Contacts
Create, find, update, and delete contacts. Contacts are identified by their WhatsApp phone number in E.164 format.
POST
/v1/contactsCreate a contact — or update the existing one if a contact with the same phone number already exists (idempotent upsert). Returns 201 on create, 200 on update.
Body
| Field | Type | Description |
|---|---|---|
phonerequired | string | E.164 phone number, e.g. +15551234567. The contact identifier. |
properties | object | User properties keyed by property name (string, number, boolean, or string[] for multi-select). |
curl -X POST https://app.deelflows.com/api/v1/contacts \
-H "Authorization: Bearer df_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "phone": "+15551234567", "properties": { "firstName": "Ada" } }'{
"id": "c1a2…",
"properties": { "phone": "+15551234567", "firstName": "Ada" }
}GET
/v1/contacts/find?phone=…Find a contact by phone number. URL-encode the + as %2B. Returns 404 when no contact matches.
GET
/v1/contacts/:idGet a contact by id.
PUT
/v1/contacts/:idUpdate a contact's properties. Only the properties you send change; everything else is left as-is.
curl -X PUT https://app.deelflows.com/api/v1/contacts/c1a2… \
-H "Authorization: Bearer df_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "properties": { "city": "Dubai" } }'DELETE
/v1/contacts/:idDelete a contact and all their data (properties, events, segment memberships). Irreversible. Returns 204.