curl --request POST \
--url https://api.example.com/threads/{thread_id}/runs/crons \
--header 'Content-Type: application/json' \
--data '
{
"assistant_id": "<string>",
"schedule": "<string>",
"input": {},
"metadata": {},
"config": {},
"context": {},
"interrupt_before": "*",
"interrupt_after": "*",
"webhook": "<string>",
"multitask_strategy": "<string>",
"end_time": "2023-11-07T05:31:56Z",
"enabled": true,
"stream_mode": "<string>",
"stream_subgraphs": true,
"timezone": "<string>",
"checkpoint_during": true
}
'import requests
url = "https://api.example.com/threads/{thread_id}/runs/crons"
payload = {
"assistant_id": "<string>",
"schedule": "<string>",
"input": {},
"metadata": {},
"config": {},
"context": {},
"interrupt_before": "*",
"interrupt_after": "*",
"webhook": "<string>",
"multitask_strategy": "<string>",
"end_time": "2023-11-07T05:31:56Z",
"enabled": True,
"stream_mode": "<string>",
"stream_subgraphs": True,
"timezone": "<string>",
"checkpoint_during": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
assistant_id: '<string>',
schedule: '<string>',
input: {},
metadata: {},
config: {},
context: {},
interrupt_before: '*',
interrupt_after: '*',
webhook: '<string>',
multitask_strategy: '<string>',
end_time: '2023-11-07T05:31:56Z',
enabled: true,
stream_mode: '<string>',
stream_subgraphs: true,
timezone: '<string>',
checkpoint_during: true
})
};
fetch('https://api.example.com/threads/{thread_id}/runs/crons', 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/crons",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assistant_id' => '<string>',
'schedule' => '<string>',
'input' => [
],
'metadata' => [
],
'config' => [
],
'context' => [
],
'interrupt_before' => '*',
'interrupt_after' => '*',
'webhook' => '<string>',
'multitask_strategy' => '<string>',
'end_time' => '2023-11-07T05:31:56Z',
'enabled' => true,
'stream_mode' => '<string>',
'stream_subgraphs' => true,
'timezone' => '<string>',
'checkpoint_during' => true
]),
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/crons"
payload := strings.NewReader("{\n \"assistant_id\": \"<string>\",\n \"schedule\": \"<string>\",\n \"input\": {},\n \"metadata\": {},\n \"config\": {},\n \"context\": {},\n \"interrupt_before\": \"*\",\n \"interrupt_after\": \"*\",\n \"webhook\": \"<string>\",\n \"multitask_strategy\": \"<string>\",\n \"end_time\": \"2023-11-07T05:31:56Z\",\n \"enabled\": true,\n \"stream_mode\": \"<string>\",\n \"stream_subgraphs\": true,\n \"timezone\": \"<string>\",\n \"checkpoint_during\": true\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.example.com/threads/{thread_id}/runs/crons")
.header("Content-Type", "application/json")
.body("{\n \"assistant_id\": \"<string>\",\n \"schedule\": \"<string>\",\n \"input\": {},\n \"metadata\": {},\n \"config\": {},\n \"context\": {},\n \"interrupt_before\": \"*\",\n \"interrupt_after\": \"*\",\n \"webhook\": \"<string>\",\n \"multitask_strategy\": \"<string>\",\n \"end_time\": \"2023-11-07T05:31:56Z\",\n \"enabled\": true,\n \"stream_mode\": \"<string>\",\n \"stream_subgraphs\": true,\n \"timezone\": \"<string>\",\n \"checkpoint_during\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/runs/crons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"assistant_id\": \"<string>\",\n \"schedule\": \"<string>\",\n \"input\": {},\n \"metadata\": {},\n \"config\": {},\n \"context\": {},\n \"interrupt_before\": \"*\",\n \"interrupt_after\": \"*\",\n \"webhook\": \"<string>\",\n \"multitask_strategy\": \"<string>\",\n \"end_time\": \"2023-11-07T05:31:56Z\",\n \"enabled\": true,\n \"stream_mode\": \"<string>\",\n \"stream_subgraphs\": true,\n \"timezone\": \"<string>\",\n \"checkpoint_during\": true\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": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create Cron For Thread
Create a cron job bound to an existing thread.
The thread is reused for every scheduled run. Triggers the first run
immediately and returns the Run object. When enabled=False is
passed the first run is suppressed and the persisted cron is returned.
curl --request POST \
--url https://api.example.com/threads/{thread_id}/runs/crons \
--header 'Content-Type: application/json' \
--data '
{
"assistant_id": "<string>",
"schedule": "<string>",
"input": {},
"metadata": {},
"config": {},
"context": {},
"interrupt_before": "*",
"interrupt_after": "*",
"webhook": "<string>",
"multitask_strategy": "<string>",
"end_time": "2023-11-07T05:31:56Z",
"enabled": true,
"stream_mode": "<string>",
"stream_subgraphs": true,
"timezone": "<string>",
"checkpoint_during": true
}
'import requests
url = "https://api.example.com/threads/{thread_id}/runs/crons"
payload = {
"assistant_id": "<string>",
"schedule": "<string>",
"input": {},
"metadata": {},
"config": {},
"context": {},
"interrupt_before": "*",
"interrupt_after": "*",
"webhook": "<string>",
"multitask_strategy": "<string>",
"end_time": "2023-11-07T05:31:56Z",
"enabled": True,
"stream_mode": "<string>",
"stream_subgraphs": True,
"timezone": "<string>",
"checkpoint_during": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
assistant_id: '<string>',
schedule: '<string>',
input: {},
metadata: {},
config: {},
context: {},
interrupt_before: '*',
interrupt_after: '*',
webhook: '<string>',
multitask_strategy: '<string>',
end_time: '2023-11-07T05:31:56Z',
enabled: true,
stream_mode: '<string>',
stream_subgraphs: true,
timezone: '<string>',
checkpoint_during: true
})
};
fetch('https://api.example.com/threads/{thread_id}/runs/crons', 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/crons",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assistant_id' => '<string>',
'schedule' => '<string>',
'input' => [
],
'metadata' => [
],
'config' => [
],
'context' => [
],
'interrupt_before' => '*',
'interrupt_after' => '*',
'webhook' => '<string>',
'multitask_strategy' => '<string>',
'end_time' => '2023-11-07T05:31:56Z',
'enabled' => true,
'stream_mode' => '<string>',
'stream_subgraphs' => true,
'timezone' => '<string>',
'checkpoint_during' => true
]),
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/crons"
payload := strings.NewReader("{\n \"assistant_id\": \"<string>\",\n \"schedule\": \"<string>\",\n \"input\": {},\n \"metadata\": {},\n \"config\": {},\n \"context\": {},\n \"interrupt_before\": \"*\",\n \"interrupt_after\": \"*\",\n \"webhook\": \"<string>\",\n \"multitask_strategy\": \"<string>\",\n \"end_time\": \"2023-11-07T05:31:56Z\",\n \"enabled\": true,\n \"stream_mode\": \"<string>\",\n \"stream_subgraphs\": true,\n \"timezone\": \"<string>\",\n \"checkpoint_during\": true\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.example.com/threads/{thread_id}/runs/crons")
.header("Content-Type", "application/json")
.body("{\n \"assistant_id\": \"<string>\",\n \"schedule\": \"<string>\",\n \"input\": {},\n \"metadata\": {},\n \"config\": {},\n \"context\": {},\n \"interrupt_before\": \"*\",\n \"interrupt_after\": \"*\",\n \"webhook\": \"<string>\",\n \"multitask_strategy\": \"<string>\",\n \"end_time\": \"2023-11-07T05:31:56Z\",\n \"enabled\": true,\n \"stream_mode\": \"<string>\",\n \"stream_subgraphs\": true,\n \"timezone\": \"<string>\",\n \"checkpoint_during\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/threads/{thread_id}/runs/crons")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"assistant_id\": \"<string>\",\n \"schedule\": \"<string>\",\n \"input\": {},\n \"metadata\": {},\n \"config\": {},\n \"context\": {},\n \"interrupt_before\": \"*\",\n \"interrupt_after\": \"*\",\n \"webhook\": \"<string>\",\n \"multitask_strategy\": \"<string>\",\n \"end_time\": \"2023-11-07T05:31:56Z\",\n \"enabled\": true,\n \"stream_mode\": \"<string>\",\n \"stream_subgraphs\": true,\n \"timezone\": \"<string>\",\n \"checkpoint_during\": true\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": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Body
Request body for creating a cron job (stateless or thread-bound).
256256"*""*"2048delete, keep 25664sync, async, exit Response
Successful Response
- Run
- CronResponse
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.