Skip to main content
GET
Returns the project’s root traces, newest first, with cursor-based pagination. This is what the dashboard’s Live Traces feed (Observe) reads; use it to browse or export what your agents ingested via Submit Trace or OpenTelemetry.

Authentication

string
required
Project API key.

Query Parameters

number
default:"50"
Page size, 1 to 100.
string
Trace _id to continue after, taken from nextCursor in the previous response.
string
Filter by platform label. Folded like the stored value (trimmed, lowercased), so ?framework=LangChain matches traces stored as "langchain".
Database-side text search over the trace list.
string
default:"all"
"production" (excludes eval-run traffic), "eval" (eval-run traffic only), or "all". The dashboard’s Live Traces sends "production" by default.

Response

number
Total root traces matching the filters across all pages - what the dashboard’s pagination range (“1-50 of N”) is computed from.
array
Array of trace objects, newest first. Each has:Optional fields are omitted, not null (except the two token counts and judgeScores, which are always present and nullable).
boolean
Whether more traces exist after this page.
string | null
Pass as cursor to fetch the next page. null on the last page.
  • GET /api/v1/ingest/traces/{traceId} - full single-trace detail, adding metadata, performanceSummary, cacheReadTokens/cacheWriteTokens, estimatedCostUSD (null when the model has no catalog pricing or the trace has no token counts), and topic (intent/sentiment/issue classification, when topics ran). 404 if the trace doesn’t exist.
  • GET /api/v1/ingest/sessions/{sessionId}/spans - every span in one session/OTel trace as { "spans": [...] }, ordered by span start, for assembling a span tree without pagination.

Pagination example