reviews:read scope. The endpoint uses the same bearer authentication, organization isolation, and rate limiting as the rest of the Open API.
Endpoint
Use
text/event-stream for Postman or another SSE client. Use application/x-ndjson for one JSON event per line.Last public event sequence you received. The server returns events with a greater sequence. Omit it or use
-1 to start at the beginning.Stream in Postman
- Send Submit a Review Question.
- Copy
execution.streamUrlfrom the202 Acceptedresponse. - Set a Postman
streamUrlvariable to that returned path, then create aGET {{baseUrl}}{{streamUrl}}?after=-1request. The provided Plangrep collection instead builds the same URL fromprojectId,reviewId, andexecutionId. - Select Bearer Token authorization and use your Open API key.
- Add
Accept: text/event-stream, then click Send.
id, the event type as event, and the full public JSON event as data.
Stream NDJSON
data field.
Event contract
Every event containsversion, executionId, sequence, createdAt, type, and a type-specific payload. Sequence values strictly increase, but they are not guaranteed to be contiguous.
Stop reading after
response.completed or response.error. Treat the terminal response.completed.payload.text as the canonical answer.
Event payloads
response.started.payload.responseTargetMs is the non-terminal response-time target in milliseconds. The stream remains open when this target is exceeded.
tool.started and tool.completed payloads contain:
Reconnect safely
Save the latestsequence you received. If the connection closes before a terminal event, reconnect to the same URL with ?after={lastSequence}. Replay does not start a second execution. Disconnecting does not cancel the durable execution.
Text deltas can combine internal chunks, and some sequence values can be omitted. This lets Plangrep sanitize URL-like tokens before advancing a public replay cursor.
Public-data boundary
Plangrep validates and rebuilds each event before returning it. The stream does not expose capability tokens, runtime or orchestrator URLs, internal container job IDs, model/session details, internal tool metadata, or unknown internal error details. Runtime artifact references are rewritten to bearer-authenticated Open API artifact URLs when a valid public mapping exists. Reading those artifact URLs requiresartifacts:read.