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

# Реакция на сообщение

> Добавляет, изменяет или снимает реакцию текущего пользователя.

Добавляет, изменяет или снимает реакцию текущего пользователя.

## Доступ

В каждом запросе обязателен заголовок `XF-Api-Key`. Примеры используют серверную переменную `$FORUM_API_KEY`; [тип ключа и контекст пользователя](/guard-forum/authentication) определяют доступ к данным.

<ParamField header="XF-Api-Key" type="string" required>
  Ключ API. Храните его на сервере интеграции; в примере используется переменная окружения.
</ParamField>

Обязательные scopes: `thread:write`.

## Особенности

Реакция действует от имени текущего пользователя API. Повторный запрос с тем же `reaction_id` снимает установленную реакцию; поэтому повторная отправка не является безопасным способом повторить действие после неопределённого сетевого результата.

## Параметры

<ParamField path="id" type="integer" required>
  ID сообщения. Значение `123` в примере условное.
</ParamField>

<ParamField body="reaction_id" type="integer" required>
  ID реакции. Передача той же реакции, которая уже установлена текущим пользователем, снимает её.
</ParamField>

Тело запроса: `application/x-www-form-urlencoded`. Данные передаются в UTF-8.

## Успешный ответ

HTTP `200`. Пример ниже сокращён и содержит только условные данные. Полные объекты и условия видимости полей описаны в [схемах данных](/guard-forum/models).

| Поле | Тип | Описание |
| - | - | - |
| `success` | `true` | `true`, если действие выполнено успешно. |
| `action` | `string` | `insert` — действие добавлено; `delete` — существующая реакция или голос сняты. |

## Ошибки

Стандартный ответ содержит массив `errors` с `code`, `message` и `params`. Проверяйте HTTP-статус и машинный код; [формат и обработка ошибок](/guard-forum/requests-and-errors) общие для API.

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --header "XF-Api-Key: $FORUM_API_KEY" \
    --header 'Accept: application/json' \
    --data-urlencode 'reaction_id=1' \
    'https://forum.arzguard.com/api/posts/123/react'
  ```
</RequestExample>

<ResponseExample>
  ```json Сокращённый условный ответ theme={null}
  {
    "success": true,
    "action": "insert"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.