メインコンテンツへスキップ
POST /api/v1/forward/templates/{template_id} 変更可能なテンプレートフィールドを更新します。リクエストから省略されたフィールドは変更されません。toolsmcp_serversskills などの配列フィールドは、指定された場合は全体が置き換えられます。

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT>
Content-TypeYesapplication/json
Idempotency-KeyNo安全でないリクエストに対する任意の冪等性キー。

Path parameters

ParameterTypeRequiredDescription
template_idstringYesForward の Template ID。

Body parameters

ParameterTypeRequiredDescription
namestringNo新しいテンプレート名。
descriptionstringNo新しいテンプレートの説明。
modelstringNo新しいモデル識別子。
systemstringNo新しいシステムプロンプト。
toolsarrayNoツール設定のリストを置き換えます。
mcp_serversarrayNoMCP サーバーのリストを置き換えます。
skillsarrayNoSkill のバインディングリストを置き換えます。
multiagentobjectNoManaged Agents の設定を置き換えます。
environment_idstring|nullNoデフォルトの Environment ID を置き換えます。null または空文字列を指定するとクリアされます。
vault_idsarray|nullNoデフォルトの Vault ID を置き換えます。null を指定するとリストがクリアされます。
filesobject|nullNoデフォルトのファイルリソースを置き換えます。null を指定するとマップがクリアされます。
environment_variablesobject | string|nullNoデフォルトのセッション環境変数を置き換えます。null を指定するとクリアされます。
metadataobjectNoカスタムメタデータをマージして更新します。

Nested configuration objects

toolsmcp_serversskills は配列フィールドです。更新リクエストで指定された場合、各配列は以前の配列を全体として置き換えます。

File resources

files は File ID をキーとするマップです。各項目の内部に file_ididresource_id を含めないでください。Forward は Session の作成時に mount_path を注入します。
FieldTypeRequiredDescription
enabledbooleanNoデフォルトは truefalse にすると、Identity Config で継承されたファイルが無効になります。

Tools array

tools[] の項目は type によって選択されます。
FieldTypeApplies toDescription
typestringAll必須。agent_toolset_20260401mcp_toolset、または custom
enabled_toolsarrayagent_toolset_20260401便宜的な許可リスト。空でないリストを指定すると、これらの組み込みツールのみが有効になります。
disallowed_toolsarrayagent_toolset_20260401便宜的な拒否リスト。無効化されたツール設定にコンパイルされます。
configsarrayagent_toolset_20260401, mcp_toolsetツールごとの有効化と権限ポリシー。
mcp_server_namestringmcp_toolset必須。mcp_servers[].name のいずれかの項目と一致する必要があります。
namestringcustom必須のカスタムツール名。組み込みツールと競合してはいけません。
descriptionstringcustom必須のカスタムツールの説明。
input_schemaobjectcustom必須の JSON Schema。input_schema.typeobject である必要があります。
組み込みツール名は BashReadWriteEditGlobGrepWebFetchWebSearchDeliverArtifacts です。

Tool config

tools[].configs[] の項目はこの形式を使用します。
FieldTypeRequiredDescription
namestringYesツール名。agent_toolset_20260401 の場合は組み込みツール名、mcp_toolset の場合は MCP ツール名。
enabledbooleanNofalse にするとツールを非表示にして拒否します。true にすると明示的に有効化します。
permission_policyobjectNo実行時の権限の挙動。

Permission policy

FieldTypeRequiredDescription
typestringYesalways_allowalways_ask、または always_deny

MCP servers

FieldTypeRequiredDescription
typestringNo現在は http のみ。省略された値は Effective Config で HTTP MCP サーバーとして扱われます。
namestringYesTemplate 内で一意の MCP サーバー名。tools[].mcp_server_name から参照されます。
urlstringYesStreamable HTTP MCP エンドポイントの URL。

Skills

FieldTypeRequiredDescription
typestringYescustom または qoder
skill_idstringYesSkill ID。
versionstringNoSkill のバージョン。省略した場合は最新バージョンが使用されます。
enabledbooleanNoデフォルトは truefalse にすると、コンパイルされたエージェント設定にその Skill が含まれなくなります。

Example request

curl -s -X POST 'https://api.qoder.com/api/v1/forward/templates/tmpl_support' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Support assistant v2",
    "environment_id": "env_support_v2",
    "vault_ids": ["vault_crm", "vault_billing"],
    "environment_variables": {
      "BASE_MODE": "support_v2"
    }
  }'

Example response

HTTP 200 OK
{
  "type": "template",
  "id": "tmpl_support",
  "name": "Support assistant v2",
  "description": "Handles pre-sales and after-sales support",
  "status": "active",
  "model": "ultimate",
  "system": "You are a helpful support assistant.",
  "tools": [],
  "mcp_servers": [],
  "skills": [],
  "multiagent": null,
  "environment_id": "env_support_v2",
  "vault_ids": ["vault_crm", "vault_billing"],
  "files": {},
  "environment_variables": {
    "BASE_MODE": "support_v2"
  },
  "metadata": {},
  "created_at": "2026-06-18T10:00:00Z",
  "updated_at": "2026-06-18T10:30:00Z"
}

Response fields

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

Errors

HTTPTypeTrigger
400invalid_request_errorリクエストボディが不正、またはサポートされていないフィールド値。
401authentication_errorPAT が無効または期限切れ。
404not_found_errorテンプレートまたは参照されたリソースが存在しない。
409conflict_errorテンプレート名が既に存在する。

Notes

  • アーカイブ済みのテンプレートは更新できません。
  • セッションのデフォルト値を更新しても、既存のセッションは変更されません。

テンプレートの取得

テンプレートのクローン