Get Thread State
curl --request GET \
--url https://api.example.com/threads/{thread_id}/stateimport requests
url = "https://api.example.com/threads/{thread_id}/state"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/threads/{thread_id}/state', 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}/state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/threads/{thread_id}/state"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/threads/{thread_id}/state")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/state")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"values": {},
"checkpoint": {
"checkpoint_id": "<string>",
"thread_id": "<string>",
"checkpoint_ns": ""
},
"next": [
"<string>"
],
"tasks": [
{}
],
"interrupts": [
{}
],
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"parent_checkpoint": {
"checkpoint_id": "<string>",
"thread_id": "<string>",
"checkpoint_ns": ""
},
"checkpoint_id": "<string>",
"parent_checkpoint_id": "<string>"
}{
"error": "<string>",
"message": "<string>",
"details": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Threads
Get Thread State
Get the current state of a thread.
Returns the latest checkpoint’s values, pending next nodes, interrupt data, and metadata. If the thread has no associated graph yet (no runs executed), returns an empty state.
GET
/
threads
/
{thread_id}
/
state
Get Thread State
curl --request GET \
--url https://api.example.com/threads/{thread_id}/stateimport requests
url = "https://api.example.com/threads/{thread_id}/state"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/threads/{thread_id}/state', 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}/state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/threads/{thread_id}/state"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/threads/{thread_id}/state")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/state")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"values": {},
"checkpoint": {
"checkpoint_id": "<string>",
"thread_id": "<string>",
"checkpoint_ns": ""
},
"next": [
"<string>"
],
"tasks": [
{}
],
"interrupts": [
{}
],
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"parent_checkpoint": {
"checkpoint_id": "<string>",
"thread_id": "<string>",
"checkpoint_ns": ""
},
"checkpoint_id": "<string>",
"parent_checkpoint_id": "<string>"
}{
"error": "<string>",
"message": "<string>",
"details": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Query Parameters
Include states from subgraphs
Checkpoint namespace to scope lookup
Response
Successful Response
Thread state model for history endpoint
Channel values (messages, etc.)
Current checkpoint
Show child attributes
Show child attributes
Next nodes to execute
Tasks to execute
Interrupt data
Checkpoint metadata
Timestamp of state creation
Parent checkpoint
Show child attributes
Show child attributes
Checkpoint ID (for backward compatibility)
Parent checkpoint ID (for backward compatibility)