---
title: "List items that belong to a ChatKit thread."
method: GET
path: "/chatkit/threads/{thread_id}/items"
---

# List items that belong to a ChatKit thread.

`GET /chatkit/threads/{thread_id}/items`

## Path parameters

- `thread_id` string, required

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

## Response `200`

Success

- ThreadItemListResource — A paginated list of thread items rendered for the ChatKit API.
  - `object` 'list', required — The type of object returned, must be `list`.
  - `data` ThreadItem[], required — A list of items
    - union
      - UserMessageItem — User-authored messages within a thread.
        - `id` string, required — Identifier of the thread item.
        - `object` 'chatkit.thread_item', required — Type discriminator that is always `chatkit.thread_item`.
        - `created_at` integer, required — Unix timestamp (in seconds) for when the item was created.
        - `thread_id` string, required — Identifier of the parent thread.
        - `type` 'chatkit.user_message', required
        - `content` union[], required — Ordered content elements supplied by the user.
          - union — Content blocks that comprise a user message.
            - UserMessageInputText — Text block that a user contributed to the thread.
              - …
            - UserMessageQuotedText — Quoted snippet that the user referenced in their message.
              - …
        - `attachments` Attachment[], required — Attachments associated with the user message. Defaults to an empty list.
          - `type` 'image' | 'file', required
          - `id` string, required — Identifier for the attachment.
          - `name` string, required — Original display name for the attachment.
          - `mime_type` string, required — MIME type of the attachment.
          - `preview_url` string, uri, nullable, required — Preview URL for rendering the attachment inline.
        - `inference_options` InferenceOptions, required — Model and tool overrides applied when generating the assistant response.
          - `tool_choice` ToolChoice, required — Tool selection that the assistant should honor when executing the item.
            - `id` string, required — Identifier of the requested tool.
          - `model` string, nullable, required — Model name that generated the response. Defaults to null when using the session default.
      - AssistantMessageItem — Assistant-authored message within a thread.
        - `id` string, required — Identifier of the thread item.
        - `object` 'chatkit.thread_item', required — Type discriminator that is always `chatkit.thread_item`.
        - `created_at` integer, required — Unix timestamp (in seconds) for when the item was created.
        - `thread_id` string, required — Identifier of the parent thread.
        - `type` 'chatkit.assistant_message', required — Type discriminator that is always `chatkit.assistant_message`.
        - `content` ResponseOutputText[], required — Ordered assistant response segments.
          - `type` 'output_text', required — Type discriminator that is always `output_text`.
          - `text` string, required — Assistant generated text.
          - `annotations` union[], required — Ordered list of annotations attached to the response text.
            - union — Annotation object describing a cited source.
              - …
      - WidgetMessageItem — Thread item that renders a widget payload.
        - `id` string, required — Identifier of the thread item.
        - `object` 'chatkit.thread_item', required — Type discriminator that is always `chatkit.thread_item`.
        - `created_at` integer, required — Unix timestamp (in seconds) for when the item was created.
        - `thread_id` string, required — Identifier of the parent thread.
        - `type` 'chatkit.widget', required — Type discriminator that is always `chatkit.widget`.
        - `widget` string, required — Serialized widget payload rendered in the UI.
      - ClientToolCallItem — Record of a client side tool invocation initiated by the assistant.
        - `id` string, required — Identifier of the thread item.
        - `object` 'chatkit.thread_item', required — Type discriminator that is always `chatkit.thread_item`.
        - `created_at` integer, required — Unix timestamp (in seconds) for when the item was created.
        - `thread_id` string, required — Identifier of the parent thread.
        - `type` 'chatkit.client_tool_call', required — Type discriminator that is always `chatkit.client_tool_call`.
        - `status` 'in_progress' | 'completed', required
        - `call_id` string, required — Identifier for the client tool call.
        - `name` string, required — Tool name that was invoked.
        - `arguments` string, required — JSON-encoded arguments that were sent to the tool.
        - `output` string, nullable, required — JSON-encoded output captured from the tool. Defaults to null while execution is in progress.
      - TaskItem — Task emitted by the workflow to show progress and status updates.
        - `id` string, required — Identifier of the thread item.
        - `object` 'chatkit.thread_item', required — Type discriminator that is always `chatkit.thread_item`.
        - `created_at` integer, required — Unix timestamp (in seconds) for when the item was created.
        - `thread_id` string, required — Identifier of the parent thread.
        - `type` 'chatkit.task', required — Type discriminator that is always `chatkit.task`.
        - `task_type` 'custom' | 'thought', required
        - `heading` string, nullable, required — Optional heading for the task. Defaults to null when not provided.
        - `summary` string, nullable, required — Optional summary that describes the task. Defaults to null when omitted.
      - TaskGroupItem — Collection of workflow tasks grouped together in the thread.
        - `id` string, required — Identifier of the thread item.
        - `object` 'chatkit.thread_item', required — Type discriminator that is always `chatkit.thread_item`.
        - `created_at` integer, required — Unix timestamp (in seconds) for when the item was created.
        - `thread_id` string, required — Identifier of the parent thread.
        - `type` 'chatkit.task_group', required — Type discriminator that is always `chatkit.task_group`.
        - `tasks` TaskGroupTask[], required — Tasks included in the group.
          - `type` 'custom' | 'thought', required
          - `heading` string, nullable, required — Optional heading for the grouped task. Defaults to null when not provided.
          - `summary` string, nullable, required — Optional summary that describes the grouped task. Defaults to null when omitted.
  - `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.

---

[API](https://skmtc.net/openai/apis/openai-api-3.md) · [All operations](https://skmtc.net/openai/apis/openai-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openai/openai-api-3/versions/74cbcf73838f/schema)
