Quickstart
This guide walks you through creating an instance, connecting it, and sending your first message.
Prerequisites
A Wappfy account (sign up )
A WhatsApp number to connect
An API key or Supabase JWT token
Step 1: Get your API key
curl -X POST https://api.wappfy.io/api/api-keys \
-H "Authorization: Bearer YOUR_SUPABASE_JWT" \
-H "Content-Type: application/json" \
-d '{ "name": "My First Key" }'
Save the returned key value — it is only shown once.
Step 2: Create an instance
curl -X POST https://api.wappfy.io/api/instances \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production WhatsApp",
"instance_type": "waha"
}'
Save the returned id — you’ll use it in all subsequent requests.
Step 3: Connect via QR code
# Start the connection
curl -X POST https://api.wappfy.io/api/instances/INSTANCE_ID/connect \
-H "X-Api-Key: YOUR_API_KEY"
# Get the QR code
curl https://api.wappfy.io/api/instances/INSTANCE_ID/qr \
-H "X-Api-Key: YOUR_API_KEY"
Open WhatsApp on your phone, go to Linked Devices , and scan the QR code returned in the qr field (base64 image).
Step 4: Send a message
Once the instance status is connected, you can send your first message:
curl -X POST https://api.wappfy.io/api/instances/INSTANCE_ID/messages/send \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999999999",
"type": "text",
"body": "Hello from Wappfy!"
}'
Response
{
"success" : true ,
"data" : {
"message" : "Message queued for delivery" ,
"jobId" : "12345"
},
"meta" : {
"requestId" : "req_abc123" ,
"timestamp" : "2026-02-10T12:00:00.000Z"
}
}
Next steps
Send all message types Images, videos, polls, contacts, and more
Set up webhooks Receive incoming messages and delivery status