---
title: "Create document from template"
url: "https://docs.signnow.com/docs/template/operations/get-template-copy"
type: "endpoint"
section: "template"
slug: "template/operations/get-template-copy"
method: "POST"
path: "/template/{template_id}/copy"
operation_id: "get-template-copy"
authorization: "bearer"
---

# Create document from template

`POST /template/{template_id}/copy`

This endpoint allows API users to create a new document from a template. If a name is not supplied, the document takes the name of the template.

The new document is a signable copy: the template stays untouched as the master version. The response returns the new document's `id`. The copy has its own document, field, and role IDs, all different from the template's, so read the current roles and fields from [Get document](/docs/document/operations/get-document) for the new document rather than reusing the template's. For the full flow, from preparing the document to sending the copy for signature, see [Documents, doc groups, and templates](/docs/entities). To let recipients sign the copy inside your own site or app, see [Embedded signing](/docs/guides-embedded-signing). To copy the template itself instead of generating a signable document, use [Duplicate template](/docs/template/operations/post-v2-templates-template_id-copy).

For more information, check out our video tutorial.

<details open>

**<summary>Video tutorial</summary>**

<sub><sup>Note: The design shown in the video is outdated, but the flow is still accurate. You can go ahead and follow the steps as demonstrated.</sup></sub>

[Video tutorial](https://www.youtube.com/watch?v=WjohB0P5S8M)

</details>

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `template_id` | string | Yes |  |

## Request Body

**Schema**

```json
{
  "type": "object",
  "properties": {
    "document_name": {
      "type": "string"
    }
  }
}
```

## Responses

### 200

**Example** (`application/json`)

```json
{
  "id": "ceXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "document_name": "New document"
}
```

## Code Examples

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

### cURL

```bash
curl -X POST \
  "https://api.signnow.com/template/{template_id}/copy" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
```

---
*Full reference: https://docs.signnow.com/docs/template/operations/get-template-copy*
