---
title: "Duplicate Template Route"
method: POST
path: "/api/v1/dashboards/widget-templates/duplicate"
tags: ["dashboards"]
---

# Duplicate Template Route

`POST /api/v1/dashboards/widget-templates/duplicate`

Fork a Custom template from a system registry key (Duplicate & edit, PR10).

## Request body

- DuplicateTemplateRequest — Fork a Custom template from a system registry key (Duplicate & edit).
  - `template_key` string, required
  - `title` string, nullable

## Response `201`

Successful Response

- UserWidgetTemplateRead — A tenant-scoped user-saved widget template.
  - `id` string, uuid, required
  - `title` string, required
  - `description` string, nullable
  - `viz_type` 'line' | 'bar' | 'pie' | 'number' | 'pivot' | 'logs_table' | 'heatmap', required
  - `config` object, required
  - `default_size` object, required
  - `category_slug` string, required
  - `data_source` string, required
  - `created_by_user_id` string, uuid, nullable
  - `is_shared` boolean
  - `deleted_at` string, date-time, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

## Changes

> 19 revisions in range; 1 not diffed.

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/dashboards/widget-templates/duplicate/post.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/34f2d9e81b0b?raw)
