---
title: "Mark thread read cursor"
method: POST
path: "/v1/assistant/threads/{threadId}/read"
tags: ["assistant"]
---

# Mark thread read cursor

`POST /v1/assistant/threads/{threadId}/read`

## Request

- Base URL: `https://sandbox.api.infinite.dev`
- URL: `https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/read`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/infinite/apis/infinite-api/docs/v1/assistant/threads/:threadId/read/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `threadId` string, required

## Request body

- MarkAssistantThreadReadDto
  - `lastReadMessageId` string, required

## Response `201`

- AssistantOkResponseDto
  - `ok` boolean, required

## Other responses

- `401`: Unauthorized - Invalid or missing JWT token

## Changes

- **2026-10-16** `f48e031634f4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/infinite/apis/infinite-api/changes/v1/assistant/threads/:threadId/read/post.md)

---

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