跳转到主要内容
GET /api/v1/cloud/sessions/{session_id}/events/stream 以 Server-Sent Events 流式返回 Session 公开事件。 如果 Session 创建时设置了 incremental_streaming_enabled: true,该流还会输出 agent.message_startagent.content_block_deltaagent.message_stop 等增量 agent 事件。是否开启增量事件不通过 stream 请求参数控制,而由 Session 创建字段决定。

路径参数

参数类型说明
session_idstringsess_ 为前缀的 Session ID

请求头

头部必选说明
AuthorizationBearer $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_stoptext_deltathinking_deltainput_json_delta 等 delta 名称只会出现在 agent.content_block_delta.delta.type 中,不是顶层事件类型。详见 Session 数据结构

错误码

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 事件流

通过 SSE 实时获取 Agent 的思考、消息、工具调用与状态。