curl --request GET \
--url https://api.example.com/api/v1/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/sessions"
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/api/v1/sessions', 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/api/v1/sessions",
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/api/v1/sessions"
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/api/v1/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/sessions")
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{
"data": [
{
"agent": {
"id": "<string>",
"name": "<string>",
"type": "reference"
},
"created_at": "<string>",
"created_by_subject": {
"subject_display_name": "<string>",
"subject_id": "<string>",
"subject_type": "<string>"
},
"id": "<string>",
"metadata": {},
"metrics": {
"total_duration_ms": 1,
"total_turns": 1,
"total_cost_in_usd": 1
},
"shared": true,
"source": {
"id": "<string>",
"run_id": "<string>",
"type": "schedule"
},
"title": "<string>",
"updated_at": "<string>"
}
],
"pagination": {
"limit": 123,
"next_page_token": "<string>",
"previous_page_token": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"param": "<string>",
"type": "<string>"
}
}List sessions
List the sessions (newest first by default).
curl --request GET \
--url https://api.example.com/api/v1/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/sessions"
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/api/v1/sessions', 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/api/v1/sessions",
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/api/v1/sessions"
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/api/v1/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/sessions")
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{
"data": [
{
"agent": {
"id": "<string>",
"name": "<string>",
"type": "reference"
},
"created_at": "<string>",
"created_by_subject": {
"subject_display_name": "<string>",
"subject_id": "<string>",
"subject_type": "<string>"
},
"id": "<string>",
"metadata": {},
"metrics": {
"total_duration_ms": 1,
"total_turns": 1,
"total_cost_in_usd": 1
},
"shared": true,
"source": {
"id": "<string>",
"run_id": "<string>",
"type": "schedule"
},
"title": "<string>",
"updated_at": "<string>"
}
],
"pagination": {
"limit": 123,
"next_page_token": "<string>",
"previous_page_token": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"param": "<string>",
"type": "<string>"
}
}Authorizations
Caller credential (Authorization: Bearer <token>). Required on protected routes when auth is enabled. Browser sessions may use the HttpOnly id_token or accessToken cookie instead.
Query Parameters
Page size. Defaults to 25, max 25.
1 <= x <= 25Sort sessions by updated_at. Defaults to "desc".
asc, desc Opaque keyset cursor from a previous response next_page_token.
1Inclusive lower bound on created_at (ISO-8601 / RFC 3339).
Inclusive upper bound on created_at (ISO-8601 / RFC 3339).
When set, only sessions bound to this agent id are returned.
1When true, only sessions created by the authenticated subject.
Exact metadata pairs as metadata[key]=value. Sessions must contain all pairs. Caller-owned session metadata
Show child attributes
Show child attributes
When set, returns only sessions created by this source type.
schedule When set, returns only sessions from this specific source. Requires source_type.
1