---
title: "Duplicate a template"
url: "https://docs.signnow.com/docs/template/operations/post-v2-templates-template_id-copy"
type: "endpoint"
section: "template"
slug: "template/operations/post-v2-templates-template_id-copy"
method: "POST"
path: "/v2/templates/{template_id}/copy"
operation_id: "post-v2-templates-template_id-copy"
authorization: "bearer"
---

# Duplicate a template

`POST /v2/templates/{template_id}/copy`

This endpoint allows API users to create a new template by making a copy of an existing template and editing the copy.

The result is another template. To collect signatures, generate a document from it with [Create document from template](/docs/template/operations/get-template-copy) and send that document, or reach many signers at once with [Bulk invite](/docs/template/operations/bulk-invite).

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `template_id` | string | Yes | ID of the source template. |

## Request Body

**Schema**

```json
{
  "type": "object",
  "required": [
    "template_name"
  ],
  "properties": {
    "folder_id": {
      "type": "string",
      "description": "ID of the folder where the new template copy must be saved. If not specified, the new template will be saved to a Template folder."
    },
    "template_name": {
      "type": "string",
      "description": "The new template name."
    },
    "clear_recipient_details": {
      "type": "boolean",
      "description": "Whether or not to overwrite the recipients roles and actions in the template. `True` - yes, delete the recipients details from the template copy, `false` - no overwriting, use the recipients' details from the source template."
    }
  },
  "x-examples": {
    "Example 1": {
      "folder_id": "586ef233a1f9ec860bb0221e58ee5c57f760e39e",
      "template_name": "new template",
      "clear_recipient_details": false
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "folder_id": "586ef233a1f9ec860bb0221e58ee5c57f760e39e",
  "template_name": "new template",
  "clear_recipient_details": false
}
```

## Responses

### 200

Successfully created new template copy

**Example** (`Successfully created new template copy`)

```json
{
  "id": "29XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "name": "New sample template"
}
```

### 400

* Request with any of cases: invalid token, expired token, empty header, authorization = null, authorization without value
* The `template_name` field must be a string.
* The `template_name` field is required and must not be empty.
* The `template_name` field must be a valid string.
* The `folder_id` field must be a string.
* The `folder_id` field must be a valid unique id.
* Cannot copy a deleted template.
* Folder of Templates only available.
* The `clear_recipient_details` field must be a boolean.

**Example** (`Authorization issues`)

```json
{
  "code": 1537,
  "message": "invalid_token"
}
```

**Example** (`Cannot copy a deleted template.`)

```json
{
  "errors": [
    {
      "code": 13021009,
      "message": "Copy deleted template is not possible."
    }
  ]
}
```

**Example** (`Folder of Templates only available.`)

```json
{
  "errors": [
    {
      "code": 13021005,
      "message": "Folder of Templates only available."
    }
  ]
}
```

**Example** (`The `folder_id` field must be a string.`)

```json
{
  "errors": [
    {
      "code": 13021002,
      "message": "The `folder_id` field must be a string."
    }
  ]
}
```

**Example** (`The `template_name` field must be a string.`)

```json
{
  "errors": [
    {
      "code": 13021001,
      "message": "The `template_name` field must be a string."
    }
  ]
}
```

**Example** (`The `folder_id` field must be a valid unique id.`)

```json
{
  "errors": [
    {
      "code": 13021003,
      "message": "The `folder_id` field must be a valid unique id."
    }
  ]
}
```

**Example** (`The `template_name` field must be a valid string.`)

```json
{
  "errors": [
    {
      "code": 13021011,
      "message": "The `template_name` field must be a valid string."
    }
  ]
}
```

**Example** (`The `clear_recipient_details` field must be a boolean.`)

```json
{
  "errors": [
    {
      "code": 13021012,
      "message": "The `clear_recipient_details` field must be a boolean."
    }
  ]
}
```

**Example** (`The `template_name` field is required and must not be empty.`)

```json
{
  "errors": [
    {
      "code": 13021010,
      "message": "The `template_name` field is required and must not be empty."
    }
  ]
}
```

### 403

* Access denied to specific template.
* Access denied to specific folder.

**Example** (`Access denied to specific folder.`)

```json
{
  "errors": [
    {
      "code": 13021004,
      "message": "Access denied to {unique_id} folder."
    }
  ]
}
```

**Example** (`Access denied to specific template.`)

```json
{
  "errors": [
    {
      "code": 13021008,
      "message": "Access denied to {unique_id} template."
    }
  ]
}
```

### 404

Template is not found.

**Example** (`Template is not found.`)

```json
{
  "errors": [
    {
      "code": 13021006,
      "message": "Template {unique_id} is not found."
    }
  ]
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/v2/templates/{template_id}/copy" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"folder_id": "586ef233a1f9ec860bb0221e58ee5c57f760e39e", "template_name": "new template", "clear_recipient_details": false}'
```

---
*Full reference: https://docs.signnow.com/docs/template/operations/post-v2-templates-template_id-copy*
