Time-ordered conversation projection for one execution shell.
One projection for every shell kind: session activities (agent text, tool entries, system errors), user steers with delivery state, approval asks and decisions, system lifecycle entries with the dispatch receipt last on terminal shells, and inline peer (a2a) entries with their text preview - never the full body. Peer entries are on by default; `peers=0` hides them. Interactive shells with no activities carry the live PTY tail in the top-level `tail` field (observe-fenced, never paged). The shell’s organization is resolved from the shell, not from the caller’s active workspace. A caller who cannot see the shell receives 404.
AuthorizationBearer <WorkOS user access token>WorkOS user access token created by the Rensei CLI. The authenticated organization is resolved from membership and may be narrowed with X-Rensei-Org.
id*stringShell id: session:<sessionId>, instance:<instanceId> or interactive:<sessionId>.
1 <= lengthafter?stringOpaque cursor: the nextCursor of a previous page, passed back unchanged. An entry id is not a cursor (400).
1 <= lengthlimit?integer1 <= value <= 500peers?string"0""1""true""false"context?string"0""1""true""false"Conversation entries in time order, with the agent-turn count and the next cursor.
application/json- response
id*stringentries*array<>turns*integerCount of agent entries that end a turn.
-9007199254740991 <= value <= 9007199254740991nextCursor*|Opaque cursor for the last entry when more follow; pass back as after. Null at the end.
tail*|Live PTY tail for an interactive shell with no activities, when the viewer passes the observe fence. Beside the page, never in it — it has no stable timestamp and can never be an after cursor. Null otherwise.
curl -X GET 'https://app.rensei.ai/api/execution-shells/string/conversation'{ "id": "string", "entries": [ { "id": "string", "occurredAt": "string", "actor": "agent", "kind": "text", "text": "string", "toolName": "string", "toolInputSummary": "string", "delivery": "queued", "direction": "in", "handle": "string", "taskId": "string", "tier": "durable", "toYou": true, "monospace": true, "askKind": "approval", "preview": "string", "mailboxStatus": "string" } ], "turns": -9007199254740991, "nextCursor": "string", "tail": "string"}Snapshot of in-flight execution shells, urgency-ordered.
Snapshot of in-flight execution shells, urgency-ordered. - Rensei REST API operation reference.
Mark an execution shell handled (or un-handled) for the calling viewer.
Per-viewer inbox state for one execution shell. VIEWER STATE ONLY: it records that a person dealt with the row and never acknowledges, closes, stops or otherwise touches the execution itself, and it advances no event or a2a cursor. Idempotent - repeating the same value is a no-op that returns the same body. The shell’s organization is resolved from the shell, not from the caller’s active workspace, because a user-scoped inbox routinely shows rows from other organizations. A caller who cannot see the shell receives 404.