メインコンテンツへスキップ
GET /api/v1/cloud/sessions/{session_id}/events/stream Session の公開イベントを Server-Sent Events としてストリーミングします。 Session が incremental_streaming_enabled: true で作成された場合、このストリームは agent.message_startagent.content_block_deltaagent.message_stop などの増分 agent イベントも発行します。ストリーム接続ごとに増分イベントのオン/オフを切り替えるリクエストパラメータはありません。Session 作成時のフィールドを使用してください。

パスパラメータ

パラメータ説明
session_idstringsess_ プレフィックス付きの Session ID

ヘッダー

ヘッダー必須説明
AuthorizationはいBearer $QODER_PAT
Acceptいいえtext/event-stream を使用します
Last-Event-IDいいえ指定すると、ストリームは指定したイベント ID の後から再開します。イベント ID が存在しない、アーカイブ済み、または非公開の内部イベントを指す場合は 400 を返します。

リクエスト例

curl -N -X GET "https://api.qoder.com/api/v1/cloud/sessions/sess_019e392c0d1e74e095d21ea4c6b41def/events/stream" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Accept: text/event-stream"

ストリーム形式

各イベントは標準の SSE フィールドで発行されます。
id: evt_019e392c0d787cfaa21bda98e06cd913
event: user.message
data: {"id":"evt_019e392c0d787cfaa21bda98e06cd913","type":"user.message","content":[{"type":"text","text":"Hello"}],"processed_at":"2026-05-18T03:40:48.888851795Z"}

id: evt_a1b2c3d4e5f6a7b8
event: agent.message
data: {"id":"evt_a1b2c3d4e5f6a7b8","type":"agent.message","content":[{"type":"text","text":"Hello! How can I help you today?"}],"processed_at":"2026-05-18T03:40:50.123456789Z"}

id: evt_b2c3d4e5f6a7b8c9
event: session.status_idle
data: {"id":"evt_b2c3d4e5f6a7b8c9","type":"session.status_idle","stop_reason":{"type":"end_turn"},"processed_at":"2026-05-18T03:40:50.987654321Z"}
サーバーは接続を維持するために、定期的に : heartbeat というコメント行を送信します。

増分イベント

増分イベントは通常の SSE メッセージです。SSE の event: フィールドと JSON の data.type フィールドの両方に公開イベントタイプが含まれます。
id: evt_019efd3b90007c9b88be2a4e6d8c52a0
event: agent.content_block_delta
data: {"id":"evt_019efd3b90007c9b88be2a4e6d8c52a0","type":"agent.content_block_delta","message_id":"msg_019efd3b8c0d7d48a970f01dd6117d11","index":0,"delta":{"type":"text_delta","text":"Hello"},"processed_at":"2026-06-25T05:23:31.123Z"}
トップレベルの増分イベントタイプは agent.message_startagent.content_block_startagent.content_block_deltaagent.content_block_stopagent.message_deltaagent.message_stop に限られます。text_deltathinking_deltainput_json_delta などの delta 名は agent.content_block_delta.delta.type 内に現れ、トップレベルのイベントタイプではありません。Session schemas を参照してください。

エラー

HTTPタイプトリガー条件
400invalid_request_errorLast-Event-ID がこの Session 内の有効な公開イベントを特定できない(イベントが存在しない、アーカイブ済み、または非公開の内部イベント)
401authentication_errorPAT が無効または期限切れ
404not_found_errorSession が存在しない

例: 404 Session が見つからない

{
  "error": {
    "message": "Session 'sess_doesnotexist_xxxxxxxxxxxxxxxxxxxxxxxx' was not found.",
    "type": "not_found_error"
  },
  "request_id": "b5822072-f264-48da-9d61-6d48ffb07551",
  "type": "error"
}
完全なエラーエンベロープについては エラー を参照してください。

関連項目

Session イベントストリーム

Agent の思考、メッセージ、ツール呼び出し、ステータスを SSE でストリーミングします。