Wire format
There are no event: lines. Every frame arrives as a default SSE message, and the event name is the type field inside the JSON payload.
First frame
data: {"type":"response.created","sequence_number":0,"response":{"id":"resp_...","status":"in_progress","metadata":{"session_id":"hsess..."}}}Important events
- response.created
- Save
response.idandresponse.metadata.session_idimmediately. - response.output_text.delta
- Append visible answer text.
- response.output_item.added
- Show sanitized tool or activity progress.
- response.completed
- Finalize successful UI state.
- response.incomplete
- Show partial result and offer Continue when appropriate.
- response.failed
- Show the classified failure or cancellation state.
Open standard
Data-only SSE frames carrying type and sequence_number, ending in exactly one terminal event, are the wire rules that UHP's Streaming chapter makes normative for every conformant server. See the Streaming chapter of the Unified Harness Protocol.
Create API Key
Ready to run this against a live workspace? Keys take under a minute.

