🚀 Get TikTok DMs and Ads in Wati Team Inbox and convert social engagement into revenue See TikTok on Wati

WhatsApp Calling API

WhatsApp Business Calling API: voice and chat on one number.

Customers tap the call icon in the chat they already use, and the call lands in your Wati team inbox next to the messages. Pull call logs, recordings, transcripts and summaries into your own systems by API.

  • Coming soonCall logs, recordings, transcripts, summaries and the call.status webhook

Last updated

Where WhatsApp Calling stands

CapabilityHow you use itStatus
Call logs, recordings, transcripts and summariesREST APIComing soon

Talk to us about your use case.

  • 16,000+businesses in 190+ countries
  • 4.6/5average rating on G2
  • OfficialMeta Business Partner and WhatsApp BSP
G2 Leader, ChatbotsG2 Leader Mid-Market, ChatbotsG2 Momentum Leader, ChatbotsG2 Most Implementable, WhatsApp MarketingISO 27001GDPR

One thread. Chat, call and transcript.

Every call sits next to the messages around it, with its recording, transcript and summary.

  • Starts with a templateAn approved template opens the conversation, for one customer or 10,000.
  • Continues in chatText, media and buttons once the customer replies.
  • Ends with your teamWebhooks tell your code. The team inbox tells your people.
The product

Send. Reply. Hear back. Hand off.

Broadcasts

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.

Messaging

Reply with more than text.

Inside the 24-hour window, send text, images, files, reply buttons and list pickers, with a typing indicator while you work.

Order updates and alerts

The right update, when it happens.

Your store, booking or billing system sends an approved template when something changes. Customers tap a button or reply.

Auto-reply and chatbots

Your code answers.

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

Every reply, the moment it lands.

Webhooks push new messages, read receipts, clicks and failures to your URL. No polling.

Team inbox

Code starts it. People finish it.

Replies land in the Wati team inbox. Assign an operator, set status and add tags by API, so the right person picks it up.

Contacts and segments

Your CRM, mirrored in Wati.

Create and update contacts with custom attributes, then preview a segment before you message it.

InstagramInstagram comments and DMs

Build Instagram automation too.

List comments on your posts, reply in public or send a private reply.

Get started

Live in three steps.

  1. Connect

    Connect your number

    Link your WhatsApp number through Meta's Embedded Signup inside Wati.

  2. Authenticate

    Get a token

    Create an API token in Wati and give it only the scopes you need. Keep it on your server.

  3. Send

    Make your first call

    Send an approved template with one request. Then add a webhook to follow delivery.

Your first request, explained

Here is what goes into one request, and where each part shows up in the message.

  1. Who

    The customer's WhatsApp number, with country code.

    phone_number14155552671
  2. Which message

    The name of a template that Meta has approved in your account.

    template_nameorder_update
  3. What to fill in

    The values for the blanks in the template, one per person.

    custom_paramsname = Mayaorder_id = 10482
  4. Your key

    Your API token, sent with every request. Keep it on your server.

    Authorization: Bearer <token>
  5. What you get back

    A 200 means Wati accepted the message, with a broadcast_id. Delivered and read arrive later by webhook.

    200broadcast_id

The message text and order_update are examples. Your approved template sets the wording.

Copy-ready codeHide the code
POST/api/ext/v3/messageTemplates/send
curl -X POST "https://live-mt-server.wati.io/api/ext/v3/messageTemplates/send" \
  -H "Authorization: Bearer $WATI_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "template_name": "order_update",
    "broadcast_name": "order_update_api",
    "recipients": [
      {
        "phone_number": "14155552671",
        "custom_params": [
          { "name": "name", "value": "Maya" },
          { "name": "order_id", "value": "10482" }
        ]
      }
    ]
  }'
200 Example responseShape from the docs example
{
  "success": true,
  "broadcast_id": "broadcast_123456",
  "recipients": [
    {
      "local_message_id": "local-msg-123",
      "phone_number": "14155552671",
      "errors": []
    }
  ]
}
Built in

What Wati handles so you don't have to.

Number onboarding

Connect through Meta's Embedded Signup. The WhatsApp Business Account is registered to your business.

Template status

Approval, quality and category changes arrive as webhooks, so you know before a send fails.

Webhook retries

Up to 144 retries, every 10 minutes. If your endpoint keeps failing, Wati emails you.

Rate limits and queueing

