v1

latestOpenAPI 3.1.0MIT2026-07-132429592.7 MB
Assistants

Create a thread and run it in one request.

post/threads/runs

Request body

assistant_idstring required

The ID of the assistant to use to execute this run.

instructionsstring nullable

Override the default system message of the assistant. This is useful for modifying the behavior on a per-run basis.

metadataMetadata nullable

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, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

temperaturenumber nullable

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

top_pnumber nullable

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.

We generally recommend altering this or temperature but not both.

streamboolean nullable

If true, returns a stream of events that happen during the Run as server-sent events, terminating when the Run enters a terminal state with a data: [DONE] message.

max_prompt_tokensinteger nullable

The maximum number of prompt tokens that may be used over the course of the run. The run will make a best effort to use only the number of prompt tokens specified, across multiple turns of the run. If the run exceeds the number of prompt tokens specified, the run will end with status incomplete. See incomplete_details for more info.

max_completion_tokensinteger nullable

The maximum number of completion tokens that may be used over the course of the run. The run will make a best effort to use only the number of completion tokens specified, across multiple turns of the run. If the run exceeds the number of completion tokens specified, the run will end with status incomplete. See incomplete_details for more info.

parallel_tool_callsboolean

Whether to enable parallel function calling during tool use.

Example request

{
  "temperature": 1,
  "top_p": 1
}

Response

OK

idstring required

The identifier, which can be referenced in API endpoints.

object'thread.run' required

The object type, which is always thread.run.

created_atinteger required

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

thread_idstring required

The ID of the thread that was executed on as a part of this run.

assistant_idstring required

The ID of the assistant used for execution of this run.

status'queued' | 'in_progress' | 'requires_action' | 'cancelling' | 'cancelled' | 'failed' | 'completed' | 'incomplete' | 'expired' required

The status of the run, which can be either queued, in_progress, requires_action, cancelling, cancelled, failed, completed, incomplete, or expired.

expires_atinteger nullable required

The Unix timestamp (in seconds) for when the run will expire.

started_atinteger nullable required

The Unix timestamp (in seconds) for when the run was started.

cancelled_atinteger nullable required

The Unix timestamp (in seconds) for when the run was cancelled.

failed_atinteger nullable required

The Unix timestamp (in seconds) for when the run failed.

completed_atinteger nullable required

The Unix timestamp (in seconds) for when the run was completed.

modelstring required

The model that the assistant used for this run.

instructionsstring required

The instructions that the assistant used for this run.

metadataMetadata nullable required

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, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

temperaturenumber nullable

The sampling temperature used for this run. If not set, defaults to 1.

top_pnumber nullable

The nucleus sampling value used for this run. If not set, defaults to 1.

max_prompt_tokensinteger nullable required

The maximum number of prompt tokens specified to have been used over the course of the run.

max_completion_tokensinteger nullable required

The maximum number of completion tokens specified to have been used over the course of the run.

parallel_tool_callsboolean required

Whether to enable parallel function calling during tool use.