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

# Send Reaction

> React to an existing WhatsApp message with an emoji.

## Basic Usage

```bash theme={null}
curl -X POST "https://api.flowiq.live/send-whatsapp" \
  -H "Authorization: Bearer fiq_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "+27123456789",
    "message_type": "reaction",
    "reaction": {
      "message_id": "wamid.HBgLMjc4MTIzNDU2NzgVAgASGBQzRUI...",
      "emoji": "❤️"
    }
  }'
```

***

## Request Body

| Field                 | Type   | Required | Description                              |
| --------------------- | ------ | -------- | ---------------------------------------- |
| `phone_number`        | string | Yes      | Recipient phone number with country code |
| `message_type`        | string | Yes      | Must be `"reaction"`                     |
| `reaction.message_id` | string | Yes      | WhatsApp message ID to react to          |
| `reaction.emoji`      | string | No       | Emoji to react with (default: 👍)        |

```json theme={null}
{
  "phone_number": "+27123456789",
  "message_type": "reaction",
  "reaction": {
    "message_id": "wamid.HBgLMjc4MTIzNDU2NzgVAgASGBQzRUI...",
    "emoji": "❤️"
  }
}
```

***

## Response

### Success (200)

```json theme={null}
{
  "success": true,
  "message": "Message sent successfully",
  "data": {
    "message_id": "wamid.HBgLMjc4MTIzNDU2NzgVAgASGBQzRUI...",
    "recipient": "27123456789",
    "message_type": "reaction"
  }
}
```

### Error: Missing Required Field (400)

```json theme={null}
{
  "error": "Missing required field",
  "message": "reaction.message_id is required for reaction messages"
}
```

***

## Integration Example

```javascript theme={null}
async function sendReaction(apiKey, phoneNumber, messageId, emoji = "👍") {
  const response = await fetch(
    `https://api.flowiq.live/send-whatsapp`,
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${apiKey}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        phone_number: phoneNumber,
        message_type: "reaction",
        reaction: {
          message_id: messageId,
          emoji,
        },
      }),
    }
  );
  const data = await response.json();
  if (!response.ok) throw new Error(data.message);
  return data;
}
```

***

<Card title="Message IDs" icon="reply">
  Retrieve `reaction.message_id` values from the conversations endpoint. It must
  be a valid WhatsApp message ID from the conversation.
</Card>


## OpenAPI

````yaml flowiq-api-reference/openapi-send-reaction.json POST /send-whatsapp
openapi: 3.1.0
info:
  title: FlowIQ - Send Reaction
  version: 1.0.0
servers:
  - url: https://api.flowiq.live
    description: FlowIQ Production API
security:
  - BearerAuth: []
paths:
  /send-whatsapp:
    post:
      tags:
        - Endpoints
      summary: Send Reaction
      description: React to an existing WhatsApp message with an emoji.
      operationId: sendReactionMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone_number:
                  type: string
                  description: Recipient phone number with country code
                  example: '+27123456789'
                message_type:
                  type: string
                  enum:
                    - reaction
                  description: Must be "reaction"
                  example: reaction
                reaction:
                  type: object
                  description: Reaction configuration
                  properties:
                    message_id:
                      type: string
                      description: WhatsApp message ID to react to
                    emoji:
                      type: string
                      description: Emoji to react with
                      default: 👍
                  required:
                    - message_id
              required:
                - phone_number
                - message_type
                - reaction
      responses:
        '200':
          description: Message sent successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Message sent successfully
                  data:
                    type: object
                    properties:
                      message_id:
                        type: string
                        example: wamid.HBgLMjc4MTIzNDU2NzgVAgASGBQzRUI...
                      recipient:
                        type: string
                        example: '27123456789'
                      message_type:
                        type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token for authentication. Format: `Bearer YOUR_BEARER_TOKEN`'
      bearerFormat: JWT

````