curl --request GET \
--url https://api.example.com/workflows/{workflow_id}/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/workflows/{workflow_id}/runs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/workflows/{workflow_id}/runs', 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/workflows/{workflow_id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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/workflows/{workflow_id}/runs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/workflows/{workflow_id}/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/workflows/{workflow_id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"run_id": "<string>",
"run_input": "<string>",
"events": [
{}
],
"workflow_id": "<string>",
"user_id": "<string>",
"content": "<string>",
"content_type": "<string>",
"status": "<string>",
"step_results": [
{}
],
"step_executor_runs": [
{}
],
"step_requirements": [
{}
],
"pause_kind": "<string>",
"paused_step_name": "<string>",
"paused_step_index": 123,
"metrics": {},
"created_at": "2023-11-07T05:31:56Z",
"reasoning_content": "<string>",
"reasoning_steps": [
{}
],
"references": [
{}
],
"citations": {},
"reasoning_messages": [
{}
],
"images": [
{}
],
"videos": [
{}
],
"audio": [
{}
],
"files": [
{}
],
"response_audio": {}
}
]{
"detail": "Bad request"
}{
"detail": "Unauthenticated access"
}{
"detail": "Not found"
}{
"detail": [
{
"loc": [
"body",
"endpoint"
],
"msg": "Value error, Endpoint must be a path, not a full URL",
"type": "value_error"
}
]
}{
"detail": "Internal server error"
}List Workflow Runs
List runs for a workflow within a session, optionally filtered by status.
Useful for monitoring background runs and viewing run history.
curl --request GET \
--url https://api.example.com/workflows/{workflow_id}/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/workflows/{workflow_id}/runs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/workflows/{workflow_id}/runs', 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/workflows/{workflow_id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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/workflows/{workflow_id}/runs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/workflows/{workflow_id}/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/workflows/{workflow_id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"run_id": "<string>",
"run_input": "<string>",
"events": [
{}
],
"workflow_id": "<string>",
"user_id": "<string>",
"content": "<string>",
"content_type": "<string>",
"status": "<string>",
"step_results": [
{}
],
"step_executor_runs": [
{}
],
"step_requirements": [
{}
],
"pause_kind": "<string>",
"paused_step_name": "<string>",
"paused_step_index": 123,
"metrics": {},
"created_at": "2023-11-07T05:31:56Z",
"reasoning_content": "<string>",
"reasoning_steps": [
{}
],
"references": [
{}
],
"citations": {},
"reasoning_messages": [
{}
],
"images": [
{}
],
"videos": [
{}
],
"audio": [
{}
],
"files": [
{}
],
"response_audio": {}
}
]{
"detail": "Bad request"
}{
"detail": "Unauthenticated access"
}{
"detail": "Not found"
}{
"detail": [
{
"loc": [
"body",
"endpoint"
],
"msg": "Value error, Endpoint must be a path, not a full URL",
"type": "value_error"
}
]
}{
"detail": "Internal server error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Session ID to list runs for
Filter by run status (PENDING, RUNNING, COMPLETED, PAUSED, CANCELLED, ERROR, REGENERATED)
PENDING, RUNNING, COMPLETED, PAUSED, CANCELLED, ERROR, REGENERATED JSON object with factory-specific parameters for dynamic workflow reconstruction
Response
List of runs retrieved successfully
Unique identifier for the workflow run
Input provided to the workflow
Events generated during the workflow
Workflow ID that was executed
User ID associated with the run
Output content from the workflow
Type of content returned
Status of the workflow run
Results from each workflow step
Executor runs for each step
HITL step requirements (resolved state for historical display)
Kind of HITL pause: 'step' or 'executor'
Name of the step that caused the pause
Index of the step that caused the pause
Performance and usage metrics
Run creation timestamp
Reasoning content if reasoning was enabled
List of reasoning steps
References cited in the workflow
Citations from the model (e.g., from Gemini grounding/search)
Reasoning process messages
Images included in the workflow
Videos included in the workflow
Audio files included in the workflow
Files included in the workflow
Audio response if generated