Reference

Threads

A thread is a conversation: the runs in it share what was said, the files that were made and one sandbox. Threads started in the app and over the API are the same threads.

List threads

GET/api/v1/threads

The account's threads, newest first, up to fifty.

json
{
  "object": "list",
  "data": [
    { "object": "thread", "id": "81c7954c-…", "title": "Fold this sequence and report its pLDDT", "updated_at": "2026-09-22T00:05:31.010Z", "message_count": 4 }
  ]
}

Read a thread

GET/api/v1/threads/{id}

Everything said in the thread, in order, with tool results in the same envelope a run returns them in.

id / title / updated_at
The title is taken from the first message.
latest_run_iduuid | null
The most recent run, whatever its state. Read it at /runs/{id} to see whether the thread is busy or waiting for an answer.
messages[]message[]
{ id, role, text, tool_results } for every user and assistant message. See the tool result object.

Delete a thread

DELETE/api/v1/threads/{id}

Removes the thread and its transcript. Its id cannot be reused. Files the thread's runs made remain fetchable until they expire.

NextFilesGET /api/v1/files/{id} — structures, figures, tables and pages a run made.