Getting started
Quickstart
Create an API key, add a contact, and send your first transactional WhatsApp message — in about five minutes.
1. Create an API key
In the dashboard, go to Settings → API Keys and click Create API Key. The full key (it starts with df_) is shown once — copy it somewhere safe.
2. Verify the key
Every request sends the key as a Bearer token in the Authorization header:
curl https://app.deelflows.com/api/v1/me \
-H "Authorization: Bearer df_your_api_key"{
"workspaceId": "9f3c…",
"workspaceName": "Acme Realty",
"plan": "growth"
}3. Create a contact
Contacts are identified by phone number (E.164 format). Properties are keyed by the property name you see in Settings → Custom Fields.
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", "city": "Dubai" }
}'Calling this twice with the same phone number updates the existing contact instead of creating a duplicate.
4. Track an event
curl -X POST https://app.deelflows.com/api/v1/events \
-H "Authorization: Bearer df_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"phone": "+15551234567",
"event": "viewing_booked",
"properties": { "listingId": "L-1042" }
}'Events can start journeys (Settings → Journeys → event entry) and feed event-based segments.
5. Send a transactional message
Transactional sends use WhatsApp-approved templates. Grab a template id from GET /api/v1/templates, then:
curl -X POST https://app.deelflows.com/api/v1/transactional \
-H "Authorization: Bearer df_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"phone": "+15551234567",
"templateId": "tmpl-uuid",
"variables": { "1": "Ada", "2": "Tuesday 4pm" }
}'What's next
Listen for replies with webhooks, review rate limits for your plan, or connect Zapier if you'd rather not write code.