Threads (v1)
Legacy

Create threads that assistants can interact with.source

Related guide: Assistantssource

Create thread (v1)
Legacy

post https://api.openai.com/v1/threads

Create a thread.source

Request body

A list of messages to start the thread with.source

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maxium of 512 characters long.source

Returns

A thread object.source

Example request
1
2
3
4
5
curl https://api.openai.com/v1/threads \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v1" \
  -d ''
Response
1
2
3
4
5
6
{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1699012949,
  "metadata": {}
}

Retrieve thread (v1)
Legacy

get https://api.openai.com/v1/threads/{thread_id}

Retrieves a thread.source

Path parameters

The ID of the thread to retrieve.source

Returns

The thread object matching the specified ID.source

Example request
1
2
3
4
curl https://api.openai.com/v1/threads/thread_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v1"
Response
1
2
3
4
5
6
{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1699014083,
  "metadata": {}
}

Modify thread (v1)
Legacy

post https://api.openai.com/v1/threads/{thread_id}

Modifies a thread.source

Path parameters

The ID of the thread to modify. Only the metadata can be modified.source

Request body

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maxium of 512 characters long.source

Returns

The modified thread object matching the specified ID.source

Example request
1
2
3
4
5
6
7
8
9
10
curl https://api.openai.com/v1/threads/thread_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v1" \
  -d '{
      "metadata": {
        "modified": "true",
        "user": "abc123"
      }
    }'
Response
1
2
3
4
5
6
7
8
9
{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1699014083,
  "metadata": {
    "modified": "true",
    "user": "abc123"
  }
}

Delete thread (v1)
Legacy

delete https://api.openai.com/v1/threads/{thread_id}

Delete a thread.source

Path parameters

The ID of the thread to delete.source

Returns

Deletion statussource

Example request
1
2
3
4
5
curl https://api.openai.com/v1/threads/thread_abc123 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "OpenAI-Beta: assistants=v1" \
  -X DELETE
Response
1
2
3
4
5
{
  "id": "thread_abc123",
  "object": "thread.deleted",
  "deleted": true
}

The thread object (v1)
Legacy

Represents a thread that contains messages.source

The identifier, which can be referenced in API endpoints.source

The object type, which is always thread.source

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

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maxium of 512 characters long.source

OBJECT The thread object (v1)
1
2
3
4
5
6
{
  "id": "thread_abc123",
  "object": "thread",
  "created_at": 1698107661,
  "metadata": {}
}