Skip to main content
Sessions

セッションの更新

Forward セッションのタイトル、メタデータ、または環境変数を更新します。

POST /api/v1/forward/sessions/{session_id} 安定した Session フィールドを更新します。config では現在、environment_variables のみ更新できます。

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT または SAT>
Content-TypeYesapplication/json
Idempotency-KeyNo安全でないリクエスト向けの任意の冪等性キー。

Path parameters

ParameterTypeRequiredDescription
session_idstringYesSession ID。

Body parameters

ParameterTypeRequiredDescription
titlestringNo新しいセッションのタイトル。
metadataobjectNoメタデータのマージパッチ。指定したキーは既存のキーを上書きし、省略したキーは変更されません。
configobjectNoSession 設定の更新。現在は environment_variables のみ指定できます。null は無効です。
config.environment_variablesobjectNoSession の環境変数の key-value ペア。値は string である必要があります。null は無効です。指定した map は既存の Session レベル環境変数一式を置き換えます。置き換え後、Template と Identity Config のコンパイル結果に追加マージされ、同じ名前の変数は Session レベルの値でベースレイヤーの値を上書きします。
config.environment_variables の更新セマンティクス:
  • 省略した場合、または config{} の場合:環境変数を変更しません。
  • 空でない object:Session レベルの環境変数 map 全体を置き換えます。以前の map とは増分マージされず、指定されていない既存のキーは削除されます。
  • 空の object {}:Session レベルの環境変数をすべて削除します。
  • 置き換えは Session レベルのレイヤーにのみ適用されます。更新後の Session ランタイム環境変数は、引き続き Template と Identity Config のコンパイル結果に追加マージされ、同じ名前の変数は Session レベルの値でベースレイヤーの値を上書きします。
  • 環境変数名、予約語、容量制限はランタイムで検証されます。無効な場合は HTTP 400 が返されます。

Example request

curl -s -X POST 'https://api.qoder.com/api/v1/forward/sessions/sess_xxx' \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Updated session title",
  "metadata": {
    "source": "mobile",
    "biz_id": "ticket_123"
  },
  "config": {
    "environment_variables": {
      "API_KEY": "sk-xxx",
      "REGION": "cn-hangzhou"
    }
  }
}'

Example response

HTTP 200 OK
{
  "id": "sess_xxx",
  "type": "session",
  "identity_id": "idn_xxx",
  "template": {
    "id": "tmpl_support",
    "type": "template",
    "name": "Support assistant",
    "model": "ultimate",
    "version": 3
  },
  "source_type": "api",
  "status": "idle",
  "title": "Updated session title",
  "metadata": {
    "source": "mobile",
    "biz_id": "ticket_123"
  },
  "config": {
    "environment_variables": {
      "API_KEY": "sk-xxx",
      "REGION": "cn-hangzhou"
    }
  },
  "stats": {
    "active_seconds": 30,
    "duration_seconds": 3600
  },
  "usage": {
    "total_credits": 12.7
  },
  "archived_at": null,
  "created_at": "2026-06-22T10:00:00Z",
  "updated_at": "2026-06-22T12:00:00Z"
}

Response fields

更新された Session オブジェクトを返します。

Errors

HTTPTypeCodeTrigger
400invalid_request_errorinvalid_request更新ボディが無効。
400invalid_request_errorinvalid_request_bodyリクエストボディの JSON が無効、または configconfig.environment_variablesnull
401authentication_errorauthentication_requiredPAT または SAT が無効または期限切れ。
404not_found_errorsession_not_foundSession が存在しない。
409conflict_errorsession_archivedSession がアーカイブ済み。

Notes

  • resources は作成時の設定であり、ここでは変更できません。進行中のセッションにファイルリソースを追加するには、セッションリソース追加 API を使用してください。
  • レスポンスの config.environment_variables は更新後の結果を反映します。
ベストプラクティス