> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# セッションイベントのストリーミング

> SSE で Forward セッションのイベントストリームを購読します。

`GET /api/v1/forward/sessions/{session_id}/events/stream`

セッションイベントを Server-Sent Events としてストリーミングします。`data` ペイロードは、イベント履歴エンドポイントと同じ Forward フィルタリングモデルを使用します。

## Headers

| Header          | Required | Description            |
| --------------- | -------- | ---------------------- |
| `Authorization` | Yes      | `Bearer <PAT>`         |
| `Accept`        | Yes      | `text/event-stream`    |
| `Last-Event-ID` | No       | この Event ID の後から再開します。 |

## Path parameters

| Parameter    | Type   | Required | Description |
| ------------ | ------ | -------- | ----------- |
| `session_id` | string | Yes      | Session ID。 |

## Query parameters

| Parameter            | Type    | Required | Default | Description                     |
| -------------------- | ------- | -------- | ------- | ------------------------------- |
| `type`               | string  | No       | -       | Event の種類でフィルターします。カンマ区切りの値に対応。 |
| `types[]`            | string  | No       | -       | 配列形式の Event 種類フィルター。            |
| `include_tool_calls` | boolean | No       | `true`  | ツール呼び出しイベントを含めます。               |
| `include_thinking`   | boolean | No       | `true`  | 思考イベントを含めます。                    |

## Example request

```bash theme={null}
curl -N -X GET 'https://api.qoder.com/api/v1/forward/sessions/sess_xxx/events/stream?include_thinking=false' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Accept: text/event-stream"
```

## Example response

**HTTP 200 OK**

```text theme={null}
id: evt_xxx
event: agent.message
data: {"id":"evt_xxx","type":"agent.message","session_id":"sess_xxx","content":[{"type":"text","text":"Here is the analysis result."}],"processed_at":"2026-06-22T11:00:03Z"}

```

## Incremental streaming example

Session が `incremental_streaming_enabled=true` で作成された場合、ストリームには最終的な `agent.message` の前に増分イベントが含まれることがあります。

```text theme={null}
id: evt_start_xxx
event: agent.message_start
data: {"id":"evt_start_xxx","type":"agent.message_start","session_id":"sess_xxx","message_id":"msg_xxx","created_at":"2026-06-22T11:00:01Z"}

id: evt_delta_xxx
event: agent.content_block_delta
data: {"id":"evt_delta_xxx","type":"agent.content_block_delta","session_id":"sess_xxx","message_id":"msg_xxx","index":0,"delta":{"type":"text_delta","text":"Here"},"created_at":"2026-06-22T11:00:01Z"}

```

## Response fields

| Field   | Description                                                                                    |
| ------- | ---------------------------------------------------------------------------------------------- |
| `id`    | SSE イベント ID。Event ID と等しくなります。                                                                 |
| `event` | Event の種類。                                                                                     |
| `data`  | フィルタリング済みの Forward Event JSON。ペイロードフィールドは List Session Events に記載された Event `type` のマトリクスに従います。 |

## Errors

| HTTP | Type                    | Code                      | Trigger                              |
| ---- | ----------------------- | ------------------------- | ------------------------------------ |
| 400  | `invalid_request_error` | `invalid_event_cursor`    | `Last-Event-ID` がこの Session に属していない。 |
| 401  | `authentication_error`  | `authentication_required` | PAT が無効または期限切れ。                      |
| 404  | `not_found_error`       | `session_not_found`       | Session が存在しない。                      |

## Notes

* 増分ストリーミングは Session の作成リクエストで制御され、このエンドポイントで有効化することはできません。
* 未知の Event 種類は、利用可能な場合はエンベロープのみのイベントとして転送されます。
* `include_thinking=false` は思考イベントと認識可能な思考デルタをフィルタリングします。
* `include_tool_calls=false` はツール使用イベントと認識可能なツール入出力デルタをフィルタリングします。

## Related

<CardGroup cols={2}>
  <Card title="セッションの作成" icon="plus" href="/cloud-agents/api/forward/sessions/create" />

  <Card title="セッションイベントの一覧取得" icon="list" href="/cloud-agents/api/forward/sessions/list-events" />
</CardGroup>
