Session オブジェクト
create、get、list、update、archive の各エンドポイントが返します。| フィールド | 型 | 説明 |
|---|---|---|
id | string | sess_ プレフィックス付きの Session ID |
type | string | 常に "session" |
agent | object | この Session が使用する Agent スナップショット。フィールドの形については Session 埋め込み agent を参照してください |
environment_id | string | この Session が使用する Environment ID |
status | string | Session のライフサイクル状態: rescheduling、running、idle、canceling、terminated。canceling は Cancel エンドポイントの確認応答が返す一時的な状態です。最終状態を確認するには Session をポーリングするか、ステータスイベントを監視してください |
title | string | null | Session のタイトル |
metadata | object | Session のメタデータ |
environment_variables | object | agent ランタイムにエクスポートされる Session レベルの環境変数。JSON オブジェクト({"NAME":"value"})として返されます。空の Session では {} を返します。リクエスト形式は単一の文字列です(Session の作成 を参照) |
incremental_streaming_enabled | boolean | この Session が増分ストリーミングイベントを公開するかどうか。作成時に省略した場合のデフォルトは false |
resources | Session resource の配列 | Session にアタッチされた file、GitHub repository、または Memory Store リソース |
vault_ids | string の配列 | Session にアタッチされた Vault ID |
deployment_id | string | null | Session が Deployment によって作成された場合の Deployment ID。それ以外は null |
outcome_evaluations | array | Outcome 評価結果。新しい Session では [] を返します |
stats | Session stats | Session の統計情報 |
archived_at | string | null | アーカイブ時刻。アーカイブされていない場合は null |
created_at | string | 作成時刻 |
updated_at | string | 最終更新時刻 |
agent_id、turn_status、memory_store_ids、usage などのレガシーフィールドは含まれなくなりました。
Agent 参照
create リクエストのagent は、文字列の Agent ID か、次のオブジェクトのいずれかを指定できます。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | agent_ プレフィックス付きの Agent ID |
type | string | はい(オブジェクト形式のみ) | リテラル "agent" でなければなりません。オブジェクト形式を使う場合、欠落や他の値は 400 を返します。素の文字列形式(Agent ID を直接渡す)ではこのチェックはスキップされます |
version | integer | いいえ | スナップショットする Agent バージョン。省略するか 0 を渡すと最新のアクティブバージョンを使用します |
Session 埋め込み agent
Session オブジェクト 内に返されるagent は、Session に固定された Agent スナップショットですが、公開される前にいくつかの Agent フィールドが取り除かれます。
created_at、updated_at— 埋め込み Agent には決して含まれません。archived、archived_at— 含まれません。元の Agent のアーカイブ状態にかかわらず、Session はスナップショットへのアクセスを維持します。metadata— Agent レベルのメタデータは取り除かれます。公開されるのは Session レベルのmetadataのみです。instructions—systemに置き換えられます。
agent.multiagent.agents[] がスタブの {type, id, version} 参照からサーバー側で完全な Agent 定義に展開されます(Multiagent ロスター要素 を参照)。Session Thread オブジェクト 内では、agent フィールドはさらに multiagent ブロックを取り除きます。coordinator のスレッドは agent ごとのスナップショットのみを保持します。
agent.model.effective_context_window
Session は agent.model 内に、レスポンス専用の追加フィールド effective_context_window(int64、トークン単位)を返します。これは、この Agent に対して Session が使用する、ランタイムで解決された(Environment レベルのオーバーライド適用後の)コンテキストウィンドウです。値がない場合や非正の場合は省略されます。クライアントはこのフィールドを参考情報として扱ってください。
Session resource
resources[] は type で区別される共用体です。
File resource
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | レスポンスのみ | Resource ID |
type | string | はい | "file" |
file_id | string | はい | file_ プレフィックス付きの File ID。ファイルは ready である必要があります |
mount_path | string | いいえ | コンテナ内のマウントパス。省略時のデフォルトは /mnt/session/uploads/<file_id> |
created_at | string | レスポンスのみ | リソースの作成時刻 |
updated_at | string | レスポンスのみ | リソースの更新時刻 |
GitHub repository resource
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | レスポンスのみ | Resource ID |
type | string | はい | "github_repository" |
url | string | はい | リポジトリ URL |
authorization_token | string | はい(書き込みのみ) | リポジトリへのアクセスに使う GitHub トークン。レスポンスには返されません |
mount_path | string | いいえ | コンテナ内の clone 先パス。省略時はリポジトリ名から既定値が設定されます |
checkout | object | いいえ | Git の checkout ターゲット。例: {"type":"branch","name":"main"} |
created_at | string | レスポンスのみ | リソースの作成時刻 |
updated_at | string | レスポンスのみ | リソースの更新時刻 |
Memory Store resource
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | "memory_store" |
memory_store_id | string | はい | memstore_ プレフィックス付きの Memory Store ID |
access | string | null | いいえ | 任意のアクセスモード。許可される値: "read_write"、"read_only"。空文字列または省略はデフォルト(オーバーライドなし)を意味します |
instructions | string | null | いいえ | Session リソースに保存される任意の指示。最大 4096 文字 |
name | string | null | レスポンスのみ | 取得可能な場合の現在の Memory Store 名 |
description | string | レスポンスのみ | 取得可能な場合の現在の Memory Store の説明 |
mount_path | string | null | レスポンスのみ | 現在の実装では、既存のリソーススナップショットに値が含まれていない限り null を返します |
id、created_at、updated_at フィールドは含まれません。
Session stats
| フィールド | 型 | 説明 |
|---|---|---|
active_seconds | number | アクティブな処理時間(秒)。新しい Session は 0 から始まります |
duration_seconds | number | Session の継続時間(秒)。新しい Session は 0 から始まります |
Multiagent ロスター要素
埋め込み Agent がmultiagent.type = "coordinator" を宣言している場合、Session エンドポイントが返す agent.multiagent.agents[] の各エントリは、元のスタブ参照から完全な Agent 定義に展開されます(Session 埋め込み agent と同じフィールド除去ルールが適用され、さらに自身の multiagent フィールドも除かれます)。
| フィールド | 型 | 説明 |
|---|---|---|
type | string | 兄弟 Agent 参照の場合は "agent"、coordinator 自身の場合は "self" |
id | string | Agent ID。type = "agent" の場合に存在します。type = "self" の場合は coordinator 自身の ID をミラーします |
version | integer | 固定された Agent バージョン。type = "agent" の場合に存在します |
name | string | 展開された Agent 名 |
description | string | null | 展開された Agent の説明 |
system | string | 展開された Agent のシステムプロンプト(instructions を置き換えます) |
model | string | object | 埋め込み Agent と同じ形。設定されている場合は effective_context_window を含みます |
| その他の Agent フィールド | 各種 | tools、MCP servers、skills、その他の Agent フィールド。埋め込み Agent と同じフィールド除去ルールが適用されます |
Event オブジェクト
send、list、stream の各エンドポイントが返すイベントは、イベントタイプごとに異なる JSON オブジェクトです。公開イベントレスポンスは、各イベントタイプの Claude 互換フィールドのみを公開します。| フィールド | 型 | 説明 |
|---|---|---|
id | string | evt_ プレフィックス付きの Event ID |
type | string | イベントタイプ |
processed_at | string | イベントが処理済みの場合に存在します。多くの agent 生成イベントはこのフィールドを省略します。 |
type に応じて、イベントには content、input、name、tool_use_id、mcp_tool_use_id、custom_tool_use_id、result、deny_message、rubric、outcome_id、session_thread_id、stop_reason、error、usage などのフィールドが追加で含まれることがあります。
増分ストリーミングイベントタイプ
増分ストリーミングは Session 作成時のフィールドincremental_streaming_enabled によって制御され、stream リクエストのパラメータでは選択しません。フラグが false または省略されている場合、list および stream エンドポイントは既存の完全な公開イベントのみを公開し続けます。フラグが true の場合、同じエンドポイントは次の増分イベントタイプも公開できます。
agent.message_start、agent.content_block_start、agent.content_block_delta、agent.content_block_stop、agent.message_delta、agent.message_stop。
これらがトップレベルの増分イベントタイプのすべてです。text_delta、thinking_delta、input_json_delta、tool_output_delta などの名前はイベントの type 値ではありません。これらは agent.content_block_delta 内の delta.type としてのみ現れます。
| イベントタイプ | 主なフィールド | 説明 |
|---|---|---|
agent.message_start | message_id, message | アシスタントメッセージを開始します。message はプロバイダーの raw stream message 形に従い、初期状態では content が空です |
agent.content_block_start | message_id, index, content_block | text、thinking、redacted thinking、tool use などの 1 つの content block を開始します |
agent.content_block_delta | message_id, index, delta | index の content block の delta を伝えます |
agent.content_block_stop | message_id, index | index の content block を終了します |
agent.message_delta | message_id, delta, usage | stop_reason、stop_sequence、任意の usage、任意のコンテキスト管理など、メッセージレベルの delta を伝えます |
agent.message_stop | message_id | アシスタントメッセージを終了します |
session_id、session_thread_id、turn_id、parent_tool_use_id、processed_at も含まれることがあります。
サポートされる agent.content_block_delta.delta.type の値:
delta.type | フィールド | 備考 |
|---|---|---|
text_delta | text | テキスト出力のチャンク |
thinking_delta | thinking | モデル/プロバイダーが出力する場合の thinking チャンク |
signature_delta | signature | 利用可能な場合の thinking ブロックの署名チャンク |
input_json_delta | partial_json | ツール入力 JSON のチャンク。これは製品レベルのツール入力 delta 概念のワイヤー形です |
tool_output_delta | 各種 | 将来のツール出力ストリーミング向けに予約されています。現在の実装では、完全なツール結果を代わりに agent.tool_result で返します |
agent.content_block_delta の例:
クライアントイベントリクエストタイプ
POST /api/v1/cloud/sessions/{session_id}/events は、以下のクライアント送信イベントタイプのみを受け付けます。
| タイプ | 必須フィールド | 備考 |
|---|---|---|
user.message | content | content は空でない content block の配列でなければなりません |
user.interrupt | なし | session_thread_id は任意で、省略時はレスポンスで null としてエコーされます |
user.tool_confirmation | tool_use_id、result | result は allow または deny でなければなりません。deny_message は任意です |
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 は任意です |
system.message | content | content は空でない text content block の配列でなければなりません。イベントは user/tool result イベントの後に続く必要があります |
公開イベントタイプ
list および stream エンドポイントは、以下のイベントタイプを公開できます。user.message、user.interrupt、user.tool_confirmation、user.custom_tool_result、user.define_outcome、user.tool_result、system.message、agent.custom_tool_use、agent.mcp_tool_result、agent.mcp_tool_use、agent.message、agent.message_start、agent.content_block_start、agent.content_block_delta、agent.content_block_stop、agent.message_delta、agent.message_stop、agent.thinking、agent.thread_context_compacted、agent.thread_message_received、agent.thread_message_sent、agent.tool_result、agent.tool_use、session.deleted、session.error、session.status_idle、session.status_rescheduled、session.status_running、session.status_terminated、session.thread_created、session.thread_status_idle、session.thread_status_rescheduled、session.thread_status_running、session.thread_status_terminated、session.updated、span.model_request_start、span.model_request_end、span.outcome_evaluation_start、span.outcome_evaluation_ongoing、span.outcome_evaluation_end。
Session Thread オブジェクト
managed-agent シナリオでは、Session 内の各 thread はこの構造で表現されます。| フィールド | 型 | 説明 |
|---|---|---|
id | string | sthr_ プレフィックス付きの Thread ID |
type | string | 常に "session_thread" |
session_id | string | 所属する Session ID |
parent_thread_id | string | null | 親スレッド ID。coordinator スレッドの場合は null |
agent | object | この thread が使用する Agent スナップショット。Session 埋め込み agent と同じ形で、さらに multiagent ブロックが除かれます |
status | string | スレッドのライフサイクル状態: running、idle、rescheduling、terminated |
stats | object | null | スレッドの統計情報。現在の実装では null を返します |
archived_at | string | null | アーカイブ時刻。アーカイブされていない場合は null |
created_at | string | 作成時刻 |
updated_at | string | 最終更新時刻 |
agent_id、agent_version、name、role、stop_reason、created_by_tool_use_id、usage などのレガシーフィールドは含まれなくなりました。
関連項目
Session の開始
Agent を環境に対してステートフルな会話として実行します。