---
title: "Get thread messages"
method: GET
path: "/threads/{id}/messages"
tags: ["Threads"]
---

# Get thread messages

`GET /threads/{id}/messages`

## Request

- Base URL: `https://api.savanto.ai`
- URL: `https://api.savanto.ai/threads/{id}/messages`
- Auth: HTTP bearer

Retrieve all messages for a specific conversation thread. Requires admin:threads or chat scope.

## Path parameters

- `id` string, required

## Response `200`

Thread messages

- object
  - `object` 'thread', required
  - `requestId` string, required
  - `data` object, required
    - `threadId` string, required
    - `messages` object[], required
      - `id` string, required
      - `role` 'user' | 'assistant', required
      - `content` string, required
      - `timestamp` string, required
      - `source` string
      - `agentInfo` unknown
    - `count` number, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `413`: Payload too large
- `429`: Rate limit exceeded

---

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