Ingest & observe — API reference
Send traces and read back sessions, conversations, agents, and the agent topology.
0.16.6). Download the full spec at /docs/openapi.json.ingest
POST /ingest/batch
Ingest Batch
High-volume batch ingest: many raw sessions in one request.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
sync | query | boolean | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /ingest/openinference
Ingest Openinference
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
sync | query | boolean | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /ingest/otlp
Ingest Otlp
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
sync | query | boolean | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /ingest/raw
Ingest Raw
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
sync | query | boolean | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /v1/traces
Otlp Traces
OTLP/HTTP trace receiver. Accepts protobuf or JSON; enqueues and returns an OTLP response.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
sync | query | boolean | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
traces
GET /agent-graph
Cohort Agent Graph
Cross-cohort aggregate agent/tool topology.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
status | query | string[] | no | |
agent_name | query | string | null | no | |
source | query | string | null | no | |
min_turns | query | integer | null | no | |
max_turns | query | integer | null | no | |
min_duration_ms | query | integer | null | no | |
max_duration_ms | query | integer | null | no | |
min_spans | query | integer | null | no | |
max_spans | query | integer | null | no | |
min_tokens | query | integer | null | no | |
max_tokens | query | integer | null | no | |
min_input_tokens | query | integer | null | no | |
max_input_tokens | query | integer | null | no | |
min_output_tokens | query | integer | null | no | |
max_output_tokens | query | integer | null | no | |
model | query | string[] | no | |
tool_name | query | string[] | no | |
span_kind | query | string[] | no | |
span_status | query | string[] | no | |
tags | query | string[] | no | |
cluster_id | query | string | null | no | |
failure_set | query | boolean | no | |
bucket | query | string | null | no | |
conversation_id | query | string | null | no | |
session_id | query | string | null | no | |
score_metric | query | string | null | no | |
score_status | query | string | null | no | |
score_label | query | string | null | no | |
issue_mode | query | string | null | no | |
version | query | string | null | no | |
hour | query | string | null | no | |
started_after | query | string | null | no | |
started_before | query | string | null | no | |
enrichment | query | string[] | no | |
q | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /sessions
List Sessions
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
status | query | string[] | no | |
agent_name | query | string | null | no | |
source | query | string | null | no | |
page | query | integer | no | |
page_size | query | integer | no | |
min_turns | query | integer | null | no | |
max_turns | query | integer | null | no | |
min_duration_ms | query | integer | null | no | |
max_duration_ms | query | integer | null | no | |
min_spans | query | integer | null | no | |
max_spans | query | integer | null | no | |
min_tokens | query | integer | null | no | |
max_tokens | query | integer | null | no | |
min_input_tokens | query | integer | null | no | |
max_input_tokens | query | integer | null | no | |
min_output_tokens | query | integer | null | no | |
max_output_tokens | query | integer | null | no | |
model | query | string[] | no | |
tool_name | query | string[] | no | |
span_kind | query | string[] | no | |
span_status | query | string[] | no | |
tags | query | string[] | no | |
cluster_id | query | string | null | no | |
failure_set | query | boolean | no | |
bucket | query | string | null | no | |
conversation_id | query | string | null | no | |
session_id | query | string | null | no | |
score_metric | query | string | null | no | |
score_status | query | string | null | no | |
score_label | query | string | null | no | |
issue_mode | query | string | null | no | |
version | query | string | null | no | |
hour | query | string | null | no | |
started_after | query | string | null | no | |
started_before | query | string | null | no | |
enrichment | query | string[] | no | |
q | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /sessions/filter-options
Filter Options
Details
Responses
| Status | Description |
|---|---|
200 | Successful Response |
GET /sessions/trend
Sessions Trend
Volume trend for the Traces page: per-day (or per-hour) trace counts, token usage (input and output), p50 latency and estimated spend over the selected time window, plus a period-over-period summary. Counts individual traces.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | null | no | |
from | query | string | null | no | |
to | query | string | null | no | |
started_after | query | string | null | no | |
started_before | query | string | null | no | |
grain | query | string | null | no | |
status | query | string | null | no | |
model | query | string | null | no | |
agent_name | query | string | null | no | |
source | query | string | null | no | |
version | query | string | null | no | |
q | query | string | null | no | |
group_by | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /sessions/{session_id}
Get Session
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
session_id | path | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /sessions/{session_id}/agent-graph
Agent Graph
Aggregate agent/tool topology for one run.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
session_id | path | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /sessions/{session_id}/feedback
Submit Feedback
Record end-user feedback on a conversation — a CSAT rating or a thumbs up/down — without a helpdesk integration.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
session_id | path | string | yes |
Request body (application/json) — required
| Field | Type | Required | Description |
|---|---|---|---|
rating | number | null | no | |
thumb | string | null | no | |
comment | string | null | no |
Responses
| Status | Description |
|---|---|
201 | Successful Response |
422 | Validation Error |
GET /sessions/{session_id}/similar
Similar Sessions
Sessions most similar to session_id (“more like this”), up to limit. Returns []
when similarity search is unavailable.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
session_id | path | string | yes | |
limit | query | integer | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
conversations
GET /conversations
List Conversations
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
status | query | string[] | no | |
agent_name | query | string | null | no | |
source | query | string | null | no | |
conversation_id | query | string | null | no | |
session_id | query | string | null | no | |
page | query | integer | no | |
page_size | query | integer | no | |
min_turns | query | integer | null | no | |
max_turns | query | integer | null | no | |
min_duration_ms | query | integer | null | no | |
max_duration_ms | query | integer | null | no | |
min_spans | query | integer | null | no | |
max_spans | query | integer | null | no | |
min_tokens | query | integer | null | no | |
max_tokens | query | integer | null | no | |
min_input_tokens | query | integer | null | no | |
max_input_tokens | query | integer | null | no | |
min_output_tokens | query | integer | null | no | |
max_output_tokens | query | integer | null | no | |
model | query | string[] | no | |
tool_name | query | string[] | no | |
span_kind | query | string[] | no | |
span_status | query | string[] | no | |
tags | query | string[] | no | |
cluster_id | query | string | null | no | |
score_metric | query | string | null | no | |
score_status | query | string | null | no | |
score_label | query | string | null | no | |
issue_mode | query | string | null | no | |
version | query | string | null | no | |
hour | query | string | null | no | |
started_after | query | string | null | no | |
started_before | query | string | null | no | |
q | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /conversations/trend
Conversations Trend
Volume trend for the Sessions page: per-day (or per-hour) session counts, token usage (input and output), p50 latency and estimated spend over the selected time window, plus a period-over-period summary. Counts distinct sessions.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | null | no | |
from | query | string | null | no | |
to | query | string | null | no | |
started_after | query | string | null | no | |
started_before | query | string | null | no | |
grain | query | string | null | no | |
status | query | string | null | no | |
model | query | string | null | no | |
agent_name | query | string | null | no | |
source | query | string | null | no | |
version | query | string | null | no | |
q | query | string | null | no | |
group_by | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /conversations/{conversation_id}
Get Conversation
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
conversation_id | path | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /conversations/{conversation_id}/agent-graph
Conversation Agent Graph
Aggregate agent/tool topology for a whole conversation.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
conversation_id | path | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /conversations/{conversation_id}/annotations
Add Conversation Annotation
Create one annotation (targetType ‘session’, targetId = member trace id) per member trace of the conversation, mirroring api/annotations.py’s contract + reviewer attribution. Returns the created count.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
conversation_id | path | string | yes |
Request body (application/json) — required
| Field | Type | Required | Description |
|---|---|---|---|
value | string | yes | |
comment | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
POST /conversations/{conversation_id}/labels
Add Conversation Label
Apply a tag to EVERY member trace of the conversation (idempotent, mirroring the
single-trace POST /sessions/{id}/labels path). The written session_labels rows make
the tag show up in the Sessions/Traces “Tags” filter. Returns the applied count.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
conversation_id | path | string | yes |
Request body (application/json) — required
| Field | Type | Required | Description |
|---|---|---|---|
label | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
agents
GET /agents
List Agents
Details
Responses
| Status | Description |
|---|---|
200 | Successful Response |
labels
GET /labels
List Labels
Details
Responses
| Status | Description |
|---|---|
200 | Successful Response |
POST /sessions/{session_id}/labels
Add Label
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
session_id | path | string | yes |
Request body (application/json) — required
| Field | Type | Required | Description |
|---|---|---|---|
label | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
DELETE /sessions/{session_id}/labels/{label}
Remove Label
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
session_id | path | string | yes | |
label | path | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
activity
GET /activity/runs
List Runs
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
kind | query | string | null | no | |
state | query | string | null | no | |
status | query | string | null | no | |
started_after | query | string | null | no | |
started_before | query | string | null | no | |
sort_by | query | string | null | no | |
sort_dir | query | string | null | no | |
limit | query | integer | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /activity/trend
Activity Trend
Event-volume trend for the Activity page: per-day (or per-hour) count of activity runs over the selected window, plus a period-over-period total. Scoped to the current project like the feed. Queued-but-unstarted runs are excluded — they have no place on a time axis yet.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | null | no | |
from | query | string | null | no | |
to | query | string | null | no | |
grain | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /eval-runs/{run_id}/metrics
Run Metrics
Real pipeline metrics for a score run, derived from activity_runs +
eval_tasks (no synthetic data). run_id is the activity-run id
(act_eval_{eval_run_id}).
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
run_id | path | string | yes |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
stats
GET /stats
Get Stats
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | no | |
from | query | string | null | no | |
to | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /stats/timeseries
Get Timeseries
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | no | |
from | query | string | null | no | |
to | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
overview
GET /overview/kpis
Overview Kpis
Hero KPI row: spine counts + scope-wide trace/session/error/spend totals + deltas.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | no | |
from | query | string | null | no | |
to | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /overview/segments
Overview Segments
Segmentation table: scope sliced by org | project | agent.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
by | query | string | no | |
range | query | string | no | |
from | query | string | null | no | |
to | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |
GET /overview/timeseries
Overview Timeseries
Tenant trends: per-day traces / sessions / errors / eval pass-rate / spend over the range.
Details
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
range | query | string | no | |
from | query | string | null | no | |
to | query | string | null | no |
Responses
| Status | Description |
|---|---|
200 | Successful Response |
422 | Validation Error |