Plane docs
API referenceEndpointsSessions

sessions.stream

GET
/sessions/{id}/stream

Tail one session as Server-Sent Events.

The resumable stream. Mint a credential for it with POST /v1/sessions/streamToken — an API key is deliberately not accepted here, because this URL is meant to be handed to a browser. Reconnect with Last-Event-ID (or ?after=); the id: of every durable frame is the log cursor, and an ephemeral frame carries none, so a preview delta can never become a resume point. See docs/streaming.md.

RPC sessions.stream · Scope read

Authorization

streamToken
AuthorizationBearer <token>

A short-lived, session-scoped token from POST /v1/sessions/streamToken. It grants read access to exactly one session's stream and nothing else, which is what makes it safe to put in a browser.

In: header

Path Parameters

id*string

The session id. It must match the token's own sub.

Query Parameters

token?string

The stream token, for EventSource, which cannot set a header. A fetch reader should send Authorization: Bearer instead and keep the URL clean.

format?string

The frame vocabulary. Refused with 400 when the token pins a different one.

Value in

  • "plane"
  • "ai-sdk"
  • "ag-ui"
after?integer

An exclusive cursor. Last-Event-ID wins over it on a reconnect.

Header Parameters

Last-Event-ID?string

<seq> or <seq>.<frame>, as the browser resends it automatically. A cursor that does not parse is a 400 rather than a silent restart.

Response Body

text/event-stream

curl -X GET "https://example.com/sessions/string/stream"
"string"