> ## 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.

# 列出 Thread 事件

> 列出指定 Session thread 的事件。

`GET /api/v1/cloud/sessions/{session_id}/threads/{thread_id}/events`

使用游标分页读取一个 thread 的公开事件。

## 路径参数

| 参数           | 类型     | 说明                        |
| ------------ | ------ | ------------------------- |
| `session_id` | string | 以 `sess_` 为前缀的 Session ID |
| `thread_id`  | string | 以 `sthr_` 为前缀的 Thread ID  |

## 请求头

| 头部              | 必选 | 说明                  |
| --------------- | -- | ------------------- |
| `Authorization` | 是  | `Bearer $QODER_PAT` |

## 查询参数

| 参数          | 类型      | 必填 | 说明                                                           |
| ----------- | ------- | -- | ------------------------------------------------------------ |
| `limit`     | integer | 否  | 最大返回事件数。默认 20，范围 1-100。超过 100 返回 `400 invalid_request_error` |
| `page`      | string  | 否  | 上一次响应 `next_page` 返回的不透明游标。与 `before_id`、`after_id` 互斥       |
| `before_id` | string  | 否  | 返回此事件 ID 之前的事件。与 `page`、`after_id` 互斥                        |
| `after_id`  | string  | 否  | 返回此事件 ID 之后的事件。与 `page`、`before_id` 互斥                       |

## 示例请求

```bash theme={null}
curl -X GET "https://api.qoder.com/api/v1/cloud/sessions/sess_019f00000000000000000000000000aa/threads/sthr_019f00000000000000000000000002bb/events?limit=20" \
  -H "Authorization: Bearer $QODER_PAT"
```

## 示例响应

```json theme={null}
{
  "data": [
    {
      "id": "evt_019f00000000000000000000000003cc",
      "type": "agent.message",
      "content": [{"type": "text", "text": "Thread response"}],
      "processed_at": "2026-06-15T08:02:00.000Z"
    }
  ],
  "first_id": "evt_019f00000000000000000000000003cc",
  "has_more": false,
  "last_id": "evt_019f00000000000000000000000003cc",
  "next_page": null
}
```

## 响应字段

| 字段          | 类型                                                                  | 说明                    |
| ----------- | ------------------------------------------------------------------- | --------------------- |
| `data`      | array of [Event 对象](/zh/cloud-agents/api/sessions/schemas#event-对象) | Thread 范围的事件          |
| `has_more`  | boolean                                                             | 当前结果集之后还有更多页时为 `true` |
| `first_id`  | string \| null                                                      | 当前页第一个事件的 ID          |
| `last_id`   | string \| null                                                      | 当前页最后一个事件的 ID         |
| `next_page` | string \| null                                                      | 下一页的不透明游标             |

## 错误码

| HTTP | 类型                      | 触发条件                                                   |
| ---- | ----------------------- | ------------------------------------------------------ |
| 400  | `invalid_request_error` | `limit` 非正整数或非整数，或同时传入 `page` 与 `before_id`/`after_id` |
| 401  | `authentication_error`  | PAT 无效或过期                                              |
| 404  | `not_found_error`       | Session 或 thread 不存在                                   |

**HTTP 404 Not Found**

```json theme={null}
{
  "type": "error",
  "request_id": "cb80235f-76a2-4ff3-9e28-5aa2da12dc14",
  "error": {
    "type": "not_found_error",
    "message": "Session thread 'sthr_fakefakefake_xxxxxxxxxxxxxxxx' was not found."
  },
  "request_id": "b5822072-f264-48da-9d61-6d48ffb07551"
}
```

完整错误信封格式见 [错误参考](/zh/cloud-agents/api/conventions/errors)。

## 相关

<CardGroup cols={2}>
  <Card title="Managed Agents" icon="user-gear" href="/zh/cloud-agents/managed-agents">
    了解线程事件在多 Agent 协作中的语义。
  </Card>

  <Card title="线程事件流 (SSE)" icon="bolt" href="/zh/cloud-agents/api/sessions/stream-thread-events">
    通过 Server-Sent Events 实时接收线程事件。
  </Card>

  <Card title="列出 Session Threads" icon="list" href="/zh/cloud-agents/api/sessions/list-threads">
    查看 Session 中的所有线程。
  </Card>
</CardGroup>
