---
title: "Add reaction to message"
method: PUT
path: "/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me"
tags: ["Channels"]
---

# Add reaction to message

`PUT /channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me`

## Request

- Base URL: `https://web.fluxer.app/api/v1`
- URL: `https://web.fluxer.app/api/v1/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `Authorization`

Adds an emoji reaction to a message. Each user can react once with each emoji. Cannot be used from unclaimed accounts outside personal notes. Returns 204 No Content on success.

## Path parameters

- `channel_id` union, required
  - string, snowflake
  - integer
- `message_id` union, required
  - string, snowflake
  - integer
- `emoji` string, required: The emoji identifier

## Query parameters

- `session_id` string: The session ID for synchronization

## Response `204`

No Content

## Other responses

- `400`: Bad Request - The request was malformed or contained invalid data
- `401`: Unauthorized - Authentication is required or the token is invalid
- `403`: Forbidden - You do not have permission to perform this action
- `429`: Too Many Requests - You are being rate limited
- `500`: Internal Server Error - An unexpected error occurred

## Changes

> 39 revisions in range; 2 not diffed.

- **2026-09-06** `a52a2cf49d9b`: 32 warning, 200 info
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `400`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `401`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `403`
  - added the new `IP_BAN_DECLINED` enum value to the `code` response property for the response status `500`
  - …228 more
  - …this revision’s changelog is incomplete
- **2026-09-05** `4dbb738a3e22`: 4 info
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `400`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `401`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `403`
  - removed the `NSFW_EMOJI_STICKER_BLOCKED` enum value from the `code` response property for the response status `500`
- …earlier changes not shown

[Operation history](https://skmtc.dev/fluxer/apis/fluxer-api/changes/channels/:channel_id/messages/:message_id/reactions/:emoji/@me/put.md)

---

[API](https://skmtc.dev/fluxer/apis/fluxer-api.md) - [All operations](https://skmtc.dev/fluxer/apis/fluxer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fluxer/apis/fluxer-api/revisions/9534dbe80d92?raw)
