---
title: "Update unified message (chat or comment)"
method: PUT
path: "/v1/messages/{id}"
tags: ["stream-chat"]
---

# Update unified message (chat or comment)

`PUT /v1/messages/{id}`

## Request

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

Update a message (message author only)

## Path parameters

- `id` string, required

## Request body

- UpdateUnifiedMessageDto
  - `content` string, required

## Response `200`

Message updated successfully - returns updated message object

- 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 - content is missing, empty, or exceeds max length (500 for chat, 2000 for comment)
- `401`: Unauthorized - missing or invalid JWT token
- `403`: Forbidden - user is not the message author or user is banned
- `404`: Message not found - id parameter does not match any existing message
- `500`: Internal server error - failed to update message in database or broadcast via WebSocket
- `default`: Shared error envelope for authentication, validation, and message update 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)
