Skip to main content

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