---
title: "Mark a chat room read through a message seen by the reader"
method: POST
path: "/v2/chat/rooms/{roomId}/read"
tags: ["chat"]
---

# Mark a chat room read through a message seen by the reader

`POST /v2/chat/rooms/{roomId}/read`

## Request

- Base URL: `https://app.legend.trade/api/rest`
- URL: `https://app.legend.trade/api/rest/v2/chat/rooms/{roomId}/read`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/legend/apis/legend-api/docs/v2/chat/rooms/:roomId/read/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `roomId` string, uuid, required

## Request body

- object
  - `excludeTradeEvents` boolean
  - `expectedUserId` string, uuid
  - `upToMessageId` string, uuid, required: Newest message seen by the reader. Read progress never moves backward.

## Response `200`

Successful response

- ChatRoomReadThroughOutput
  - `success` boolean, required
  - `unreadCount` integer, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `500`: Internal server error

## Changes

> 110 revisions in range; 1 not diffed.

- **2026-10-21** `be91c3fa83a3`: 1 info
  - added the new optional request property `excludeTradeEvents`
- **2026-10-04** `ec3c2c8d9c62`: 1 info
  - added the new optional request property `expectedUserId`
- **2026-09-23** `e5989989e1b0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/legend/apis/legend-api/changes/v2/chat/rooms/:roomId/read/post.md)

---

[API](https://skmtc.dev/legend/apis/legend-api.md) - [All operations](https://skmtc.dev/legend/apis/legend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/legend/apis/legend-api/revisions/e7dbec738069?raw)
