curl --request PATCH \
--url https://api.example.com/threads/{thread_id}/runs/{run_id} \
--header 'Content-Type: application/json' \
--data '
{
"run_id": "<string>",
"status": "<string>",
"message": "<string>"
}
'import requests
url = "https://api.example.com/threads/{thread_id}/runs/{run_id}"
payload = {
"run_id": "<string>",
"status": "<string>",
"message": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({run_id: '<string>', status: '<string>', message: '<string>'})
};
fetch('https://api.example.com/threads/{thread_id}/runs/{run_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/threads/{thread_id}/runs/{run_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'run_id' => '<string>',
'status' => '<string>',
'message' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/threads/{thread_id}/runs/{run_id}"
payload := strings.NewReader("{\n \"run_id\": \"<string>\",\n \"status\": \"<string>\",\n \"message\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/threads/{thread_id}/runs/{run_id}")
.header("Content-Type", "application/json")
.body("{\n \"run_id\": \"<string>\",\n \"status\": \"<string>\",\n \"message\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/runs/{run_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"run_id\": \"<string>\",\n \"status\": \"<string>\",\n \"message\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"run_id": "<string>",
"thread_id": "<string>",
"assistant_id": "<string>",
"user_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "pending",
"input": {},
"output": {},
"error_message": "<string>",
"config": {},
"context": {}
}{
"error": "<string>",
"message": "<string>",
"details": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Update Run
Update a run’s status.
Primarily used to interrupt a running execution. Set status to
"interrupted" to cooperatively stop the run. When a live worker owns
the run, interruption is asynchronous and the response may still report
pending or running. Poll or stream the run until it becomes terminal.
curl --request PATCH \
--url https://api.example.com/threads/{thread_id}/runs/{run_id} \
--header 'Content-Type: application/json' \
--data '
{
"run_id": "<string>",
"status": "<string>",
"message": "<string>"
}
'import requests
url = "https://api.example.com/threads/{thread_id}/runs/{run_id}"
payload = {
"run_id": "<string>",
"status": "<string>",
"message": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({run_id: '<string>', status: '<string>', message: '<string>'})
};
fetch('https://api.example.com/threads/{thread_id}/runs/{run_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/threads/{thread_id}/runs/{run_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'run_id' => '<string>',
'status' => '<string>',
'message' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/threads/{thread_id}/runs/{run_id}"
payload := strings.NewReader("{\n \"run_id\": \"<string>\",\n \"status\": \"<string>\",\n \"message\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/threads/{thread_id}/runs/{run_id}")
.header("Content-Type", "application/json")
.body("{\n \"run_id\": \"<string>\",\n \"status\": \"<string>\",\n \"message\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/runs/{run_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"run_id\": \"<string>\",\n \"status\": \"<string>\",\n \"message\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"run_id": "<string>",
"thread_id": "<string>",
"assistant_id": "<string>",
"user_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "pending",
"input": {},
"output": {},
"error_message": "<string>",
"config": {},
"context": {}
}{
"error": "<string>",
"message": "<string>",
"details": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
Response
Successful Response
Run entity model
Status values: pending, running, error, success, timeout, interrupted
Unique identifier for the run.
Thread this run belongs to.
Assistant that is executing this run.
Identifier of the user who owns this run.
Timestamp when the run was created.
Timestamp when the run was last updated.
Current run status: pending, running, error, success, timeout, or interrupted.
Input data provided to the run. None for checkpoint-only resume.
Final output produced by the run, or null if not yet complete.
Error message if the run failed.
Configuration passed to the graph at runtime.
Context variables available during execution.