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

# イベントの一覧取得

> Session の公開イベントを一覧取得します。

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

カーソルページネーションで Session の公開イベントを取得します。`Accept` ヘッダーで `text/event-stream` を要求した場合、このルートは SSE ストリーミングに切り替わります。ページネーションされた JSON レスポンスを得るには `Accept: application/json` を指定するか、SSE のメディアタイプを省略してください。

Session が `incremental_streaming_enabled: true` で作成された場合、レスポンスには永続化された増分 agent イベントが含まれることがあります。フラグが `false` または省略されている場合、増分イベントは非表示となり、完全な公開イベントのみが返されます。

## パスパラメータ

| パラメータ        | 型      | 説明                            |
| ------------ | ------ | ----------------------------- |
| `session_id` | string | `sess_` プレフィックス付きの Session 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` とは排他的です                    |
| `order`           | string           | いいえ | ソート方向: `asc`（デフォルト）または `desc`                                                |
| `types`           | string または array | いいえ | イベントタイプでフィルタします。認識されないイベントタイプは無視され、レスポンスには一致するイベントが含まれないだけです                 |
| `created_at[gt]`  | string           | いいえ | この RFC 3339 タイムスタンプより後に作成されたイベントを返します                                        |
| `created_at[gte]` | string           | いいえ | この RFC 3339 タイムスタンプ以降に作成されたイベントを返します                                         |
| `created_at[lt]`  | string           | いいえ | この RFC 3339 タイムスタンプより前に作成されたイベントを返します                                        |
| `created_at[lte]` | string           | いいえ | この RFC 3339 タイムスタンプ以前に作成されたイベントを返します                                         |

## リクエスト例

```bash theme={null}
curl -X GET "https://api.qoder.com/api/v1/cloud/sessions/sess_019e392c0d1e74e095d21ea4c6b41def/events?limit=5&types=user.message,agent.message" \
  -H "Authorization: Bearer $QODER_PAT"
```

## レスポンス例

**HTTP 200 OK**

```json theme={null}
{
  "data": [
    {
      "id": "evt_019e392c0d787cfaa21bda98e06cd913",
      "type": "user.message",
      "content": [
        {"type": "text", "text": "Hello, this is a test message."}
      ],
      "processed_at": "2026-05-18T03:40:48.888851795Z"
    },
    {
      "id": "evt_771c1195bcbd4a07834d4ed4dd6450ca",
      "type": "agent.message",
      "content": [
        {"type": "text", "text": "Hello! How can I help you today?"}
      ],
      "processed_at": "2026-05-18T03:40:55.123Z"
    }
  ],
  "first_id": "evt_019e392c0d787cfaa21bda98e06cd913",
  "has_more": false,
  "last_id": "evt_771c1195bcbd4a07834d4ed4dd6450ca",
  "next_page": null
}
```

## イベントタイプ

list および stream エンドポイントが公開するイベントタイプの全一覧は [公開イベントタイプ](/ja/cloud-agents/api/sessions/schemas#public-event-types) を参照してください。

増分ストリーミングの Session では、`types` でフィルタする際にトップレベルのイベントタイプ `agent.message_start`、`agent.content_block_start`、`agent.content_block_delta`、`agent.content_block_stop`、`agent.message_delta`、`agent.message_stop` を使用してください。`text_delta` や `input_json_delta` でフィルタしないでください。これらは `agent.content_block_delta` 内のネストされた `delta.type` の値です。

## レスポンスフィールド

| フィールド       | 型              | 説明                                                                         |
| ----------- | -------------- | -------------------------------------------------------------------------- |
| `data`      | array          | 公開 [Event オブジェクト](/ja/cloud-agents/api/sessions/schemas#event-object) のリスト |
| `has_more`  | boolean        | このページの先にさらに結果があるかどうか                                                       |
| `first_id`  | string \| null | 現在のページの最初のイベントの ID                                                         |
| `last_id`   | string \| null | 現在のページの最後のイベントの ID                                                         |
| `next_page` | string \| null | 次ページの不透明なカーソル。結果がそれ以上ない場合は `null`                                          |

## エラー

| HTTP | タイプ                     | トリガー条件                                                                                      |
| ---- | ----------------------- | ------------------------------------------------------------------------------------------- |
| 400  | `invalid_request_error` | 不正な `limit`（非整数または非正値)、不正な `order`、不正なタイムスタンプフィルタ、または `page` と `before_id`/`after_id` の同時指定 |
| 401  | `authentication_error`  | PAT が無効または期限切れ                                                                              |

> **注意:** このエンドポイントは存在しない Session ID に対しても空の `data` 配列を持つ HTTP 200 を返すため、クライアントは安全にポーリングできます。Session の存在を確認するには `GET /api/v1/cloud/sessions/{id}` を使用してください。

### 例: 400 不正な `order`

```json theme={null}
{
  "error": {
    "message": "Field 'order' must be one of: asc, desc.",
    "type": "invalid_request_error"
  },
  "request_id": "74c9b7ee-f2f4-450a-9283-933fd3315cf8",
  "type": "error"
}
```

### 例: 400 不正な `limit`

```json theme={null}
{
  "error": {
    "message": "Field 'limit' must be a positive integer.",
    "type": "invalid_request_error"
  },
  "request_id": "d582074b-11ec-45cb-9c94-929278a19261",
  "type": "error"
}
```

完全なエラーエンベロープについては [エラー](/ja/cloud-agents/api/conventions/errors) を参照してください。

## 関連項目

<CardGroup cols={2}>
  <Card title="Session イベントストリーム" icon="wave-pulse" href="/ja/cloud-agents/events-stream">
    Agent の思考、メッセージ、ツール呼び出し、ステータスを SSE でストリーミングします。
  </Card>
</CardGroup>
