---
title: "Add reaction"
method: POST
path: "/v1/reactions"
tags: ["content-reactions"]
---

# Add reaction

`POST /v1/reactions`

## Request

- Base URL: `https://lpad-backend.stage.defi.ovh.gala.com`
- URL: `https://lpad-backend.stage.defi.ovh.gala.com/v1/reactions`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/gala/apis/launchpad-backend-api/docs/v1/reactions/post.ts> (a function with typed inputs; its response is checked against the schema)

Add an emoji reaction to a pool message

## Response `200`

Reaction added; counts and preview users are returned.

- AddReactionSuccessEnvelopeDto
  - `data` AddReactionDataResponseDto, required
    - `created` boolean, required
    - `reactions` ReactionsByTypeResponseDto[], required
      - `count` number, required
      - `reactionType` 'heart' | 'fire' | 'laugh' | 'wow' | 'thumbs_up', required
      - `userReacted` boolean, required
      - `users` ReactionUserInfoResponseDto[], required
        - `fullName` string
        - `profileImage` string
        - `userAddress` string, required
    - `totalCount` number, required
  - `error` false, required
  - `message` string, required
  - `status` number, required

## Other responses

- `400`: Bad request - reactionType is invalid emoji format or messageId is not a valid UUID
- `401`: Unauthorized - missing or invalid JWT token or API key
- `403`: Forbidden - user profile incomplete or user is banned
- `404`: Message not found - messageId does not exist
- `500`: Internal server error - failed to save reaction to database
- `default`: Shared error envelope for authentication, validation, and service failures.

---

[API](https://skmtc.dev/gala/apis/launchpad-backend-api.md) - [All operations](https://skmtc.dev/gala/apis/launchpad-backend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gala/apis/launchpad-backend-api/revisions/74545971be2b?raw)
