Skip to content
Primary navigation

List ChatKit threads

beta.chatkit.threads.list(**kwargs) -> ConversationCursorPage<ChatKitThread { id, created_at, object, 3 more } >
GET/chatkit/threads

List ChatKit threads with optional pagination and user filters.

ParametersExpand Collapse
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.

limit: Integer

Maximum number of thread items to return. Defaults to 20.

minimum0
maximum100
order: :asc | :desc

Sort order for results by creation time. Defaults to desc.

Accepts one of the following:
:asc
:desc
user: String

Filter threads that belong to this user identifier. Defaults to null to return all users.

minLength1
maxLength512
ReturnsExpand Collapse
class ChatKitThread { id, created_at, object, 3 more }

Represents a ChatKit thread and its current status.

id: String

Identifier of the thread.

created_at: Integer

Unix timestamp (in seconds) for when the thread was created.

object: :"chatkit.thread"

Type discriminator that is always chatkit.thread.

status: { type} | { reason, type} | { reason, type}

Current status for the thread. Defaults to active for newly created threads.

Accepts one of the following:
class Active { type }

Indicates that a thread is active.

type: :active

Status discriminator that is always active.

class Locked { reason, type }

Indicates that a thread is locked and cannot accept new input.

reason: String

Reason that the thread was locked. Defaults to null when no reason is recorded.

type: :locked

Status discriminator that is always locked.

class Closed { reason, type }

Indicates that a thread has been closed.

reason: String

Reason that the thread was closed. Defaults to null when no reason is recorded.

type: :closed

Status discriminator that is always closed.

title: String

Optional human-readable title for the thread. Defaults to null when no title has been generated.

user: String

Free-form string that identifies your end user who owns the thread.

List ChatKit threads

require "openai"

openai = OpenAI::Client.new

page = openai.beta.chatkit.threads.list

puts(page)
{
  "data": [
    {
      "id": "cthr_abc123",
      "object": "chatkit.thread",
      "title": "Customer escalation"
    },
    {
      "id": "cthr_def456",
      "object": "chatkit.thread",
      "title": "Demo feedback"
    }
  ],
  "has_more": false,
  "object": "list"
}
Returns Examples
{
  "data": [
    {
      "id": "cthr_abc123",
      "object": "chatkit.thread",
      "title": "Customer escalation"
    },
    {
      "id": "cthr_def456",
      "object": "chatkit.thread",
      "title": "Demo feedback"
    }
  ],
  "has_more": false,
  "object": "list"
}