> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pilotstatus.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# React to message

> Sends an emoji reaction to an existing message; supports `fromMe` and (for group messages) the `participant` author.



## OpenAPI

````yaml openapi.evolution-go.json POST /message/react
openapi: 3.1.0
info:
  title: Evolution GO Layer
  version: 1.0.0
  description: >-
    Pilot Status API Layer — Evolution GO. Base URL
    `https://pilotstatus.com.br/api/layer/evolution-go`. Authenticate with the
    `apikey` header (your Pilot Status `ps_` key) or `Authorization: Bearer`.
    Instance/session endpoints are NOT available through the layer.
servers:
  - url: https://pilotstatus.com.br/api/layer/evolution-go
security:
  - apiKey: []
tags:
  - name: Call (voice)
  - name: Chat
  - name: Community
  - name: Group
  - name: Label
  - name: Message
  - name: Newsletter / Channels
  - name: Send (load-balanced)
  - name: User / Contacts
paths:
  /message/react:
    post:
      tags:
        - Message
      summary: React to message
      description: >-
        Sends an emoji reaction to an existing message; supports `fromMe` and
        (for group messages) the `participant` author.
      operationId: post__message_react
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: Recipient chat, as a phone in E.164 digits or a JID
                  example: '5511999999999'
                reaction:
                  type: string
                  description: >-
                    Emoji to react with (send an empty string to remove the
                    reaction)
                  example: 👍
                id:
                  type: string
                  description: ID of the message to react to
                  example: 3EB0A1B2C3D4E5F6A7B8
                fromMe:
                  type: boolean
                  description: Whether the target message was sent by you
                  example: false
                participant:
                  type: string
                  description: Author JID of the message (needed for group messages)
                  example: 5511988888888@s.whatsapp.net
              required:
                - number
                - reaction
                - id
      responses:
        '200':
          description: Success — provider-native response body.
          content:
            application/json:
              schema:
                type: object
                description: >-
                  whatsmeow send result for the reaction, wrapped in the
                  standard success envelope.
                properties:
                  message:
                    type: string
                    description: Always "success" on HTTP 200.
                  data:
                    type: object
                    description: >-
                      MessageSendStruct returned by the reaction send. Fields
                      use Go PascalCase names (the struct has no JSON tags).
                    properties:
                      Info:
                        type: object
                        description: >-
                          Message metadata (whatsmeow types.MessageInfo; the
                          embedded MessageSource fields are inlined).
                        properties:
                          Chat:
                            type: string
                            description: JID the reaction was sent to.
                          Sender:
                            type: string
                            description: JID of the sender (this connected device).
                          IsFromMe:
                            type: boolean
                          IsGroup:
                            type: boolean
                          AddressingMode:
                            type: string
                            description: '"", "pn" (phone number) or "lid".'
                          ID:
                            type: string
                            description: >-
                              Message ID (equals the reacted message id supplied
                              in the request).
                          ServerID:
                            type: integer
                            description: Server-assigned id (0 for regular chats).
                          Type:
                            type: string
                            description: Always "ReactionMessage".
                          PushName:
                            type: string
                          Timestamp:
                            type: string
                            description: RFC3339 send time.
                          Category:
                            type: string
                          Multicast:
                            type: boolean
                          MediaType:
                            type: string
                          Edit:
                            type: string
                      Message:
                        type: object
                        description: The reaction payload actually sent (waE2E.Message).
                        properties:
                          reactionMessage:
                            type: object
                            properties:
                              key:
                                type: object
                                description: Key of the message being reacted to.
                                properties:
                                  remoteJID:
                                    type: string
                                    description: JID of the chat/message owner.
                                  fromMe:
                                    type: boolean
                                  ID:
                                    type: string
                                    description: ID of the message being reacted to.
                                  participant:
                                    type: string
                                    description: >-
                                      Group participant JID (only present for
                                      group reactions).
                              text:
                                type: string
                                description: >-
                                  Reaction emoji; empty string when the reaction
                                  was removed.
                              senderTimestampMS:
                                type: integer
                                description: Reaction timestamp in milliseconds.
                      MessageContextInfo:
                        type:
                          - object
                          - 'null'
                        description: Context info; null for reactions.
              example:
                message: success
                data:
                  Info:
                    Chat: 5511999999999@s.whatsapp.net
                    Sender: 5511888888888:23@s.whatsapp.net
                    IsFromMe: true
                    IsGroup: false
                    AddressingMode: ''
                    ID: 3EB0C767D26A1D8B2E1F
                    ServerID: 0
                    Type: ReactionMessage
                    PushName: ''
                    Timestamp: '2026-07-10T14:52:31Z'
                    Category: ''
                    Multicast: false
                    MediaType: ''
                    Edit: ''
                  Message:
                    reactionMessage:
                      key:
                        remoteJID: 5511999999999@s.whatsapp.net
                        fromMe: false
                        ID: 3EB0C767D26A1D8B2E1F
                      text: 👍
                      senderTimestampMS: 1752159151123
                  MessageContextInfo: null
        default:
          description: Error — provider or layer error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
                  response:
                    type: object
              example:
                status: 400
                error: Bad Request
                message: Invalid payload
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
      description: >-
        Your Pilot Status API key (ps_...). Evolution GO also accepts
        `Authorization: Bearer <key>`.

````