Quickstart
Send your first WhatsApp message in about two minutes.
1. Create a key
In your SendKuy dashboard, open Developers → Keys and create one. The key is shown once — store it now, because we keep only a hash of it and cannot show it to you again.
Give it only the scopes you need. A key that can read contacts and send messages
needs contacts:read and messages:write, nothing more.
2. Send
curl -X POST https://app.sendkuy.com/api/v1/messages \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "whatsapp",
"to": ["+6281234567890"],
"body": "Your order is on its way."
}'Numbers must be E.164, with the leading +. A local number is refused rather
than guessed — guessing the wrong country sends a stranger a message and bills
you for it.
3. Read the answer
{
"data": [
{
"object": "message",
"id": "msg_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3",
"channel": "whatsapp",
"status": "queued",
"to": "+6281234567890"
}
]
}data is an array, one object per recipient. One message is one line of
delivery: one person, one status. Send to three numbers and you get three
objects back, not one with three addresses.
4. Check on it later
curl https://app.sendkuy.com/api/v1/messages/msg_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3 \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Polling works, but webhooks are better: we call you when the status changes instead of you asking.
What next
- Authentication — scopes, and what each one grants.
- Idempotency — retry safely without sending twice.
- Errors — every failure this API can answer with.