Create a copy of an existing Template.
POST /api/v1/forward/templates/{template_id}/clone
Copies the source Template's Agent configuration and Session default settings, generating a new Template ID.
Request headers
Header | Required | Description |
Authorization | Yes |
|
Content-Type | Yes |
|
Idempotency-Key | No | Optional idempotency key for side-effecting requests. |
Path parameters
Parameter | Type | Required | Description |
| string | Yes | Source Forward Template ID. |
Request body parameters
Parameter | Type | Required | Description |
| string | No | New Template name; defaults to |
| string | No | New Template description; defaults to the source description. |
Sample request
curl -s -X POST 'https://api.qoder.com/api/v1/forward/templates/tmpl_support/clone' \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "Support assistant copy",
"description": "Cloned from Support assistant"
}'
Sample response
HTTP 200 OK
{
"type": "template",
"id": "tmpl_019eYYYY",
"name": "Support assistant copy",
"description": "Cloned from Support assistant",
"status": "active",
"model": "ultimate",
"system": "You are a helpful support assistant.",
"tools": [],
"mcp_servers": [],
"skills": [],
"environment_id": "env_support",
"vaults": {
"vault_019f18f2761b": {
"enabled": true
}
},
"files": {},
"environment_variables": {
"BASE_MODE": "support"
},
"metadata": {},
"created_at": "2026-06-18T10:31:00Z",
"updated_at": "2026-06-18T10:31:00Z"
}
Response fields
Field | Type | Description |
Return value | object | The newly created Template object. |
Errors
HTTP | Type | Code | Trigger condition |
400 |
| - | Clone request is invalid. |
404 |
| - | Source Template does not exist. |
409 |
| - | New Template name already exists. |
401 |
|
| PAT is invalid or expired. |
Notes
Cloning generates a new Template ID.
Cloning does not copy Identity Config records.