Get Shared Session
Public transcript of a shared session (sensitive keys scrubbed).
Events come back in bounded pages: walk them by passing the previous
response’s nextAfter back as since until hasMore is false (the wire
is camelCase — the Python fields are next_after/has_more). Run metadata
repeats on every page, so only events continues across pages.
Paging exists because this is an unauthenticated read and the whole
transcript in one response could occupy the event loop for seconds,
starving the shared Redis client’s auth and rate-limit calls of their
50 ms deadline and silently failing them open.
Counts a view per full fetch. since makes this a live-tail poll: the
share page repeats the request every few seconds while a run is unfinished,
and each poll must stay cheap and must NOT inflate the view counter — a
viewer idling on a running session would otherwise register a view every
10 seconds (the counter’s throttle window). Later pages of an initial load
carry a cursor too, so one load counts one view, not one per page.
Path Parameters
32^[A-Za-z0-9_-]{32}$Query Parameters
Highest event id the viewer already has. Returns only newer events (run metadata is always complete) and does not count a view.
x >= 0Maximum events in this page. A page also closes at 1 MiB of event payload, so it can come back shorter. Read hasMore/nextAfter to page through the rest.
1 <= x <= 250Response
Successful Response
Public payload for GET /share/{token}: the session transcript with sensitive keys scrubbed. Files are listed via the separate /share/{token}/files endpoint so download URLs can be minted fresh.