---
title: "Create unified message (chat or comment)"
method: POST
path: "/v1/messages"
tags: ["stream-chat"]
---

# Create unified message (chat or comment)

`POST /v1/messages`

## Request

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

Send a new message via public v1 endpoint (supports both chat and comments)

## Request body

- SendUnifiedMessageDto
  - `content` string, required
  - `tokenName` string, required
  - `type` 'COMMENT' | 'CHAT_MESSAGE'

## Response `200`

Message created successfully - returns message object with ID, timestamp, and user info

- MessageMutationSuccessEnvelopeDto
  - `data` union, required
    - ChatMessageResponseDto
      - `content` string, required
      - `createdAt` string, date-time, required
      - `holderTier` MessageHolderTierResponseDto
        - `tier` 0 | 1 | 2 | 3 | 4 | 5, required
        - `tierName` string, required
      - `id` number
      - `messageId` string
      - `reactions` ChatReactionDataResponseDto
        - `reactions` ChatReactionsByTypeResponseDto[], required
          - `count` number, required
          - `reactionType` 'heart' | 'fire' | 'laugh' | 'wow' | 'thumbs_up', required
          - `userReacted` boolean, required
          - `users` ChatReactionUserResponseDto[], required
            - `fullName` string
            - `profileImage` string
            - `userAddress` string, required
        - `totalCount` number, required
      - `tokenName` string, required
      - `user` MessageUserProfileResponseDto
        - `bio` string, nullable
        - `createdAt` string, date-time
        - `engagementBadge` union
          - 'SPARK' | 'GATHERING' | 'CROWD' | 'MOVEMENT'
          - unknown
        - `fullName` string, nullable, required
        - `launchBadge` union
          - 'ONE_HIT_WONDER' | 'TOKEN_CRAFTER' | 'CRYPTO_SAVVY' | 'CRYPTO_PRO' | 'MIDAS_TOUCH'
          - unknown
        - `profileImage` string, nullable, required
        - `successBadge` union
          - '250k' | '1M' | '10M+'
          - unknown
        - `volumeBadge` union
          - '1k' | '10k' | '100k' | '1M+'
          - unknown
      - `userAddress` string, required
    - MessageResponseDto
      - `content` string, required
      - `createdAt` string, date-time, required
      - `id` number, required
      - `messageId` string, required
      - `updatedAt` string, date-time, required
      - `user` object, nullable
        - `bio` string, nullable
        - `createdAt` string, date-time
        - `engagementBadge` union
          - 'SPARK' | 'GATHERING' | 'CROWD' | 'MOVEMENT'
          - unknown
        - `fullName` string, nullable, required
        - `launchBadge` union
          - 'ONE_HIT_WONDER' | 'TOKEN_CRAFTER' | 'CRYPTO_SAVVY' | 'CRYPTO_PRO' | 'MIDAS_TOUCH'
          - unknown
        - `profileImage` string, nullable, required
        - `successBadge` union
          - '250k' | '1M' | '10M+'
          - unknown
        - `volumeBadge` union
          - '1k' | '10k' | '100k' | '1M+'
          - unknown
      - `userAddress` string, required
  - `error` false, required
  - `message` string, required
  - `status` number, required

## Other responses

- `400`: Bad request - tokenName missing, content missing/empty/exceeds max length, invalid message type, or other validation error
- `401`: Unauthorized - missing or invalid JWT token
- `403`: Forbidden - user profile incomplete, user is banned, or messaging disabled
- `404`: Token not found - tokenName does not match any existing pool
- `500`: Internal server error - failed to save message to database or broadcast via WebSocket
- `default`: Shared error envelope for authentication, validation, and message 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)
