Wabiss API
Use this API to send messages and access chats, contacts, groups, and instance status.
- Create and connect one instance from dashboard.
- Generate an API key from API Keys page.
- Pass `Authorization: Bearer <api_key>` for all `/api/v1/*` requests.
Authentication
All `/api/v1/*` endpoints require Bearer token auth.
Authorization: Bearer wa_your_api_key_here
Messaging APIs
Credits are deducted only for successful sends.
POST /api/v1/send/text
Send plain text message.
{
"to": "919876543210",
"message": "Hello from Wabiss"
}
POST /api/v1/send/image
Send image by URL (or base64 + mimetype in payload).
{
"to": "919876543210",
"url": "https://example.com/photo.jpg",
"caption": "Invoice image"
}
POST /api/v1/send/document
{
"to": "919876543210",
"url": "https://example.com/report.pdf",
"caption": "Monthly report"
}
POST /api/v1/send/audio
{
"to": "919876543210",
"url": "https://example.com/audio.mp3"
}
POST /api/v1/send/location
{
"to": "919876543210",
"latitude": 12.9716,
"longitude": 77.5946,
"name": "Bengaluru"
}
POST /api/v1/send/buttons
{
"to": "919876543210",
"message": "Choose one",
"buttons": [
{ "body": "Yes" },
{ "body": "No" }
],
"title": "Confirmation",
"footer": "Reply now"
}
POST /api/v1/send/list
{
"to": "919876543210",
"message": "Pick a plan",
"buttonText": "View plans",
"sections": [
{
"title": "Plans",
"rows": [
{ "id": "starter", "title": "Starter", "description": "500 credits (1 credit per message)" },
{ "id": "pro", "title": "Pro", "description": "2000 credits (1 credit per message)" }
]
}
]
}
POST /api/v1/send/bulk
Bulk route internally applies a safety delay between recipients.
{
"numbers": ["919876543210", "919999999999"],
"message": "Bulk campaign message"
}
Success Response
Use data for new integrations. Top-level messageId and credits fields are kept for backward compatibility.
{
"success": true,
"requestId": "req_7f83e8a2c5f0d9ab",
"timestamp": "2026-03-20T11:52:10.225Z",
"message": "Message sent successfully",
"data": {
"messageId": "3EB09ABD621F9593655F51",
"waMessageId": "true_919876543210@c.us_3EB09ABD621F9593655F51",
"to": "919876543210",
"type": "text",
"status": "sent",
"sentAt": "2026-03-20T11:52:10.224Z",
"credits": {
"used": 1,
"remaining": 636
}
},
"meta": {
"version": "v1",
"endpoint": "/api/v1/send/text",
"instanceId": "inst_abc123",
"apiKey": "wa_abcd...wxyz"
},
"messageId": "3EB09ABD621F9593655F51",
"creditsUsed": 1,
"creditsRemaining": 636
}
Webhook Events
Wabiss can push WhatsApp events to your endpoint using the instance webhook URL configured in Instance settings.
Current Event List
`incoming_message` Payload
{
"event": "incoming_message",
"instanceId": "inst_abc123",
"message": {
"from": "919876543210@c.us",
"body": "Hello",
"timestamp": 1712143512
}
}
Receiver Example
app.post('/my-webhook', express.json(), (req, res) => {
const payload = req.body;
// TODO: store/queue payload
return res.status(200).json({ ok: true });
});
Important Notes
- Set webhook URL per instance from dashboard when creating or editing an instance.
- Respond quickly with HTTP
200; slow endpoints may miss delivery. - Current implementation sends incoming message webhook only. Delivery/read status is available in Message Logs and Reports APIs.
Postman Collection
Import this once and test every API route without manually writing requests.
- Download collection and environment from buttons below.
- Import both into Postman.
- Set `api_key` variable with your generated key.
- Run requests folder-by-folder (Messaging, Contacts, Groups, Instance).
Common Errors
401 Missing or invalid API key402 Insufficient credits (1 credit required)409 Instance not connected429 Rate limit exceeded500 Internal server error{
"success": false,
"requestId": "req_7f83e8a2c5f0d9ab",
"timestamp": "2026-03-20T11:53:22.111Z",
"error": "Insufficient credits (1 credit required)",
"code": "BILLING_INSUFFICIENT_CREDITS",
"details": null,
"meta": {}
}
Try It Out
Select any endpoint, adjust payload/path, and send request directly from this page.
cURL
Response
{ "status": "Awaiting request" }