メインコンテンツへスキップ
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_idstringsess_ プレフィックス付きの Session ID

ヘッダー

ヘッダー必須説明
AuthorizationはいBearer $QODER_PAT

クエリパラメータ

パラメータ必須説明
limitintegerいいえ返すイベントの最大数。デフォルトは 20、範囲は 1〜100。100 を超える値は 400 invalid_request_error を返します。
pagestringいいえ前回のレスポンスの next_page から得られる不透明なカーソル。before_id および after_id とは排他的です
before_idstringいいえこのイベント ID より前の順序のイベントを返します。page および after_id とは排他的です
after_idstringいいえこのイベント ID より後の順序のイベントを返します。page および before_id とは排他的です
orderstringいいえソート方向: asc(デフォルト)または desc
typesstring または 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 タイムスタンプ以前に作成されたイベントを返します

リクエスト例

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
{
  "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 エンドポイントが公開するイベントタイプの全一覧は 公開イベントタイプ を参照してください。 増分ストリーミングの Session では、types でフィルタする際にトップレベルのイベントタイプ agent.message_startagent.content_block_startagent.content_block_deltaagent.content_block_stopagent.message_deltaagent.message_stop を使用してください。text_deltainput_json_delta でフィルタしないでください。これらは agent.content_block_delta 内のネストされた delta.type の値です。

レスポンスフィールド

フィールド説明
dataarray公開 Event オブジェクト のリスト
has_morebooleanこのページの先にさらに結果があるかどうか
first_idstring | null現在のページの最初のイベントの ID
last_idstring | null現在のページの最後のイベントの ID
next_pagestring | null次ページの不透明なカーソル。結果がそれ以上ない場合は null

エラー

HTTPタイプトリガー条件
400invalid_request_error不正な limit(非整数または非正値)、不正な order、不正なタイムスタンプフィルタ、または pagebefore_id/after_id の同時指定
401authentication_errorPAT が無効または期限切れ
注意: このエンドポイントは存在しない Session ID に対しても空の data 配列を持つ HTTP 200 を返すため、クライアントは安全にポーリングできます。Session の存在を確認するには GET /api/v1/cloud/sessions/{id} を使用してください。

例: 400 不正な order

{
  "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

{
  "error": {
    "message": "Field 'limit' must be a positive integer.",
    "type": "invalid_request_error"
  },
  "request_id": "d582074b-11ec-45cb-9c94-929278a19261",
  "type": "error"
}
完全なエラーエンベロープについては エラー を参照してください。

関連項目

Session イベントストリーム

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