For developers
WhatsApp Business API for developers: REST API and webhooks
Send WhatsApp messages from your own app. A straightforward REST API with per-organisation keys, plus signed webhooks so your systems hear about every message and status change.
API keys
Create and revoke keys yourself. The plaintext key is shown once and stored hashed.
Send endpoint
POST a text message inside the 24-hour window, or a template outside it.
Signed webhooks
HMAC-SHA256 signed deliveries for message.received and message.status.
For developers
Built to drop into what you already run
Everything sent through the API lands in the same inbox your team uses, so nothing is invisible.
- ✓Bearer token or x-api-key
- ✓Sends recorded into the shared inbox
- ✓Retry-safe, idempotent status handling
- ✓SSRF-guarded outgoing webhooks
- ✓Test endpoint to check a key
# send an invoice the moment it is raised curl -X POST https://api.vartaapi.com/v1/messages \ -H "Authorization: Bearer vk_live_…" \ -d '{"to":"9198XXXXXXXX", "template":{"name":"document_share", "headerFilename":"INV-1042.pdf"}}'
Send WhatsApp messages from your own software
VartaAPI is a Meta Tech Provider: you connect your own number through Meta, and the REST API sits on top of it. Create an API key in the app, then POST a text message to a customer inside the 24-hour window, or an approved template outside it. Authenticate with a bearer token or an x-api-key header.
Everything sent through the API is recorded in the same shared inbox your team uses, so nothing is invisible. You can also send documents, such as an invoice PDF from your billing system, including from software that can only post raw file bytes.
Webhooks in both directions
Outgoing webhooks tell your systems what happened: message.received and message.status events, signed with HMAC-SHA256 so you can check they came from us. A failed delivery is retried up to four times, every attempt is kept in a delivery log, and you can redeliver one by hand.
Incoming, a flow built in the flow builder can be started by one JSON request from your own software to a private address. Whatever fields you send are available to the message by their path, for example the customer's name and the invoice number. The reply says whether the message was sent, or why not, so your code can tell a fixable problem from a retry.
Safe to put in production
Keys are created and revoked by you; the plaintext key is shown once and stored hashed. Outgoing webhooks refuse addresses on your internal network. There is a test endpoint to check a key before you wire it in. Phone numbers must include the country code, for example 919876543210; spaces, dashes and a leading plus are stripped.
Questions
Questions people ask before they start.
Is this the official WhatsApp Business API?
Do I have to create a Meta developer app myself?
Which plan has API access?
How do I authenticate?
What does Meta charge for messages sent through the API?
Where do messages sent through the API appear?
Ready to try it on your own number?
7-day free trial · No credit card required