Skip to main content
POST
React to a message
Acknowledge a message with a 👍 instead of sending another one.

Notes

  • message_id is the message you are reacting to. For a message you sent, that is the data.message_id you got back from the send.
  • Set from_me: true when reacting to a message you sent from this number. It defaults to false, meaning a message the contact sent you, and it cannot be worked out from the id alone — which is why it is a separate field.
  • emoji must be a single emoji with no spaces, up to 24 characters (a multi-part emoji such as 👨‍👩‍👧 counts as several).
  • Send "emoji": "" to remove a reaction you added earlier. That is WhatsApp’s own behaviour, not a validation gap.
  • This is the only send type that does not accept quoted_message_id — the message key already identifies the conversation.

Add a reaction

cURL

Remove it again

cURL
You can only react to messages this API knows the id of — in practice, messages you sent. There is no way to receive incoming messages or their ids. See What is not available yet.

Authorizations

apikey
string
header
required

Your API key, sent in an apikey request header. Never in the URL, never as a Bearer token.

Body

application/json
instance_id
string<uuid>
required

Which of your connected numbers to send FROM. Copy it from your numbers screen in the portal, or from GET /v1/instances. It must belong to your account.

Example:

"3f9c1a2b-7d4e-4c81-9f0a-2b6d5e8c1a34"

to
string
required

The recipient, with country code and no leading zero — for example 919876543210. Spaces, dashes, brackets and a leading + are accepted and stripped; 6 to 15 digits must remain.

Example:

"919876543210"

message_id
string
required

The message to react to — the data.message_id returned when it was sent. Letters, digits, _, =, +, / and - only.

Maximum string length: 128
Example:

"3EB0C1D2F4A5B6C7D8E9"

emoji
string
required

A single emoji with no spaces. Send an empty string to REMOVE a reaction you added earlier — that is WhatsApp's own behaviour, not an error.

Maximum string length: 24
Example:

"👍"

from_me
boolean
default:false

Set true when reacting to a message you sent from this number. Defaults to false (a message the contact sent you).

Response

Accepted for delivery.

success
boolean
data
object
request_id
string<uuid>