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

# Reactions

> Emoji reactions on a comment, separate from the like button. Livewire and the JSON API.

Reactions are a Pro feature. They sit beside the like button, not instead of it. The React and Vue SDKs do not render this row. Livewire does, and the API can toggle the same rows.

```php theme={null}
'reactions' => [
    'enabled' => true,
    'emojis' => ['👍', '❤️', '😂', '🎉', '😕'],
],
```

Set `enabled` to `false` to hide the row. Only emojis in `emojis` are accepted. Anything else is ignored on Livewire and returns `422` on the API.

The installer creates `commentify_reactions`. If that table is missing, the row stays hidden and the API returns `404`.

## Livewire

Pro's comment partial includes the reaction component when `reactions.enabled` is true. Clicking an emoji adds that reaction for the current visitor. Clicking it again removes it. Signed-in users are stored by user id. Guests are stored by IP and user agent.

## API

```
POST /commentify/api/v1/comments/{id}/reactions
```

```json theme={null}
{ "emoji": "👍" }
```

The response is the current counts:

```json theme={null}
{ "reactions": { "👍": 2, "🎉": 1 } }
```

The route uses the write rate limiter and respects read-only mode. See [JSON API](https://docs.commentify.pro/api.md).


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