EnoSend

Send your first WhatsApp message with the EnoSend REST API

From sign-up to your first delivered message in under 5 minutes.

Send your first WhatsApp message with the EnoSend REST API

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.

Frequently asked questions

Do I need to install an SDK?

No. EnoSend is plain JSON over HTTPS. If you can make an HTTP request, you can use EnoSend — curl, requests, fetch, axios, Postman, Insomnia, all work fine.

How do I receive inbound messages?

Register a webhook URL in your dashboard. EnoSend signs every payload with HMAC-SHA256 so you can verify it came from us before processing.