Get Thread State At Checkpoint
curl --request GET \
--url https://api.example.com/threads/{thread_id}/state/{checkpoint_id}import requests
url = "https://api.example.com/threads/{thread_id}/state/{checkpoint_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/threads/{thread_id}/state/{checkpoint_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}/state/{checkpoint_id}",
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/{checkpoint_id}"
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/{checkpoint_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/state/{checkpoint_id}")
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 At Checkpoint
Get the thread state at a specific checkpoint.
Use this to inspect historical state at any point in the thread’s execution history. Returns 404 if the checkpoint does not exist.
GET
/
threads
/
{thread_id}
/
state
/
{checkpoint_id}
Get Thread State At Checkpoint
curl --request GET \
--url https://api.example.com/threads/{thread_id}/state/{checkpoint_id}import requests
url = "https://api.example.com/threads/{thread_id}/state/{checkpoint_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/threads/{thread_id}/state/{checkpoint_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}/state/{checkpoint_id}",
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/{checkpoint_id}"
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/{checkpoint_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/state/{checkpoint_id}")
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": {}
}
]
}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)