Skip to content
Built on the official WhatsApp Business Platform · Trusted by businesses across India · Book a free demo →
Developer Platform

Build anything on the official WhatsApp API

Messages, contacts, flows, templates and real-time webhooks - one REST API, documented the way you'd document it yourself.

Developer platform overview

REST

JSON OVER HTTPS

API Key

BEARER AUTHENTICATION

Webhooks

REAL-TIME EVENTS

Official

WHATSAPP BUSINESS API

cURL
Node
Python
PHP
// send a template message curl -X POST https://api.ayuchat.in/api/public/messages/send-template \ -H 'Authorization: Bearer {token}' \ -d '{ "to": "+919876500000", "template": "order_confirmed", "params": ["Ayush", "#4821"] }' // → 200 OK, message_id: "wamid.HXa91"
// send a template message import { AyuChat } from '@ayuchat/sdk'; const client = new AyuChat('{token}'); await client.messages.send({ to: '+919876500000', template: 'order_confirmed', params: ['Ayush', '#4821'] });
# send a template message from ayuchat import Client client = Client("{token}") client.messages.send( to="+919876500000", template="order_confirmed", params=["Ayush", "#4821"] )
// send a template message use AyuChat\Client; $client = new Client('{token}'); $client->messages->send([ 'to' => '+919876500000', 'template' => 'order_confirmed', 'params' => ['Ayush', '#4821'] ]);
Quick Start

From sign-up to your first message in under 5 minutes

No approval wait, no ticket queue - grab a sandbox key and start building immediately.

1

Create an account & generate an API key

Sign up, verify your WhatsApp Business number, and copy your sandbox key from Settings → API Keys.

2

Install the SDK for your language

Official libraries for Node.js, Python and PHP - or call the REST API directly with any HTTP client.

3

Send your first message

Use an approved template or plain text in sandbox mode, and watch the delivery webhook fire in real time.

4

Go live

Switch your API key from sandbox to live mode once you're ready - no code changes required.

API Reference

Six resources, everything you need

Every endpoint returns predictable JSON, uses standard HTTP status codes, and is versioned so nothing breaks under you.

Messages API

Send text, template, media and interactive messages, or fetch delivery status for any message you've sent.

  • POST /api/public/messages/send-template
  • Media & delivery-status endpoints · Coming Soon
View Reference

Contacts API

Create, update and tag contacts, manage segments, and query your full contact database programmatically.

  • GET /api/public/contacts
  • POST /api/public/contacts
  • Contact update endpoint · Coming Soon
View Reference

Flows API

Trigger automation flows from any external event - a webhook, a cart update, a CRM change.

  • Flows API · Coming Soon
View Reference

Templates API

Draft, submit and check Meta approval status for message templates without opening the dashboard.

  • GET /api/public/templates
  • GET /api/public/campaigns
  • Template submission & status endpoints · Coming Soon
View Reference

Webhooks API

Subscribe to real-time events - inbound messages, delivery receipts, flow completions and more.

  • Webhook management API · Coming Soon
View Reference

Analytics API

Pull campaign, conversation and agent-performance metrics directly into your own dashboards.

  • Analytics API · Coming Soon
View Reference
Authentication

One bearer token, two environments

Every request is authenticated with a bearer token in the Authorization header. Sandbox keys never send real WhatsApp messages - they simulate delivery so you can build safely.

  • Separate sandbox and live keys, generated per project
  • Keys scoped to specific permissions (read-only, send-only, full access)
  • Instantly revocable from your dashboard if compromised
  • Full audit log of every API call made with each key
curl https://api.ayuchat.in/api/public/contacts \ -H 'Authorization: Bearer sk_live_51Hn...' \ -H 'Content-Type: application/json' // sandbox keys are prefixed sk_test_... // live keys are prefixed sk_live_...
Webhooks

Subscribe to events, in real time

Register a URL once, and AyuChat will POST a JSON payload to it the instant any of these events happen.

EventFires when…
message.receivedFires the instant a customer sends a new inbound message.
message.deliveredFires when an outbound message is delivered to the customer's device.
message.readFires when the customer reads a message (blue tick).
message.failedFires if a message fails to send, with an error reason attached.
flow.completedFires when a contact finishes running through an automation flow.
broadcast.completedFires once a broadcast campaign finishes sending to its full audience.
contact.createdFires the moment a new contact is added to your account.
order.paidFires when a Razorpay payment link sent in-chat is successfully paid.
SDKs & Tools

Official libraries, or roll your own

NO
Coming Soon

Node.js

npm install @ayuchat/sdk
PY
Coming Soon

Python

pip install ayuchat
PH
Coming Soon

PHP

composer require ayuchat/sdk
PO
Coming Soon

Postman Collection

Import & explore every endpoint
CL
Coming Soon

CLI

npm install -g @ayuchat/cli
Sandbox Mode

Build and test without touching a real customer

Every account gets a free sandbox environment with simulated delivery, read receipts and webhook events - so you can build your entire integration before going live.

  • ✓ Pre-verified test phone numbers included
  • ✓ All webhook events fire exactly like production
  • ✓ Switch to live with one config change, zero code changes
Open Sandbox →
// sandbox test numbers +919876500001 // always delivers +919876500002 // always fails +919876500003 // delayed delivery (5s) // point your webhook to a local tunnel // while testing, e.g. ngrok
Limits & Errors

Predictable limits, clear error messages

PlanRate LimitMonthly Messages
Starter60 req / min3,000 messages / mo
Growth300 req / min15,000 messages / mo
Scale1,000 req / min50,000 messages / mo
EnterpriseCustomUnlimited
CodeMeaningCause
400Bad RequestThe request body is missing a required field or malformed.
401UnauthorizedYour API key is missing, invalid, or has been revoked.
403ForbiddenYour plan doesn't include access to this endpoint.
404Not FoundThe resource ID you referenced doesn't exist.
429Rate LimitedYou've exceeded your plan's requests-per-minute limit.
500Server ErrorSomething went wrong on our end - contact support@ayuchat.in if it persists.

Built on the official WhatsApp Business Platform

Live API reference available now · public status page coming soon

Get Help

Stuck on something? We're close by.

Developer Discord Coming Soon

A space to chat with our team and other builders in real time.

GitHub Issues Coming Soon

Public SDK repositories for bug reports and feature requests.

Developer Support

Email support@ayuchat.in for anything API-related.

Full Documentation

Guides, tutorials and deep dives beyond the API reference.

Ready to start building on AyuChat?