---
title: "List thread"
method: POST
path: "/api/log_threads/"
tags: ["threads"]
---

# List thread

`POST /api/log_threads/`

Retrieve threads matching the specified filters with pagination.

## Query parameters

- `page` integer
- `page_size` integer
- `environment` string

## Headers

- `Authorization` string, required

## Request body

- object
  - `filters` ApiLogThreadsPostRequestBodyContentApplicationJsonSchemaFilters — Filter criteria. See [Filters API Reference](/docs/apis/reference/filters-api-reference).
    - `thread_identifier` FilterValue — A filter condition with an operator and value.
      - `operator` '' | 'iexact' | 'lt' | 'lte' | 'gt' | 'gte' | 'contains' | 'icontains' | 'startswith' | 'endswith' | 'in' | 'isnull' | 'not' — Comparison operator. Empty string for exact match.
      - `value` unknown[], required — Value(s) to filter by.
        - unknown
    - `customer_identifier` FilterValue — A filter condition with an operator and value.
      - `operator` '' | 'iexact' | 'lt' | 'lte' | 'gt' | 'gte' | 'contains' | 'icontains' | 'startswith' | 'endswith' | 'in' | 'isnull' | 'not' — Comparison operator. Empty string for exact match.
      - `value` unknown[], required — Value(s) to filter by.
        - unknown
    - `organization_key_id` FilterValue — A filter condition with an operator and value.
      - `operator` '' | 'iexact' | 'lt' | 'lte' | 'gt' | 'gte' | 'contains' | 'icontains' | 'startswith' | 'endswith' | 'in' | 'isnull' | 'not' — Comparison operator. Empty string for exact match.
      - `value` unknown[], required — Value(s) to filter by.
        - unknown

## Response `200`

Paginated list of threads.

- ThreadsListThreadsResponse200
  - `count` integer — Total matching threads.
  - `next` string, nullable — Next page URL.
  - `previous` string, nullable — Previous page URL.
  - `results` ApiLogThreadsPostResponsesContentApplicationJsonSchemaResultsItems[]
    - `thread_identifier` string — Thread ID.
    - `environment` string — Environment.
    - `log_count` integer — Number of spans in this thread.

## Other responses

- `401` — Unauthorized
- `413` — The query exceeded a memory or execution-time resource limit.

## Changes

- **2026-08-13** `4e064cf81dae` — 1 breaking, 22 warning, 7 info
  - removed the success response with the status `201`
  - removed the request property `completion_tokens`
  - removed the request property `cost`
  - removed the request property `created_at`
  - …26 more
- **2026-07-31** `c26d550029f8` — 11 breaking, 4 warning, 14 info
  - added the new required request property `completion_tokens`
  - added the new required request property `cost`
  - added the new required request property `id`
  - added the new required request property `latency`
  - …25 more

[Change history](https://skmtc.dev/keywordsai/apis/api-reference/changes/api/log_threads/post.md)

---

[API](https://skmtc.dev/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.dev/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/keywordsai/api-reference/revisions/4e064cf81dae/schema)
