curl --request GET \
--url https://api.example.com/teams/{team_id}/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/teams/{team_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/teams/{team_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/teams/{team_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/teams/{team_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/teams/{team_id}/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/teams/{team_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>",
"parent_run_id": "<string>",
"team_id": "<string>",
"status": "<string>",
"content": "<string>",
"reasoning_content": "<string>",
"reasoning_steps": [
{}
],
"run_input": "<string>",
"run_response_format": "<string>",
"metrics": {},
"tools": [
{}
],
"messages": [
{}
],
"events": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"references": [
{}
],
"citations": {},
"reasoning_messages": [
{}
],
"session_state": {},
"input_media": {},
"images": [
{}
],
"videos": [
{}
],
"audio": [
{}
],
"files": [
{}
],
"response_audio": {},
"followups": [
"<string>"
],
"forked_from_run_id": "<string>",
"forked_from_message_index": 123,
"forked_from_session_id": "<string>",
"regenerated_from": "<string>",
"last_checkpoint_at_message_index": 123
}
]{
"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 Team Runs
List runs for a team within a session, optionally filtered by status.
Useful for monitoring background runs and viewing run history.
curl --request GET \
--url https://api.example.com/teams/{team_id}/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/teams/{team_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/teams/{team_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/teams/{team_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/teams/{team_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/teams/{team_id}/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/teams/{team_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>",
"parent_run_id": "<string>",
"team_id": "<string>",
"status": "<string>",
"content": "<string>",
"reasoning_content": "<string>",
"reasoning_steps": [
{}
],
"run_input": "<string>",
"run_response_format": "<string>",
"metrics": {},
"tools": [
{}
],
"messages": [
{}
],
"events": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"references": [
{}
],
"citations": {},
"reasoning_messages": [
{}
],
"session_state": {},
"input_media": {},
"images": [
{}
],
"videos": [
{}
],
"audio": [
{}
],
"files": [
{}
],
"response_audio": {},
"followups": [
"<string>"
],
"forked_from_run_id": "<string>",
"forked_from_message_index": 123,
"forked_from_session_id": "<string>",
"regenerated_from": "<string>",
"last_checkpoint_at_message_index": 123
}
]{
"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 Response
List of runs retrieved successfully
Unique identifier for the team run
Parent run ID if this is a nested run
Team ID that executed this run
Run status (PENDING, RUNNING, COMPLETED, ERROR, etc.)
Output content from the team run
Reasoning content if reasoning was enabled
List of reasoning steps
Input provided to the run
Format of the response (text/json)
Performance and usage metrics
Tools used in the run
Message history for the run
Events generated during the run
Run creation timestamp
References cited in the run
Citations from the model (e.g., from Gemini grounding/search)
Reasoning process messages
Session state at the end of the run
Input media attachments
Images included in the run
Videos included in the run
Audio files included in the run
Files included in the run
Audio response if generated
Followup suggestions generated after the run
If this team run was forked from another run, the source run's ID
If this team run was forked, the message index at which the source was truncated
If this team run was created via session branch, the source session's ID
If this team run was produced via regenerate=true, the source run's ID
Message index of the most recent mid-run checkpoint (checkpoint='tool-batch' runs)