Realtime runs
POST /v1/realtime/runs returns text/event-stream. Use it when your product needs live assistant output, tool progress, artifacts, and a terminal event.
Event format
Each event uses standard Server-Sent Events framing:event name first, then parse the JSON data payload for that event.
Events
run.created includes the resolved model for the run:
Terminal events
Realtime runs end with eitherrun.completed or run.failed.
Client notes
- Reconnect behavior is your responsibility. If the stream disconnects, fetch the run with
GET /v1/runs/{run_id}when you have a run ID. - Realtime runs do not support
webhook_url; the terminal result is delivered through the stream. - Keep rendering tolerant of new event fields. Event payloads may gain additional fields over time.