---
title: "List ChatKit threads"
method: GET
path: "/chatkit/threads"
---

# List ChatKit threads

`GET /chatkit/threads`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/chatkit/threads`
- Auth: HTTP bearer

List ChatKit threads with optional pagination and user filters.

## Query parameters

- `limit` integer
- `order` 'asc' | 'desc'
- `after` string: List items created after this thread item ID. Defaults to null for the first page.
- `before` string: List items created before this thread item ID. Defaults to null for the newest results.
- `user` string: Filter threads that belong to this user identifier. Defaults to null to return all users.

## Response `200`

Success

- ThreadListResource: A paginated list of ChatKit threads.
  - `object` 'list', required: The type of object returned, must be `list`.
  - `data` ThreadResource[], required: A list of items
    - `id` string, required: Identifier of the thread.
    - `object` 'chatkit.thread', required: Type discriminator that is always `chatkit.thread`.
    - `created_at` integer, required: Unix timestamp (in seconds) for when the thread was created.
    - `title` string, nullable, required: Optional human-readable title for the thread. Defaults to null when no title has been generated.
    - `status` union, required: Current status for the thread. Defaults to `active` for newly created threads.
      - ActiveStatus: Indicates that a thread is active.
        - `type` 'active', required: Status discriminator that is always `active`.
      - LockedStatus: Indicates that a thread is locked and cannot accept new input.
        - `type` 'locked', required: Status discriminator that is always `locked`.
        - `reason` string, nullable, required: Reason that the thread was locked. Defaults to null when no reason is recorded.
      - ClosedStatus: Indicates that a thread has been closed.
        - `type` 'closed', required: Status discriminator that is always `closed`.
        - `reason` string, nullable, required: Reason that the thread was closed. Defaults to null when no reason is recorded.
    - `user` string, required: Free-form string that identifies your end user who owns the thread.
  - `first_id` string, nullable, required: The ID of the first item in the list.
  - `last_id` string, nullable, required: The ID of the last item in the list.
  - `has_more` boolean, required: Whether there are more items available.

## Other responses

- `400`: The request is invalid or the required ChatKit beta header is missing or invalid.
- `404`: The thread specified by after was not found or is not accessible.
- `429`: The request rate limit has been exceeded.

## Changes

- **2026-10-06** `487892d3954e`: 3 info
  - added the optional property `error/misalignment/review_target` to the response with the `400` status
  - added the optional property `error/misalignment/review_target` to the response with the `404` status
  - added the optional property `error/misalignment/review_target` to the response with the `429` status
- **2026-10-05** `7f654af7f94f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/chatkit/threads/get.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
