GET /v1/sessions/{session_id}/events/stream
Server-Sent Events (SSE) で Session 内のすべてのイベントをリアルタイムに受信します。接続が確立されると、サーバーはその Session の完全なイベント履歴をプッシュし、新しいイベントが発生するたびに継続的にプッシュします。
パスパラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
session_id | string | Session ID(sess_ プレフィックス) |
ヘッダー
| 名称 | 必須 | 値 |
|---|---|---|
| Authorization | はい | Bearer $QODER_PAT |
| Accept | 推奨 | text/event-stream |
クエリパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
after_id | string | いいえ | このイベント ID 以降のイベントのみ受信 |
リクエスト例
レスポンス例
HTTP 200 OKContent-Type: text/event-stream
各イベントは SSE 標準形式に従います:
SSE 形式の例
注意: SSEユーザーメッセージ:data行の JSON は完全にフラットな構造です。すべてのフィールド(name、input、tool_use_id、content、is_errorなど)はトップレベルオブジェクトに直接配置され、追加のネストラッパーはありません。contentフィールドは SSE 出力では常に配列形式[{"type": "text", "text": "..."}]です。
イベントタイプ
完全なイベントタイプ一覧:| event (SSE field) | 説明 |
|---|---|
user.message | ユーザーが送信したメッセージ |
session.status_running | Agent が処理を開始 |
span.model_request_start | モデル推論リクエスト開始 |
agent.thinking | Agent 思考中(内部推論) |
agent.message | Agent が生成した応答メッセージ |
agent.tool_use | Agent が組み込みツールを呼び出し |
agent.tool_result | ツール実行の返却結果 |
agent.mcp_tool_use | Agent が MCP ツールを呼び出し |
agent.mcp_tool_result | MCP ツール実行の返却結果 |
session.status_idle | 処理完了、Session がアイドルに戻った |
span.model_request_end | モデル推論リクエスト終了 |
session.error | 処理中にエラー発生 |
terminated | Turn が終了した |
典型的なイベントストリームのライフサイクル
1 回の完全な対話 Turn で、通常は以下の順でイベントを受信します:user.message- ユーザーメッセージがキューに入るsession.status_running- Agent が実行を開始span.model_request_start- モデル呼び出し開始agent.thinking- Agent の内部推論agent.message- Agent が応答を生成session.status_idle- Turn 完了、アイドルに戻る(usage統計を含む)span.model_request_end- モデル呼び出し終了
クライアント実装の推奨事項
EventSourceAPI または SSE をサポートする HTTP クライアントを使用session.status_idleイベントを監視して、対話 1 ラウンドの終了を判定turn_idフィールドで同一ラウンドの全イベントを関連付け- 接続はクライアントが切断するまで保持され、サーバーは新しいイベントをプッシュし続けます
エラーレスポンス
| HTTP | type | 説明 |
|---|---|---|
| 401 | authentication_error | PAT が無効または期限切れ |
| 404 | not_found_error | Session が存在しない |