Get a single trace by ID
curl --request GET \
--url https://app.atla-ai.com/api/sdk/v1/traces/{traceId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.atla-ai.com/api/sdk/v1/traces/{traceId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.atla-ai.com/api/sdk/v1/traces/{traceId}', 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.atla-ai.com/api/sdk/v1/traces/{traceId}",
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.atla-ai.com/api/sdk/v1/traces/{traceId}"
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.atla-ai.com/api/sdk/v1/traces/{traceId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.atla-ai.com/api/sdk/v1/traces/{traceId}")
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{
"trace": {
"id": "<string>",
"isSuccess": true,
"isCompleted": true,
"stepCount": 123,
"startedAt": "<string>",
"endedAt": "<string>",
"durationSeconds": 123,
"ingestedAt": "<string>",
"metadata": {},
"spans": [
{
"id": "<string>",
"traceId": "<string>",
"parentSpanId": "<string>",
"spanName": "<string>",
"startTimestamp": "<string>",
"endTimestamp": "<string>",
"isException": true,
"otelEvents": [
"<unknown>"
],
"annotations": [
{
"spanId": "<string>",
"failureMode": "<string>",
"atlaCritique": "<string>",
"id": "<string>"
}
]
}
],
"customMetricValues": [
{
"id": "<string>",
"traceId": "<string>",
"customMetricId": "<string>",
"value": "<string>",
"customMetric": {
"id": "<string>",
"name": "<string>"
}
}
]
}
}Traces
Get Trace
Get a single trace by ID
GET
/
api
/
sdk
/
v1
/
traces
/
{traceId}
Get a single trace by ID
curl --request GET \
--url https://app.atla-ai.com/api/sdk/v1/traces/{traceId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.atla-ai.com/api/sdk/v1/traces/{traceId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.atla-ai.com/api/sdk/v1/traces/{traceId}', 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.atla-ai.com/api/sdk/v1/traces/{traceId}",
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.atla-ai.com/api/sdk/v1/traces/{traceId}"
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.atla-ai.com/api/sdk/v1/traces/{traceId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.atla-ai.com/api/sdk/v1/traces/{traceId}")
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{
"trace": {
"id": "<string>",
"isSuccess": true,
"isCompleted": true,
"stepCount": 123,
"startedAt": "<string>",
"endedAt": "<string>",
"durationSeconds": 123,
"ingestedAt": "<string>",
"metadata": {},
"spans": [
{
"id": "<string>",
"traceId": "<string>",
"parentSpanId": "<string>",
"spanName": "<string>",
"startTimestamp": "<string>",
"endTimestamp": "<string>",
"isException": true,
"otelEvents": [
"<unknown>"
],
"annotations": [
{
"spanId": "<string>",
"failureMode": "<string>",
"atlaCritique": "<string>",
"id": "<string>"
}
]
}
],
"customMetricValues": [
{
"id": "<string>",
"traceId": "<string>",
"customMetricId": "<string>",
"value": "<string>",
"customMetric": {
"id": "<string>",
"name": "<string>"
}
}
]
}
}Retrieve a specific trace by its unique identifier. Returns
complete trace data including all spans, annotations, trace summary, and
custom metric values.
Authorizations
API key authentication using Bearer token
Path Parameters
Query Parameters
Available options:
spans, annotations, customMetrics Response
Successfully retrieved trace with complete data
Show child attributes
Show child attributes
⌘I