POST /v1/sessions
新しい Session を作成します。Session は Agent とユーザー間の対話コンテナです。作成直後の状態は idle で、Events API でメッセージを送信することで Agent の処理がトリガーされます。
ヘッダー
| 名称 | 必須 | 値 |
|---|---|---|
| Authorization | はい | Bearer $QODER_PAT |
| Content-Type | はい | application/json |
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
agent | string or object | はい | Agent 参照。文字列の Agent ID を渡すと最新のアクティブバージョンを使用します。またはオブジェクトで id、任意の type、任意の version を指定します。 |
environment_id | string | 条件付き | 既存の Environment ID(env_ プレフィックス)。environment を指定しない場合は必須。両方指定した場合は environment_id が優先されます。 |
environment | string or object | 条件付き | 文字列の既存 Environment ID、またはインライン Environment オブジェクト。environment_id を指定しない場合は必須。 |
title | string | いいえ | Session タイトル |
metadata | object | いいえ | カスタムメタデータのキーバリュー |
delta_flush_interval_ms | integer | いいえ | 増分フラッシュ間隔(ミリ秒)。範囲 50-5000、デフォルト 100 |
memory_store_ids | array | いいえ | 一意かつ空でない Memory Store ID の配列。デフォルトは [] |
resources | array | いいえ | ファイルまたは GitHub リポジトリリソースのリスト。デフォルトは [] |
vault_ids | array | いいえ | 一意かつ空でない Vault ID の配列。デフォルトは [] |
vaults | array | いいえ | vault_ids のエイリアス。vault_ids が省略または空の場合にのみ使用されます。 |
environment_variables | string | いいえ | Session スコープの環境変数。セミコロンまたは改行で区切った KEY=VALUE 文字列。デフォルトはカスタム変数なし。self-hosted 環境では非対応。 |
agent オブジェクト
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | Agent ID(agent_ プレフィックス) |
type | string | いいえ | 任意のタイプマーカー。サーバーは特定の値を要求しません。 |
version | integer | いいえ | この Session にスナップショットする Agent バージョン。省略または 0 を渡すと最新のアクティブ Agent を使用します。 |
インライン environment オブジェクト
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | いいえ | Environment 名。省略または空の場合、デフォルトは "Session Environment" |
description | string | いいえ | Environment の説明 |
config | object | はい | Environment 設定。Environment の作成 と同じスキーマです。 |
metadata | object | いいえ | インライン Environment のカスタムメタデータ |
environment_variables 形式
environment_variables は JSON オブジェクトではなく単一の文字列として渡します。エントリはセミコロンまたは改行で区切ります:
KEY=VALUE 形式で記述します。名前は [A-Za-z_][A-Za-z0-9_]* に一致する必要があり、重複名は拒否され、空の値は許可されます。サーバーは最大 64 個の変数、1 値あたり最大 8 KiB、名前と値の合計で最大 64 KiB を受け付けます。SERVER_ENDPOINT、USER_ID、WORK_DIR の名称および CAW_、QODER_ のプレフィックスは予約済みです。
resources 配列要素
resources 配列の各要素は type フィールドで区別されます:
ファイルリソース (type: "file"):
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | いいえ | "file"。省略時のデフォルトは "file" です。 |
file_id | string | はい | ファイル ID(Files API でアップロード後に取得)。ファイルは ready ステータスである必要があります。 |
path | string | いいえ | マウントパス。デフォルトは /data/{file_id}。相対パスの場合、サーバーが /data/ プレフィックスを付与します。正規化されたパスは /data/ 配下かつ最大 512 文字である必要があります。 |
mount_path | string | いいえ | path のエイリアス。path と mount_path の両方を指定する場合、値が同一である必要があります。レスポンスでは正規化された値が path として格納されます。 |
type: "github_repository"):
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | "github_repository" |
url | string | はい | リポジトリ URL |
mount_path | string | いいえ | コンテナ内のクローン先パス |
authorization_token | string | いいえ | プライベートリポジトリアクセス用の認可トークン。指定した場合、Session リソースオブジェクトに格納されます。 |
リクエスト例
GitHub リポジトリ付きの例
レスポンス例
HTTP 201 Created 完全な Session オブジェクトを返します。Session オブジェクトのフィールド
| フィールド | 型 | 説明 |
|---|---|---|
id | string | Session の一意識別子(sess_ プレフィックス) |
type | string | 固定値 "session" |
agent_id | string | 関連付けられた Agent ID |
agent | object | この Session 用にキャプチャされた Agent スナップショット。Agent レスポンス形式を使用します:id、type、name、description、model、system、tools、mcp_servers、skills、metadata、version、nullable archived_at、created_at、updated_at。instructions や default_environment は返しません。 |
environment_id | string | 関連付けられた Environment ID |
title | string | Session タイトル |
status | string | Session ライフサイクル状態。新しい Session は "idle" で開始し、アクティブなターンでは通常 "running" になります。 |
turn_status | string | 現在のターン状態。"idle"、"processing"、"cancelling" など。 |
metadata | object | Session メタデータ |
resources | array | 正規化されたリソースオブジェクト。ファイルリソースには type、file_id、path が含まれ、GitHub リポジトリリソースには type、url、任意の mount_path、任意の authorization_token が含まれます。 |
vault_ids | array | 関連付けられた Vault ID |
memory_store_ids | array | 関連付けられた Memory Store ID |
environment_variables | object | 正規化後の Session スコープ環境変数。カスタム変数が指定されていない場合は空のオブジェクト。 |
stats | object | Session 統計。新規作成時は active_seconds と duration_seconds が共に 0 です。 |
archived_at | string or null | アーカイブ時刻。Session がアーカイブされるまで null。 |
created_at | string | 作成時刻(ISO 8601) |
updated_at | string | 最終更新時刻(ISO 8601) |
エラーレスポンス
| HTTP | type | 説明 |
|---|---|---|
| 400 | invalid_request_error | リクエストボディの形式エラー、必須フィールド欠落、または environment_variables の形式が不正 |
| 401 | authentication_error | PAT が無効または期限切れ |
| 404 | not_found_error | Agent または Environment が存在しない |
| 409 | conflict_error | 参照先の Environment がアーカイブ済み、ファイルリソースが ready でない、またはリソースのパス/ID が競合 |
関連項目
Session の起動
Agent を環境で実行し、ステートフルな対話を行う。