GET /v1/sessions/{session_id}/events
获取 Session 中的事件列表,按时间正序排列。支持游标分页。
请求头
| 头部 | 必选 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <PAT> |
路径参数
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
session_id | string | 是 | Session ID(sess_ 前缀) |
查询参数
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
limit | integer | 否 | 返回数量上限,默认 20 |
after_id | string | 否 | 游标分页:返回该事件 ID 之后的记录 |
before_id | string | 否 | 游标分页:返回该事件 ID 之前的记录 |
order | string | 否 | 排序方向:asc(默认,时间正序)或 desc(时间倒序) |
type | string | 否 | 按事件类型过滤。值与返回事件的 type 字段匹配(如 user.message、agent.message、agent.artifact_delivered)。支持逗号分隔传入多值(如 type=user.message,agent.message),也支持重复 key(如 type=a&type=b)。省略则返回所有类型 |
types[] | string | 否 | type 的数组写法替代方案。传入多个 types[]=… 参数可过滤多种事件类型(如 types[]=user.message&types[]=agent.message) |
created_at[gte] | string | 否 | 返回创建时间 ≥ 该时刻的事件(含等于)。RFC 3339 格式 |
created_at[lte] | string | 否 | 返回创建时间 ≤ 该时刻的事件(含等于)。RFC 3339 格式 |
示例请求
按事件类型过滤
示例响应
HTTP 200 OK事件类型参考
| type | 说明 | 特有字段 |
|---|---|---|
user.message | 用户消息 | content (string) |
agent.tool_use | Agent 发起工具调用 | tool_name, name, tool_input, tool_use_id, requires_confirmation |
agent.tool_result | 工具执行结果 | tool_use_id, content (ContentBlock[]), is_error |
agent.message | Agent 回复 | content (ContentBlock[]) |
agent.thinking | Agent 思考 | - |
session.status_running | 会话开始执行 | - |
session.status_idle | 会话回到空闲 | usage, status, stop_reason |
session.error | 会话执行错误 | error, details, retry_status |
span.model_request_start | 模型请求开始 | - |
span.model_request_end | 模型请求结束 | - |
agent.artifact_delivered | Agent 通过 DeliverArtifacts 工具投递了文件 | file_id, original_filename, size, content_type |
terminated | 执行终止 | - |
agent.message 的 content 格式:
session.status_idle 的额外字段:
session.error 格式:
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
data | array | 事件对象列表 |
first_id | string | 当前页第一条记录的 ID |
last_id | string | 当前页最后一条记录的 ID |
has_more | boolean | 是否还有更多记录 |
错误码
| HTTP | type | 触发条件 |
|---|---|---|
| 401 | authentication_error | PAT 无效或过期 |
| 404 | not_found_error | Session 不存在 |
获取 Agent 产出文件
当 Agent 调用DeliverArtifacts 工具时,平台会将每个投递的文件上传到持久存储,并生成一条 agent.artifact_delivered 事件。使用 type 过滤拉取这些事件,再通过 Files API 下载文件。