Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Assistants

Build Assistants that can call models and use tools.

Create assistant
Deprecated
$ openai beta:assistants create
POST/assistants
Delete assistant
Deprecated
$ openai beta:assistants delete
DELETE/assistants/{assistant_id}
List assistants
Deprecated
$ openai beta:assistants list
GET/assistants
Retrieve assistant
Deprecated
$ openai beta:assistants retrieve
GET/assistants/{assistant_id}
Modify assistant
Deprecated
$ openai beta:assistants update
POST/assistants/{assistant_id}
ModelsExpand Collapse
assistant: object { id, created_at, description, 10 more }

Represents an assistant that can call the model and use tools.

assistant_deleted: object { id, deleted, object }
assistant_stream_event: object { data, event, enabled } or object { data, event } or object { data, event } or 21 more

Represents an event emitted when streaming a Run.

Each event in a server-sent events stream has an event and data property:

event: thread.created
data: {"id": "thread_123", "object": "thread", ...}

We emit events whenever a new object is created, transitions to a new state, or is being streamed in parts (deltas). For example, we emit thread.run.created when a new run is created, thread.run.completed when a run completes, and so on. When an Assistant chooses to create a message during a run, we emit a thread.message.created event, a thread.message.in_progress event, many thread.message.delta events, and finally a thread.message.completed event.

We may add additional events over time, so we recommend handling unknown events gracefully in your code. See the Assistants API quickstart to learn how to integrate the Assistants API with streaming.

assistant_tool: CodeInterpreterTool { type } or FileSearchTool { type, file_search } or FunctionTool { function, type }
code_interpreter_tool: object { type }
file_search_tool: object { type, file_search }
function_tool: object { function, type }
message_stream_event: object { data, event } or object { data, event } or object { data, event } or 2 more

Occurs when a message is created.

run_step_stream_event: object { data, event } or object { data, event } or object { data, event } or 4 more

Occurs when a run step is created.

run_stream_event: object { data, event } or object { data, event } or object { data, event } or 7 more

Occurs when a new run is created.

thread_stream_event: object { data, event, enabled }

Occurs when a new thread is created.