This is the shortest path from "I just signed up" to "WhatsApp message delivered" using EnoSend's REST API. Five minutes if you have your phone nearby.
1. Sign up and start the trial
Create an EnoSend account — the 3-day free trial starts automatically, no card required. You'll land on the dashboard.
2. Grab your API key
In the dashboard sidebar: API Keys → Create new key. Copy the wa_live_… value — you only see it once. Treat it like a password. Every request needs Authorization: Bearer wa_live_….
3. Create an instance and link your WhatsApp number
Click Connect WhatsApp on the dashboard (or POST /instances with { "number": "+233200000000" }). Note the returned instance id — you'll need it in the send URL. EnoSend shows a QR code; on your phone open WhatsApp → Settings → Linked Devices → Link a device and scan it. The instance flips to state=open within a few seconds (poll GET /instances/<id>/pairing if you're doing it via API).
4. Send your first message
curl:
curl -X POST https://api.enosend.com/api/wa/v1/instances/INSTANCE_ID/messages/text \
-H "Authorization: Bearer wa_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"number": "233200000000",
"text": "Hello from EnoSend"
}'Python:
import requests
requests.post(
"https://api.enosend.com/api/wa/v1/instances/INSTANCE_ID/messages/text",
headers={"Authorization": "Bearer wa_live_YOUR_KEY"},
json={"number": "233200000000", "text": "Hello from EnoSend"},
)Node.js:
await fetch("https://api.enosend.com/api/wa/v1/instances/INSTANCE_ID/messages/text", {
method: "POST",
headers: {
"Authorization": "Bearer wa_live_YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
number: "233200000000",
text: "Hello from EnoSend",
}),
});You get back { "ok": true, "sent": true, "message_id": "...", ... }. Use that message_id with GET /messages/<message_id> to check delivery status later.
5. Receive replies via webhook
In the dashboard: Instance settings → Webhooks → Add URL. Paste any HTTPS endpoint you control (n8n, your backend, even a webhook.site URL while prototyping). EnoSend POSTs every inbound message there, signed with HMAC-SHA256 so you can verify origin.
That's it. Full reference lives in the developer docs.