curl --request GET \
--url https://app.traceroot.ai/api/v1/public/sessions/{session_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.traceroot.ai/api/v1/public/sessions/{session_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.traceroot.ai/api/v1/public/sessions/{session_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://app.traceroot.ai/api/v1/public/sessions/{session_id}",
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://app.traceroot.ai/api/v1/public/sessions/{session_id}"
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://app.traceroot.ai/api/v1/public/sessions/{session_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.traceroot.ai/api/v1/public/sessions/{session_id}")
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{
"duration_ms": 123,
"first_trace_time": "2023-11-07T05:31:56Z",
"last_trace_time": "2023-11-07T05:31:56Z",
"session_id": "<string>",
"total_input_tokens": 123,
"total_output_tokens": 123,
"trace_count": 123,
"traces": [
{
"duration_ms": 123,
"input": "<string>",
"name": "<string>",
"output": "<string>",
"status": "<string>",
"trace_id": "<string>",
"trace_start_time": "2023-11-07T05:31:56Z",
"user_id": "<string>"
}
],
"user_ids": [
"<string>"
],
"total_cost": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}Get Session
Get one session with all its traces for the key’s project.
Retention uses the silent list-style clamp rather than a 403: a session that contains traces older than the plan window degrades to showing only the in-window traces instead of failing outright.
Args: auth (DualStampedAuth): Resolved credential context (API key or user session token); scopes the read to its project and stamps the rate-limit identity. session_id (str): Session to fetch. start_after (datetime | None): Inclusive lower bound on trace time. end_before (datetime | None): Exclusive upper bound on trace time.
Returns: SessionDetailResponse: The session overview and its traces.
Raises: HTTPException: 404 if the session is missing or outside the key’s project, 500 on a reader failure.
curl --request GET \
--url https://app.traceroot.ai/api/v1/public/sessions/{session_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.traceroot.ai/api/v1/public/sessions/{session_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.traceroot.ai/api/v1/public/sessions/{session_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://app.traceroot.ai/api/v1/public/sessions/{session_id}",
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://app.traceroot.ai/api/v1/public/sessions/{session_id}"
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://app.traceroot.ai/api/v1/public/sessions/{session_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.traceroot.ai/api/v1/public/sessions/{session_id}")
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{
"duration_ms": 123,
"first_trace_time": "2023-11-07T05:31:56Z",
"last_trace_time": "2023-11-07T05:31:56Z",
"session_id": "<string>",
"total_input_tokens": 123,
"total_output_tokens": 123,
"trace_count": 123,
"traces": [
{
"duration_ms": 123,
"input": "<string>",
"name": "<string>",
"output": "<string>",
"status": "<string>",
"trace_id": "<string>",
"trace_start_time": "2023-11-07T05:31:56Z",
"user_id": "<string>"
}
],
"user_ids": [
"<string>"
],
"total_cost": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Only traces at or after this time (inclusive, ISO 8601)
Only traces before this time (exclusive, ISO 8601)
Target project for the request. Required when authenticating with a user session token (a user credential is only meaningful scoped to a project); for an API key it is optional and, if given, must match the key's project.
Response
Successful Response
Session detail with all traces for conversation view.
Show child attributes
Show child attributes

