メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.qoder.com/llms.txt

Use this file to discover all available pages before exploring further.

PUT /v1/agents/{agent_id} 指定された Agent の設定を更新します。楽観的並行制御(OCC)を使用するため、リクエストボディに現在の version 値を提供する必要があります。

ヘッダー

ヘッダー必須説明
AuthorizationはいBearer <PAT>
Content-Typeはいapplication/json

パスパラメータ

パラメータ必須説明
agent_idstringはいAgent の一意識別子

リクエストボディ

フィールド必須説明
versionintegerはい現在のバージョン番号(OCC 検証)。サーバー側の現在のバージョンと一致する必要がある
namestringいいえAgent 名、1-256 文字
modelstring / objectいいえモデル識別子
systemstringいいえシステムプロンプト
descriptionstringいいえAgent の説明
toolsarrayいいえツール設定リスト
mcp_serversarrayいいえMCP サーバー設定リスト
metadataobjectいいえカスタムメタデータのキーバリュー
default_environmentstringいいえデフォルトの実行環境

リクエスト例

curl -X PUT "https://openapi.qoder.sh/api/v1/cloud/agents/agent_019eXXXX..." \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "doc-test-agent-updated",
    "model": "ultimate",
    "system": "あなたは更新後のドキュメントテストアシスタントです",
    "description": "API ドキュメントテスト用",
    "version": 1
  }'

レスポンス例

HTTP 200 OK
{
  "type": "agent",
  "id": "agent_019eXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "name": "doc-test-agent-updated",
  "description": "API ドキュメントテスト用",
  "model": "ultimate",
  "system": "あなたは更新後のドキュメントテストアシスタントです",
  "instructions": "あなたは更新後のドキュメントテストアシスタントです",
  "tools": [],
  "mcp_servers": [],
  "default_environment": "",
  "version": 2,
  "created_at": "2026-05-18T15:26:39.61669Z",
  "updated_at": "2026-05-18T15:27:07.967138Z"
}

楽観的並行制御(OCC)

更新操作は、バージョン番号を使った楽観ロック検証を行います。
  1. クライアントはまず GET で Agent の現在の version 値を取得します。
  2. 更新時、その version をリクエストボディに含めます。
  3. サーバーは version が現在の値と一致するか検証します。
  4. 一致すれば更新成功、version は自動的に +1 されます。
  5. 一致しなければ 409 Conflict が返されます。
これにより、複数のクライアントが同じ Agent を並行して変更したときに、互いに上書きしないことが保証されます。

エラーコード

HTTPtypeトリガー条件
400invalid_request_errorリクエストボディの形式エラーまたはフィールド値が不正
401authentication_errorPAT が無効または期限切れ
403permission_errorこの Agent を更新する権限がない
404not_found_error指定 ID の Agent が存在しない
409conflict_errorversion が一致せず、並行競合が発生

エラーレスポンス例

バージョン競合(409):
{
  "type": "error",
  "error": {
    "type": "conflict_error",
    "message": "Version conflict. Expected version 99, got 1."
  }
}

注意事項

  • version フィールドは必須です。渡さないと更新は失敗します。
  • 更新成功ごとに version は自動的にインクリメントされます。
  • 更新は全量置換セマンティクスです。渡されなかったオプションフィールドは空値に設定されるため、毎回更新時にすべての現行フィールド値を渡すことを推奨します。
  • GET /v1/agents/{agent_id}/versions で履歴バージョンを参照できます。