Personal messages, sent at scale.
Pick an approved template and pass up to 10,000 recipients. Each person gets their own variables, and each result comes back by number.
Wati MCP server
Connect any client that supports remote MCP, sign in with OAuth, and ask in plain English: list templates, preview a send, tag a chat, update a contact.
Last updated
Tools for templates, campaigns, contacts, segments and the team inbox. Sign in once. No API key in the config.
Pick an approved template and pass up to 10,000 recipients. Each person gets their own variables, and each result comes back by number.
Inside the 24-hour window, send text, images, files, reply buttons and list pickers, with a typing indicator while you work.
Your store, booking or billing system sends an approved template when something changes. Customers tap a button or reply.
The message webhook brings each new message to your server. Reply with the send endpoints, or start a Wati chatbot on Pro and Business.
Webhooks push new messages, read receipts, clicks and failures to your URL. No polling.
Replies land in the Wati team inbox. Assign an operator, set status and add tags by API, so the right person picks it up.
Create and update contacts with custom attributes, then preview a segment before you message it.
List comments on your posts, reply in public or send a private reply.
Link your WhatsApp number through Meta's Embedded Signup inside Wati.
Create an API token in Wati and give it only the scopes you need. Keep it on your server.
Send an approved template with one request. Then add a webhook to follow delivery.
Here is what goes into one request, and where each part shows up in the message.
The customer's WhatsApp number, with country code.
phone_number14155552671The name of a template that Meta has approved in your account.
template_nameorder_updateThe values for the blanks in the template, one per person.
custom_paramsname = Mayaorder_id = 10482Your API token, sent with every request. Keep it on your server.
Authorization: Bearer <token>A 200 means Wati accepted the message, with a broadcast_id. Delivered and read arrive later by webhook.
200broadcast_idThe message text and order_update are examples. Your approved template sets the wording.
The comment you are answering. You get its ID when you list a post's comments.
comment_idin the URL pathYour Instagram account connected to Wati.
channelThe person who wrote the comment, taken from the same comment.
userIduserNamePlain text up to 1,000 characters, or a template with buttons.
type = texttexttype = templateA 200 with ok set to true means the private reply went through. Use the same Authorization header as every other call.
ok: trueresult: successPOST /api/ext/v3/comments/{comment_id}/privateReply. The comment and reply text are examples. See the request in the docs
Connect through Meta's Embedded Signup. The WhatsApp Business Account is registered to your business.
Approval, quality and category changes arrive as webhooks, so you know before a send fails.
Up to 144 retries, every 10 minutes. If your endpoint keeps failing, Wati emails you.
Go too fast and you get 429 with a Retry-After header. Accepted messages wait in a queue.
A shared team inbox for the conversations your code should not answer alone.
v3 supports scoped tokens, so each integration gets only the access it needs.
Schedule a template send for later with one call. Wati sends it on time.
Estimate what a broadcast will cost before anything is sent.
Start conversations with approved templates, now or scheduled.
Docs →GET/messageTemplatesPOST/messageTemplates/sendPOST/messageTemplates/scheduleRead campaign results and per-recipient status, and estimate cost first.
Docs →GET/broadcastsGET/broadcasts/{broadcast_id}/recipientsPOST/broadcasts/estimate-costReply with text, media or buttons inside the 24-hour window.
Docs →POST/conversations/messages/textPOST/conversations/messages/fileViaUrlPOST/conversations/messages/interactivePOST/conversations/typingIndicatorList your Wati chatbots and start one for a contact.
Docs →GET/chatbotsPOST/chatbots/startManage subscriptions and list the event types you can receive.
Docs →GET/webhooksGET/webhooks/event-typesPUT/webhooks/{id}Sync contacts and attributes from your CRM, then target segments.
Docs →POST/contactsPUT/contactsPOST/segments/evaluateAssign an operator, change status, add or remove tags.
Docs →PUT/conversations/{target}/operatorPUT/conversations/{target}/statusPOST/conversations/{target_conv}/tagsList posts and comments, reply in public or in private, check permissions.
Docs →GET/posts/{post_id}/commentsPOST/comments/{comment_id}/repliesPOST/comments/{comment_id}/privateReplyGET/channels/{channel}/permissionsPaths are relative to https://live-mt-server.wati.io/api/ext/v3. Creating a webhook uses the legacy path POST /{tenantId}/api/v2/webhookEndpoints.
For AI agents, the Wati MCP server covers the same WhatsApp actions, and can reply to Instagram DMs and Messenger chats with text.
BSUID versions of several events are also available. Webhook docs
Calls to send templates, depending on your plan (Growth, Pro or Business).
One template, up to 10,000 people, each with their own variables.
Text, media and buttons need an open customer service window. Outside it, send a template.
Wati tells you how long to wait. Accepted messages are processed in a queue.
| Endpoint | Growth | Pro | Business |
|---|---|---|---|
/addContact, /getContacts | 10 / 10 s | 10 / 10 s | 10 / 10 s |
/getMessages | 10 / 10 s | 10 / 10 s | 10 / 10 s |
/sendTemplateMessage | 30 / 10 s | 60 / 10 s | 100 / 10 s |
/sendTemplateMessages | 30 / 10 s | 60 / 10 s | 100 / 10 s |
Limits as published on Errors & Rate Limits, listed by endpoint name. The v1 bulk call takes up to 1,000 contacts. Core messaging, template and contact endpoints are on every plan. Team assignment, chat status, chatbots and custom segments need Pro or Business. Updating attributes for many contacts at once needs Business. Endpoint availability by plan. For higher limits, talk to Wati about your use case.
A remote MCP server that lets AI assistants use Wati. The docs list 58 tools for templates, campaigns, contacts, segments, conversations, tags and webhooks; your signed-in session's tool list is what counts. Connect to https://mcp.wati.io/mcp, or https://eu-mcp.wati.io/mcp for EU workspaces.
No. Your MCP client signs you in with OAuth, so no API key goes in the config or the URL. Use the EU URL if your workspace is in the EU region.
WhatsApp, with the full set of tools. Instagram DM and Messenger text replies are available too, and Messenger needs a Wati OAuth sign-in. Instagram comment and chatbot tools are rolling out gradually.
Less than you used to. AI app builders can write the API calls from plain-English instructions, and the examples on this page show each call.
You still need a WhatsApp number connected to Wati, an API token, and a template that Meta has approved before you can start a conversation. If an AI tool writes the code, check that your token stays on the server.
Contact and message-history calls are limited to 10 requests per 10 seconds on every plan. Template sends are limited to 30, 60 or 100 requests per 10 seconds on Growth, Pro and Business. When you hit a limit you get HTTP 429 with a Retry-After header. For higher limits, contact Wati.
On WhatsApp, free-form text, media and interactive messages need an open 24-hour customer service window. Outside that window, start the conversation with a template that Meta has approved.
The Business app is for manual chats on a phone, with up to 5 linked devices and broadcast lists capped at 256 contacts. The API connects WhatsApp to your own systems. You can send approved templates at volume, automate replies, receive webhooks and share one number across a team inbox.
Core messaging, template and contact endpoints are on every plan. Team assignment, chat status, chatbots and custom segments need Pro or Business. The docs list endpoint availability by plan.
Start free, connect your WhatsApp number in Wati and make your first call.