---
title: "React to a Message"
method: POST
path: "/messages/react"
tags: ["Messages"]
---

# React to a Message

`POST /messages/react`

## Request

- Base URL: `https://api.pinnacle.sh`
- URL: `https://api.pinnacle.sh/messages/react`
- Auth: API key in header `PINNACLE-API-KEY`

Add or remove an emoji reaction to a previously sent message.

## Request body

- MessageReactionSchema
  - `messageId` string, required: Unique identifier of the message. This identifier is a string that always begins with the prefix `msg_`, for example: `msg_1234567890`.
  - `options` ReactMessageOptions
    - `force` boolean: By default, only messages sent with the `options.tracking` field can be precisely reacted to. <br> Set `options.force` to true to bypass this restriction (may react to a different message). <br> For MMS and RCS, only messages containing text can be tracked. Otherwise, `options.force` is ignored.
  - `reaction` string, nullable, required: Unicode emoji to add. <br> Use `null` to remove existing reaction.

## Response `200`

Successfully added or removed a reaction from the message.

- ReactResponse
  - `messageId` string, required: Unique identifier of the message. This identifier is a string that always begins with the prefix `msg_`, for example: `msg_1234567890`.
  - `reactionMessageId` string, required: Unique identifier of the message with the reaction. This identifier is a string that always begins with the prefix `msg_`, for example: `msg_1234567890`.

## Other responses

- `400`: The request was unacceptable, often due to providing an invalid update. <br> Errors may originate from invalid payload or from Pinnacle's additional validation checks. For example, providing an URL that cannot be accessed, updating a campaign that is currently being reviewed, updating data that you cannot access, sending a malformed message, and so on. <br> For `Pinnacle Validation Error` inspect the `error` payload to determine the source of the failure. These errors are likely due to additional validation and business logic checks.<br> For `Request Validation Error` inspect the `description` and `errors` payload to determine the source of failure. These errors are likely due to invalid payload inside the request.
- `401`: The request lacks valid authentication credentials or the provided credentials are invalid. <br> Ensure you're including a valid API key in the request headers and that your account has the necessary permissions to access this endpoint.
- `402`: Insufficient credits to complete this request. <br> This occurs when your account balance is below the required amount for processing the operation. Please add credits to your account to continue using the service.
- `403`: Your subscription does not include access to this feature. <br> This occurs when attempting to use functionality that requires a higher subscription tier. Please upgrade your subscription to access this feature.
- `404`: The requested resource could not be found. <br> This may occur if the identifier is incorrect, the resource has been deleted, or you don't have permission to access it.
- `500`: An unexpected error occurred on Pinnacle's servers while processing your request. <br> If this error persists, please contact support with the request details.
- `501`: The requested functionality is not implemented on the server. <br> This typically indicates that the feature or endpoint you attempted to access is unavailable or not yet supported.

---

[API](https://skmtc.dev/pinnacle/apis/pinnacle-2.md) - [All operations](https://skmtc.dev/pinnacle/apis/pinnacle-2/llms.txt) - [OpenAPI document](https://skmtc.dev/pinnacle/apis/pinnacle-2/revisions/45416dadab79?raw)
