Session に user または system イベントを送信します。
POST /api/v1/cloud/sessions/{session_id}/events
1 つ以上の受理可能なイベントを Session に送信します。user.message は非同期に Agent の処理をトリガーします。Agent の出力は list または stream エンドポイントで読み取ってください。
パスパラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
session_id | string | sess_ プレフィックス付きの Session ID |
ヘッダー
| ヘッダー | 必須 | 説明 |
|---|---|---|
Authorization | はい | Bearer $QODER_ACCESS_TOKEN |
Content-Type | はい | application/json |
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
events | array | はい | 空でないイベントオブジェクトの配列 |
サポートされるイベントタイプ
| タイプ | 必須フィールド | 備考 |
|---|---|---|
user.message | content | content は空でない content block の配列でなければなりません |
user.interrupt | なし | session_thread_id は任意です |
user.tool_confirmation | tool_use_id、result | result は allow または deny でなければなりません。deny_message は任意で、result = "deny" の場合にのみ指定できます |
user.tool_result | tool_use_id | 組み込みツールの結果を返すために使用します。content と is_error は任意です |
user.custom_tool_result | custom_tool_use_id | クライアント側カスタムツールの結果を返すために使用します。content と is_error は任意です |
user.define_outcome | description、rubric | rubric はオブジェクトで、{"type":"text","content":"..."} または {"type":"file","file_id":"file_..."} のいずれかです。未知のフィールドは拒否されます。max_iterations は任意で、1 から 20 の整数でなければなりません。outcome_id(outc_ プレフィックス)はサーバーが割り当てるため、クライアントは指定できません |
system.message | content | content は空でないテキスト content block の配列である必要があります。各リクエストに最大 1 つ指定でき、バッチの最後のイベントとして、user.message、user.tool_result、user.custom_tool_result のいずれかの直後に配置する必要があります |
events[].content はサポートされません。イベントに content フィールドがある場合は、content block の配列として送信してください。メッセージのコンテンツブロックに、各イベントで使用可能なブロックタイプとフィールドを示します。
リクエスト例
画像メッセージを送信する
以下の JSON リクエストボディは、3 種類の画像の取得元を示します。フィールドと制限についてはメッセージのコンテンツブロックを参照してください。
Base64 を直接指定する
data を画像の Base64 文字列に置き換えてください。data:image/png;base64, プレフィックスは含めず、media_type を画像形式に合わせてください。
HTTPS 画像 URL を使用する
URL をモデルサービスが読み取れる外部 HTTPS 画像 URL に置き換えてください。
アップロード済みの画像を参照する
ファイルをアップロードで、アクセス可能でステータスが ready の画像 File ID を取得してください。
レスポンス例
HTTP 200 OK
Human-in-the-loop レスポンス
ストリームが確認を必要とする agent.tool_use を発行したら、user.tool_confirmation で応答します。
user.tool_result で返します。tool_use_id には対応する agent.tool_use イベントの id を指定します。
agent.custom_tool_use を発行したら、クライアント側でツールを実行し、user.custom_tool_result で応答します。
エラー
| HTTP | タイプ | トリガー条件 |
|---|---|---|
| 400 | invalid_request_error | events が空、サポートされないイベントタイプ、必須フィールドの欠落、不正な content block、またはサポートされないレガシーフィールド |
| 401 | authentication_error | PAT または SAT が無効または期限切れ |
| 404 | not_found_error | Session または保留中のアクションが存在しない |
| 409 | invalid_request_error | Session が現在ターンを処理中、またはその他の Session 状態の競合(注意: type は conflict_error ではなく invalid_request_error です) |
例: 400 不正な content
user.message に content block の配列ではなくプレーンな文字列を送信した場合:
例: 404 Session が見つからない
例: 409 Session がターンを処理中
Session が running または rescheduling の間、新しい user.message は現在のターンの後ろにキューイングされず、409 を返します。session.status_idle を待つか、先に現在のターンをキャンセルしてください。

