---
title: "Sends a WhatsApp message"
method: POST
path: "/whatsapp"
tags: ["WhatsApp"]
---

# Sends a WhatsApp message

`POST /whatsapp`

## Request

- Base URL: `https://cpaas.zoho.com/v1.1`
- URL: `https://cpaas.zoho.com/v1.1/whatsapp`
- Auth: API key in header `Authorization`

Sends a single WhatsApp message to a single recipient. The message content comes from a pre-approved WhatsApp template, addressed by `template_key` or `template_alias`; The message content is based on the `merge_info` which provides the values for the template placeholders. `from` must be a  valid WhatsApp sender number configured for the sending agent. Both `from` and `to` must include the country code.

The message is queued on acceptance; template-variable and delivery failures surface asynchronously in the message logs (for example, a send with missing template variables is accepted but ends in the `process_failed` status).

## Request body

- WhatsAppSendWhatsAppRequest: Request body for sending a WhatsApp message. Provide exactly one of `template_key` / `template_alias`; the template supplies the message content.
  - `from` string, required: WhatsApp sender number of the agent, including the country code.
  - `to` string, required: Recipient phone number, including the country code.
  - `template_key` string, uuid: Key of a pre-approved WhatsApp template. Provide this or `template_alias`.
  - `template_alias` string: Alias of a pre-approved WhatsApp template. Provide this or `template_key`.
  - `merge_info` object: Key-value map that supplies the template's variables. A message with missing variable values is accepted but fails asynchronously with the `process_failed` status.
  - `agent_id` string: Identifier of the sending agent. Optional - defaults to the agent bound to the API token.
  - `client_reference` string: Client-supplied reference identifier, echoed in the message logs.

## Response `200`

WhatsApp message queued for delivery.

- WhatsAppSendWhatsAppResponse: Success response returned when the WhatsApp message is queued for delivery.
  - `data` object
    - `code` string: Acceptance code.
    - `message_id` string, uuid: Unique identifier of the message. Use it with the message-details API.
    - `message` string
    - `request_id` string: Unique identifier assigned to the send request.
  - `status` string

## Other responses

- `400`: Bad Request - a required field is missing (`TM_3301`/`SERR_110`, `TM_3201`/`GE_102`) or a value is malformed. Please check the parameters and the syntax.
- `401`: Access Denied (`TM_4001`) - missing or invalid API token, or a template that is not valid for the sending agent. Please check the authorization details and try again.
- `403`: Request Denied (`TM_3601`) - the `from` number is a WhatsApp sender added to a different agent (`WSE_107`).

---

[API](https://skmtc.dev/zoho/apis/zoho-cpaas.md) - [All operations](https://skmtc.dev/zoho/apis/zoho-cpaas/llms.txt) - [OpenAPI document](https://skmtc.dev/zoho/apis/zoho-cpaas/revisions/f0858a38e8b0?raw)
