Developers
REST API
Send WhatsApp messages straight from your own software - a website, a CRM, or a background job. Every response is JSON and carries a machine-readable error code.
https://www.ajontec.org/api/v1
Authentication
Create a key from Dashboard → API keys. The secret is shown once, at creation. Send both headers with every request.
X-Api-Key: wapi_xxxxxxxxxxxx
X-Api-Secret: wask_xxxxxxxxxxxx
Keys can be limited to specific IP addresses and have their own per-minute rate limit.
/send/text
Plain text message
{
"to": "919876543210",
"message": "Hello! Your order has been confirmed."
}
/send/media
Image, video or document
{
"to": "919876543210",
"type": "image",
"url": "https://example.com/bill.jpg",
"caption": "Your invoice"
}
/send/template
Approved template (outside the 24-hour window)
{
"to": "919876543210",
"template": "order_update",
"language": "en_US",
"params": ["Rahul", "ORD-1029"]
}
/contacts
Create or update a contact
{
"name": "Rahul Sharma",
"phone": "919876543210",
"email": "rahul@example.com"
}
/contacts
List contacts (query: q, per_page)
/status
Plan details and remaining quota
/balance
Credit balance and plan quota left
/groups
List contact groups
/templates
List templates with approval status
/campaigns
Create and launch a bulk campaign
{
"name": "Diwali offer",
"template_id": 4,
"category": "marketing",
"group_ids": [2, 5],
"speed_per_minute": 30,
"start": true
}
/campaigns/{id}
Live progress of one campaign
/contacts
List contacts, paginated
/contacts
Create or update a contact
{
"phone": "919876543210",
"name": "Asha Verma",
"email": "asha@example.com",
"tags": ["vip"]
}
Response format
{
"success": true,
"message": "Message queued to WhatsApp.",
"data": { "wamid": "wamid.HBgM..." }
}
Error codes: 401 invalid credentials · 402 quota exhausted · 403 IP not allowed · 422 validation or WhatsApp error · 429 rate limit (120 req/min).
Ready to build?
Create an account, connect a number, and issue your first API key in a couple of minutes.