---
title: "Create Template Version"
method: POST
path: "/v1/templates/{template_id}/versions"
tags: ["templates"]
---

# Create Template Version

`POST /v1/templates/{template_id}/versions`

Clone a template into a new version. The clone is a FULL COPY of all
columns (goals, settings, name+description, skills) PLUS the source's
attachments (re-pointed at the new template id). The new row joins the
lineage via `version_root_id` and is inactive by default; admin promotes
when ready.

Attachment rows are duplicated (same file_url — S3 bytes are shared, no
re-upload needed). Mutating one version's attachment list (add/remove)
only affects that version's row; the file in S3 stays referenced by any
version that still points at it.

Body (optional):
    version_label: human label for the new version. Defaults to "v{N}"
        where N is the next sequential number in the lineage.

## Path parameters

- `template_id` string, required

## Request body

- object, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/roxels/apis/interviewer.md) · [All operations](https://skmtc.dev/roxels/apis/interviewer/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/roxels/interviewer/revisions/4ef48ed226e1/schema)
