curl --request POST \
--url https://api.openai.com/v1/threads/{thread_id}/runs/{run_id}/submit_tool_outputs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"tool_outputs": [
{
"tool_call_id": "<string>",
"output": "<string>"
}
],
"stream": true
}'
{
"id": "<string>",
"object": "thread.run",
"created_at": 123,
"thread_id": "<string>",
"assistant_id": "<string>",
"status": "queued",
"required_action": {
"type": "submit_tool_outputs",
"submit_tool_outputs": {
"tool_calls": [
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
}
},
"last_error": {
"code": "server_error",
"message": "<string>"
},
"expires_at": 123,
"started_at": 123,
"cancelled_at": 123,
"failed_at": 123,
"completed_at": 123,
"incomplete_details": {
"reason": "max_completion_tokens"
},
"model": "<string>",
"instructions": "<string>",
"tools": [],
"metadata": {},
"usage": {
"completion_tokens": 123,
"prompt_tokens": 123,
"total_tokens": 123
},
"temperature": 123,
"top_p": 123,
"max_prompt_tokens": 257,
"max_completion_tokens": 257,
"truncation_strategy": {
"type": "auto",
"last_messages": 2
},
"tool_choice": "none",
"parallel_tool_calls": true,
"response_format": "auto"
}
When a run has the status: "requires_action"
and required_action.type
is submit_tool_outputs
, this endpoint can be used to submit the outputs from the tool calls once they’re all completed. All outputs must be submitted in a single request.
curl --request POST \
--url https://api.openai.com/v1/threads/{thread_id}/runs/{run_id}/submit_tool_outputs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"tool_outputs": [
{
"tool_call_id": "<string>",
"output": "<string>"
}
],
"stream": true
}'
{
"id": "<string>",
"object": "thread.run",
"created_at": 123,
"thread_id": "<string>",
"assistant_id": "<string>",
"status": "queued",
"required_action": {
"type": "submit_tool_outputs",
"submit_tool_outputs": {
"tool_calls": [
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
}
},
"last_error": {
"code": "server_error",
"message": "<string>"
},
"expires_at": 123,
"started_at": 123,
"cancelled_at": 123,
"failed_at": 123,
"completed_at": 123,
"incomplete_details": {
"reason": "max_completion_tokens"
},
"model": "<string>",
"instructions": "<string>",
"tools": [],
"metadata": {},
"usage": {
"completion_tokens": 123,
"prompt_tokens": 123,
"total_tokens": 123
},
"temperature": 123,
"top_p": 123,
"max_prompt_tokens": 257,
"max_completion_tokens": 257,
"truncation_strategy": {
"type": "auto",
"last_messages": 2
},
"tool_choice": "none",
"parallel_tool_calls": true,
"response_format": "auto"
}
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
The ID of the run that requires the tool output submission.
OK
Represents an execution run on a thread.
Was this page helpful?