メインコンテンツへスキップ
POST /api/v1/forward/templates Forward が Identity に対してセッションを開始する際に使用する、デフォルトのエージェント設定とセッションのデフォルト値を定義するテンプレートを作成します。

Headers

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

Body parameters

ParameterTypeRequiredDescription
namestringYesテンプレート名。1〜256 文字で、アカウント内で一意である必要があります。
modelstringYesultimate などのモデル識別子。
environment_idstringYesこのテンプレートから作成されたセッションで使用されるデフォルトの Environment。
descriptionstringNoテンプレートの説明。最大 2048 文字。
systemstringNoシステムプロンプト。最大 100,000 文字。
toolsarrayNoツール設定のリスト。最大 128 件。
mcp_serversarrayNoMCP サーバー設定のリスト。最大 20 件。
skillsarrayNoSkill のバインディングリスト。最大 20 件。
multiagentobjectNoManaged Agents の設定。
vault_idsarrayNoセッションで使用されるデフォルトの Vault ID。
filesobjectNoファイル ID をキーとするデフォルトのファイルリソース。
environment_variablesobject | stringNoデフォルトのセッション環境変数。
metadataobjectNoカスタムメタデータ。

Nested configuration objects

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' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Support assistant",
    "description": "Handles pre-sales and after-sales support",
    "model": "ultimate",
    "system": "You are a helpful support assistant.",
    "tools": [
      {
        "type": "agent_toolset_20260401",
        "configs": [
          { "name": "Read", "enabled": true },
          { "name": "Grep", "enabled": true },
          { "name": "WebSearch", "enabled": true }
        ]
      }
    ],
    "mcp_servers": [],
    "skills": [
      {
        "type": "custom",
        "skill_id": "skill_customer_reply",
        "version": "1",
        "enabled": true
      }
    ],
    "environment_id": "env_support",
    "vault_ids": ["vault_crm"],
    "files": {
      "file_019eXXXX": { "enabled": true }
    },
    "environment_variables": {
      "BASE_MODE": "support"
    },
    "metadata": {}
  }'

Example response

HTTP 201 Created
{
  "type": "template",
  "id": "tmpl_support",
  "name": "Support assistant",
  "description": "Handles pre-sales and after-sales support",
  "status": "active",
  "model": "ultimate",
  "system": "You are a helpful support assistant.",
  "tools": [
    {
      "type": "agent_toolset_20260401",
      "configs": [
        { "name": "Read", "enabled": true },
        { "name": "Grep", "enabled": true },
        { "name": "WebSearch", "enabled": true }
      ]
    }
  ],
  "mcp_servers": [],
  "skills": [
    {
      "type": "custom",
      "skill_id": "skill_customer_reply",
      "version": "1",
      "enabled": true
    }
  ],
  "multiagent": null,
  "environment_id": "env_support",
  "vault_ids": ["vault_crm"],
  "files": {
    "file_019eXXXX": { "enabled": true }
  },
  "environment_variables": {
    "BASE_MODE": "support"
  },
  "metadata": {},
  "created_at": "2026-06-18T10:00:00Z",
  "updated_at": "2026-06-18T10:00:00Z"
}

Response fields

FieldTypeDescription
typestring常に template
idstringTemplate ID。
statusstringactive または archived
environment_idstringセッションで使用されるデフォルトの Environment ID。
vault_idsarrayデフォルトの Vault ID。
filesobjectファイル ID をキーとするデフォルトのファイルリソース設定。
created_atstring作成タイムスタンプ。
updated_atstring更新タイムスタンプ。

Errors

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

Notes

  • id は Forward によって生成されます。作成リクエストで Template ID を送信しないでください。
  • files はファイル ID をキーとするマップです。各ファイル項目の内部に file_ididresource_id を含めないでください。
  • Forward はセッション作成時にファイルのマウントパスを注入します。

テンプレートの一覧取得

セッションの作成