---
title: "Set a message reaction"
url: https://docs.gleap.ai/en/reference/rest-api/set-message-reaction
method: PUT
path: "/messages/{messageId}/reactions"
api: "API Reference"
tag: "Messages"
operationId: "SetMessageReaction"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Set a message reaction

`PUT https://api.gleap.io/v3/messages/{messageId}/reactions`

Add or remove an emoji reaction on a message.

Reactions are INTERNAL — never visible to end customers, never fire webhooks/SLA/unread, never move the ticket's latest message. The update reaches open dashboards via the ordinary comment.updated broadcast.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `messageId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

- `emoji` (string, required): The unicode emoji, e.g. "👍" or "👨‍👩‍👧". Validated server-side (pictographic/keycap/flag required, max 32 UTF-16 units).
- `op` (enum<string>, required): One of: `add`, `remove`.

## Example request

```bash
curl --request PUT \
  --url 'https://api.gleap.io/v3/messages/{messageId}/reactions' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{
  "emoji": "<emoji>",
  "op": "add"
}'
```

## Responses

### 200 (`application/json`)

Ok
