---
title: "Search threads"
method: POST
path: "/threads/search"
tags: ["Threads"]
---

# Search threads

`POST /threads/search`

## Request

- Base URL: `https://api.savanto.ai`
- URL: `https://api.savanto.ai/threads/search`
- Auth: HTTP bearer

Search and filter conversation threads with pagination, date ranges, and sorting.

## Request body

- ThreadSearchRequest
  - `query` string
  - `userId` string
  - `dateFrom` string
  - `dateTo` string
  - `limit` integer
  - `offset` integer
  - `minMessages` integer
  - `maxMessages` integer
  - `minTokens` integer
  - `maxTokens` integer
  - `hasUnresolvedQueries` boolean
  - `sortBy` 'timestamp' | 'messageCount' | 'tokenCount'
  - `sortOrder` 'asc' | 'desc'

## Response `200`

Thread search results

- object
  - `object` 'search_result', required
  - `requestId` string, required
  - `data` object, required
    - `items` object[], required
    - `pagination` Pagination, required
      - `total` number, nullable, required
      - `limit` number, required
      - `hasMore` boolean, required
      - `offset` number
      - `cursor` string, nullable

## 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)