Go too fast and you get 429 with a Retry-After header. Accepted messages wait in a queue.

Human handoff

A shared team inbox for the conversations your code should not answer alone.

Scoped API tokens

v3 supports scoped tokens, so each integration gets only the access it needs.

Scheduled sends

Schedule a template send for later with one call. Wati sends it on time.

Cost estimate first

Estimate what a broadcast will cost before anything is sent.

Under the hood

The endpoints, by capability.

Templates

Start conversations with approved templates, now or scheduled.

Docs →
GET/messageTemplatesPOST/messageTemplates/sendPOST/messageTemplates/schedule

Broadcasts

Read campaign results and per-recipient status, and estimate cost first.

Docs →
GET/broadcastsGET/broadcasts/{broadcast_id}/recipientsPOST/broadcasts/estimate-cost

Messaging

Reply with text, media or buttons inside the 24-hour window.

Docs →
POST/conversations/messages/textPOST/conversations/messages/fileViaUrlPOST/conversations/messages/interactivePOST/conversations/typingIndicator

Chatbots Pro+

List your Wati chatbots and start one for a contact.

Docs →
GET/chatbotsPOST/chatbots/start

Webhooks

Manage subscriptions and list the event types you can receive.

Docs →
GET/webhooksGET/webhooks/event-typesPUT/webhooks/{id}

Contacts & segments

Sync contacts and attributes from your CRM, then target segments.

Docs →
POST/contactsPUT/contactsPOST/segments/evaluate

Team inbox

Assign an operator, change status, add or remove tags.

Docs →
PUT/conversations/{target}/operatorPUT/conversations/{target}/statusPOST/conversations/{target_conv}/tags

Instagram

List 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}/permissions

Paths 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.

See all 19 WhatsApp webhook event types

Messages

  • message
  • newContactMessageReceived
  • sessionMessageSent_v2
  • templateMessageSent_v2

Delivery status

  • sentMessageDELIVERED_v2
  • sentMessageREAD_v2
  • sentMessageREPLIED_v2
  • templateMessageFailed

Templates and account

  • templateReviewed
  • templateQualityUpdated
  • templateCategoryUpdated
  • wabaStatusReviewUpdate
  • PhoneNumberQualityUpdatedEvent
  • accountUpdated
  • accountDeleted
  • phoneNumberDeleted

Engagement and calls

  • chatbotTriggered
  • ctaUrlClicked
  • call.status

BSUID versions of several events are also available. Webhook docs

Limits and plans

Clear limits. Published.

30 to 100 per 10 s

Template sends

Calls to send templates, depending on your plan (Growth, Pro or Business).

10,000 recipients

Per v3 send call

One template, up to 10,000 people, each with their own variables.

24 h window

Free-form replies

Text, media and buttons need an open customer service window. Outside it, send a template.

429 Retry-After

When you go too fast

Wati tells you how long to wait. Accepted messages are processed in a queue.

Rate limits and plan availability in detail
Documented rate limits by plan
EndpointGrowthProBusiness
/addContact, /getContacts10 / 10 s10 / 10 s10 / 10 s
/getMessages10 / 10 s10 / 10 s10 / 10 s
/sendTemplateMessage30 / 10 s60 / 10 s100 / 10 s
/sendTemplateMessages30 / 10 s60 / 10 s100 / 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.

FAQ

Questions people ask

The full API reference is public. Read the docs

What is the WhatsApp Calling API?

It is Meta's official voice extension to the WhatsApp Business Platform. Businesses can make and receive voice calls inside the same WhatsApp thread customers use to message. Wati is an official Business Solution Provider, and calls appear in the Wati team inbox alongside chat history.

What does the Wati Calling API cover?

Call logs with GET /calls, and each call's recording, transcript and summary, one at a time or in batches. The call.status webhook tells your system when a call's status changes.

Can my business call customers on WhatsApp?

Yes, with their permission. Customers can call you from the chat. For business-initiated calls, Meta requires the customer to accept a call permission request first: one request per customer every 24 hours, up to two in 7 days, and the call must happen within 72 hours of approval.

Do I need to know how to code?

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.

What are the API rate limits?

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.

Can I message a customer at any time?

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.

What is the difference between the WhatsApp Business app and the API?

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.

Which endpoints are on my plan?

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.

Your first message is one request away.

Connect your WhatsApp number in Wati and make your first call. Talk to us if you want call data in your own systems.