---
title: "List threads"
method: GET
path: "/api/v1/threads"
tags: ["threads"]
---

# List threads

`GET /api/v1/threads`

## Query parameters

- `projectId` string, required
- `status` 'active' | 'waiting' | 'pending_user' | 'error' | 'ready_for_review' | 'idle'
- `limit` integer
- `cursor` string

## Response `200`

ThreadPage

- ThreadPageEncoded
  - `items` ThreadEncoded[], required
    - `id` string, required
    - `projectId` string, nullable, required
    - `authorId` string, nullable, required
    - `title` string, nullable, required
    - `titleCustom` boolean, required
    - `status` 'active' | 'waiting' | 'pending_user' | 'error' | 'ready_for_review' | 'idle' | 'archived', required
    - `archived` boolean, required
    - `lastModelId` string, nullable, required
    - `usage` UsageTotalsEncoded, required
      - `llmCredits` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `imageCredits` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `vmCredits` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
      - `totalCredits` union, required
        - number
        - 'Infinity' | '-Infinity' | 'NaN'
    - `createdAt` string, required
    - `updatedAt` string, required
    - `lastActivityAt` string, nullable, required
  - `cursor` string, nullable, required

## Other responses

- `401` — capy/Unauthorized
- `404` — capy/ProjectNotFound

## Changes

- **2026-08-27** `6cd1e287d2c5` — 1 breaking, 6 info
  - added the pattern `^\d{1,15}:.+` to the `query` request parameter `cursor`
  - removed `subschema #1` from the `cursor/anyOf[subschema #1]/` response property `allOf` list for the response status `200`
  - response property `items/items/usage/imageCredits/anyOf[subschema #1]/` list-of-types was narrowed by removing types `string` from media type `application/json` of response `200`
  - response property `items/items/usage/llmCredits/anyOf[subschema #1]/` list-of-types was narrowed by removing types `string` from media type `application/json` of response `200`
  - …3 more
- **2026-08-19** `530d92ec3e63` — 1 info
  - added the required property `items/items/authorId` to the response with the `200` status
- **2026-08-15** `3a998a0e7870` — 1 info
  - added the required property `items/items/usage/imageCredits` to the response with the `200` status
- **2026-08-11** `792c11dd1007` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/capy/apis/capy-api/changes/api/v1/threads/get.md)

---

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