---
title: "Get Threads"
method: GET
path: "/v1/omni-ai/threads"
tags: ["Omni AI"]
---

# Get Threads

`GET /v1/omni-ai/threads`

## Request

- Base URL: `https://api.clearstreet.com`
- URL: `https://api.clearstreet.com/v1/omni-ai/threads`
- Auth: HTTP bearer

List authorized conversation metadata, most recently active first (by
`updated_at`, which a new message moves). Use `page_size` and `page_token` for
pagination, and the messages endpoint for conversation history. A thread that
gets a message while you page moves to the first page.

With `account_id`, list only conversations linked to that account and require
current account access. Without it, list only conversations with no linked account.

## Query parameters

- `account_id` integer
- `page_size` integer
- `page_token` string, byte: Base64URL-encoded pagination token

## Response `200`

Paginated list of thread metadata

- object
  - `error` ApiError: A direct mapping of tonic::Status, for use in HTTP responses.
    - `code` integer, required: The error code is used to identify the nature of the error. It corresponds to an HTTP status code.
    - `details` object[]
    - `message` string, required: A human-readable message providing more details about the error.
  - `metadata` ResponseMetadata, required: Metadata for the response. This will always contain a request ID which can be used to identify the request to Clear Street for tracing, and optionally may include pagination data.
    - `next_page_token` string, byte, nullable: Base64URL-encoded pagination token
    - `page_number` integer, nullable: Pagination. Included if this was a GET (list) response
    - `previous_page_token` string, byte, nullable: Base64URL-encoded pagination token
    - `request_id` string, required: A unique ID for this request, generated upon ingestion of the request.
    - `total_items` integer, nullable: Total number of items available (not just in this page).
    - `total_pages` integer, nullable: Total number of pages available.
  - `data` Thread[], required
    - `created_at` string, date-time, required
    - `id` string, uuid, required
    - `title` string, required
    - `updated_at` string, date-time, required: Time of the last activity: a new message in the thread or a change to the thread.

## Other responses

- `400`: Invalid request or supplied account ID
- `401`: Authentication required
- `403`: Caller lacks linked-account access
- `404`: Resource not found or not owned by caller
- `409`: Thread scope changed or conflicting retry; refresh before retrying
- `500`: Internal server error

## Changes

- **2026-10-16** `1bd9eddeffc8`: 4 breaking, 3 warning, 9 info
  - removed the required property `code` from the response with the `400` status
  - removed the required property `code` from the response with the `500` status
  - removed the required property `message` from the response with the `400` status
  - removed the required property `message` from the response with the `500` status
  - …12 more

[Operation history](https://skmtc.dev/clear-street/apis/clear-street-trading-api/changes/v1/omni-ai/threads/get.md)

---

[API](https://skmtc.dev/clear-street/apis/clear-street-trading-api.md) - [All operations](https://skmtc.dev/clear-street/apis/clear-street-trading-api/llms.txt) - [OpenAPI document](https://skmtc.dev/clear-street/apis/clear-street-trading-api/revisions/52e77ea7d731?raw)
