Skip to main content
POST
Send Reaction
Auth: TokenAccount or TokenInstanceRate-limit: Global (100/min) • Idempotent: no

Description

Adds or removes a reaction (emoji) on an existing message. The reaction field accepts the emoji ("👍", "❤️", "😂", etc.) or the literal string "remove" to remove the reaction. In 1-to-1 chats, messageId + fromMe is enough. In groups, when the original message was not sent by the instance (fromMe: false), you must provide participant with the original author’s JID, without it, WhatsApp can’t locate the target. Reactions do not support delay, replyTo or mention.

Examples

React in a 1-to-1 chat

fromMe: false indicates that the target message was received (not sent) by the instance.

React in a group (message from another participant)

In groups, when you react to a message that isn’t yours (fromMe: false), the participant with the original author’s JID is required. Without it the server returns 400 missing_participant.

Remove a reaction

Send reaction: "remove" to clear a reaction previously placed on the message.

Success response

The returned messageId is for the reaction itself (not the reacted message, that one stays in replyTo.messageId). content carries the applied emoji, or an empty string when the reaction was removed.
200 OK
When the reaction is removed (reaction: "remove"), the returned message becomes "Reaction removed successfully" and content is empty. The reaction appears on the recipient anchored to the original message, if you react again with another emoji, WhatsApp replaces the previous reaction.

Path parameters

string
required
Instance name (e.g., $Instance_Name).

Headers

string
required
TokenAccount or TokenInstance.
string
required
application/json

Request body

string
required
Chat where the target message lives: phone (5511999999999) or JID (@s.whatsapp.net, @lid, @g.us).
string
required
ID of the message that will receive the reaction.
string
required
Reaction emoji (e.g., "👍", "❤️", "😂", "🔥") or the literal string "remove" to clear an existing reaction.
boolean
default:"false"
true when the original message was sent by the instance itself; false when it was received from another contact/participant. WhatsApp uses this flag along with participant to locate the target.
string
JID of the original message author (e.g., 5511888888888@s.whatsapp.net). Required in groups when fromMe: false, without it the server returns 400 missing_participant. In 1-to-1 chats or when fromMe: true, it’s ignored.
string
default:"api"
Origin identifier for traceability (e.g., crm, support-bot, n8n). Saved on the message record and propagated to webhooks.

Notes

  • Reactions do not support delay, replyTo, replyPrivate, mention or mentionAll, only the fields listed above.
  • To change an existing reaction, just send a new one with another emoji. WhatsApp replaces it automatically.
  • In groups, without the correct participant the reaction fails with missing_participant even if the messageId exists in the database.
  • fromMe must reflect the actual side of the message. If inverted, WhatsApp may fail to locate the target and the reaction silently disappears on the recipient’s app.

Errors

Error envelope: