Skip to main content
GET
Stream a session's telemetry
Minimum role required: Viewer

Authorizations

X-Axilio-Api-Key
string
header
required

Customer API key (axl_ prefix).

Headers

Last-Event-ID
string

Resume after this cursor (the id of the last event received).

Path Parameters

session_id
string<uuid>
required

Session whose telemetry to stream.

Query Parameters

token
string

Read-only token for this one session, as carried by telemetry_url. Not needed with the API key header.

Response

The event stream. Each event's data is one frame.

One telemetry frame: a completed span or a log event, discriminated on kind. Forward-compatible raw JSON consumers should accept unknown fields within known kinds and treat unknown span_type/log_type values generically. Top-level unknown-kind handling varies by interface and SDK version; do not assume every generated SDK exposes an UnknownFrame variant. Live readers should accept either a single frame object or an array for forward compatibility; current first-party forwarding normally sends one frame object per message.

kind
enum<string>
required

Frame kind discriminator; always "span" for span frames.

Available options:
span
name
string
required

Span name (for sdk_call spans, the SDK operation, e.g. Screen.observe).

phase
string
required

Span phase. The archive returns completed spans only ("end"); "start" phases exist only on the live stream.

span_id
string
required

Telemetry span ID (16 lowercase hex characters). The live and archived copies of a span use the same ID.

span_type
string
required

Product span role: session (the session root), run, sdk_call, inference, file_push, media_capture. Spans stored before the 2026-08-21 vocabulary cutover carry the retired phone_session value for the session root. Unknown values MUST be rendered generically, never rejected.

start_time_unix_nano
integer<int64>
required

Span start, nanoseconds since the Unix epoch.

trace_id
string
required

Telemetry trace ID (32 lowercase hex characters), derived from the session ID; one session produces one trace.

attributes
object

Every attribute the producer stamped (axilio.* vocabulary), verbatim. Attributes are the contract's extension seam: new keys appear here without a version bump.

end_time_unix_nano
integer<int64>

Span end, nanoseconds since the Unix epoch. Always set in the archive; omitted on the live stream's "start" phase, where the span is still in flight.

parent_span_id
string

Parent span id; omitted on root spans.

status
object

Span outcome. Always set in the archive; omitted on the live stream's "start" phase, where the span has no outcome yet.