# Streaming Event Object Represents individual Server-Sent Events (SSE) streamed when `stream: true`. Each event shows incremental progress during response generation. ## Event Types ### Response Lifecycle Events **`response.created`** Emitted when response generation begins. details summary Show properties **`event`** string - Always `response.created` **`status`** string - Always `in_progress` **`thread_id`** string - Thread identifier **`is_summarized`** boolean - Whether conversation was summarized **`assistant_id`** string optional - Assistant ID if thread has one **`output_mode`** string optional - Output format mode (text, plain, blocks) **`response.completed`** Emitted when response generation completes successfully. details summary Show properties **`event`** string - Always `response.completed` **`status`** string - Always `completed` **`thread_id`** string - Thread identifier **`response_id`** string - Unique response identifier **`is_summarized`** boolean - Whether conversation was summarized **`response`** string optional - Complete response text (not present when using blocks mode) **`response_blocks`** array optional - Structured response blocks (present in blocks mode or when tools are used) **`assistant_id`** string optional - Assistant ID if thread has one **`reasoning_content`** string optional - Complete reasoning content if reasoning was enabled **`tools`** object optional - Tool information if requested via include parameter **`response.error`** Emitted when an error occurs during response generation. details summary Show properties **`event`** string - Always `response.error` **`status`** string - Always `failed` **`message`** string - Error message ### Content Generation Events **`response.content_delta`** Emitted for each chunk of generated text. details summary Show properties **`event`** string - Always `response.content_delta` **`delta`** string - Text chunk **`response.block`** Emitted for each response block (tool calls, tool results) in blocks mode. details summary Show properties **`event`** string - Always `response.block` **`block`** object - Block object with type and content Block types: - **`text`** - Text content block - **`tool_call`** - Tool invocation block - **`tool_result`** - Tool execution result block ### Reasoning Events **`reasoning.started`** Emitted when model enters reasoning phase. details summary Show properties **`event`** string - Always `reasoning.started` **`reasoning.content`** Emitted for each chunk of reasoning content. details summary Show properties **`event`** string - Always `reasoning.content` **`content`** string - Reasoning text chunk **`reasoning.completed`** Emitted when reasoning phase completes. details summary Show properties **`event`** string - Always `reasoning.completed` Response Created ```json { "event": "response.created", "thread_id": "thread_xyz789", "status": "in_progress", "is_summarized": false, "output_mode": "text" } ``` Text Delta ```json { "event": "response.content_delta", "delta": "The capital of France" } ``` Thinking Started ```json { "event": "reasoning.started" } ``` Thinking Delta ```json { "event": "reasoning.content", "content": "The user is asking for weather information. I should call get_weather with city=Paris." } ``` Thinking Completed ```json { "event": "reasoning.completed" } ``` Tool Calls Executing ```json { "event": "response.block", "block": { "type": "tool_call", "tool_name": "get_weather", "arguments": { "city": "Paris" }, "success": true, "execution_time_ms": 245, "id": "call_paris_weather", "result": "{\"temperature\":15,\"condition\":\"Partly Cloudy\"}" } } ``` Tool Calls Completed ```json { "event": "response.block", "block": { "type": "tool_call", "tool_name": "get_weather", "arguments": { "city": "Paris" }, "success": true, "execution_time_ms": 245, "id": "call_paris_weather", "result": "{\"temperature\":15,\"condition\":\"Partly Cloudy\",\"humidity\":65}" } } ``` Iteration Started ```json { "event": "response.content_delta", "delta": "I'll check the current weather in Paris." } ``` Response Done ```json { "thread_id": "thread_xyz789", "event": "response.completed", "status": "completed", "response_id": "resp_abc123", "is_summarized": false, "response": "The capital of France is Paris." } ``` Error Event ```json { "event": "response.error", "status": "failed", "message": "Rate limit exceeded. Please try again later." } ``` ## Related - [Create response](/docs/api-reference/responses/create) - Generate streaming responses - [Response Object](/docs/api-reference/objects/response-object) - Non-streaming response format