> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Copy a Template from a Full-Copy Share Link

> Gives you a private template of your own, independent of the author, from a full-copy share link, counting against your limit of 5.

This call turns a `full_copy` link into a private template that belongs to you and answers `201` with it. Nothing links the copy to the author afterwards: if the author deletes the template, the image or the account, your copy does not change, and you get no updates from the original. The code and any image are copied to your account, secrets the author hid never come with it, and the author's name stays as the credit. The copy counts against your limit of 5 private templates and, for a template with images, takes one image slot per distinct image.

It requires an account (a session or an API key with the `templates:write` scope). The plan rules of [Create a Private Template](https://docs.vertracloud.app/api-reference/endpoint/templates/create.md) apply to you, and in a workspace only its owner can receive a copy. The permission is checked at the moment of the call: if the author removed `share.full_copy` after creating the link, the call fails with `SHARE_LINK_REVOKED` and no use is spent. A `use` link is refused here with `400`: use [Use Link](https://docs.vertracloud.app/api-reference/endpoint/templates/share-links/deploy.md).

**token** `string` *required*

The token of the link.

**workspace\_id** `string`

The workspace that will own the copy. Without it, the copy is yours.

```bash cURL theme={null}
curl -X POST https://api.vertracloud.app/v1/share/templates/vtpl_EXAMPLE_TOKEN/copy \
  -H "Authorization: Bearer $VERTRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Response

The private template of [Create a Private Template](https://docs.vertracloud.app/api-reference/endpoint/templates/create.md), with `201 Created`. Its `slug` is the original one, or the first free of `<slug>-copy`, `<slug>-copy-2` and so on; `author_display` credits the original author.

```json Response theme={null}
{
  "response": {
    "id": "tpl-999888777666",
    "slug": "support-bot-copy",
    "origin": "private",
    "name": { "pt-br": "Bot de suporte", "en": "Support bot" },
    "author_display": "Ana",
    "current_version": { "id": "tplv-444333222111", "version": "1.0.0", "security": false, "created_at": "2026-10-27T17:00:00Z" },
    "github": null,
    "owner": { "user_id": "9876543210987654321", "workspace_id": null }
  }
}
```

### Error Responses

**code** `string`

The error code indicating the reason for the failure. Possible values:

* `API_KEY_SCOPE_DENIED`: The API key does not have the `templates:write` scope (`403`).
* `SHARE_LINK_NOT_FOUND`: The token has the wrong form, does not exist, or its template was deleted (`404`).
* `SHARE_LINK_REVOKED`: The link was revoked, or the author no longer allows full copies (`410`).
* `SHARE_LINK_EXPIRED`, `SHARE_LINK_EXHAUSTED`: The link expired or reached `max_uses` (`410`).
* `TEMPLATE_PRIVATE_LIMIT_REACHED`: You already have 5 private templates.
* `PLAN_DOES_NOT_SUPPORT_CUSTOM_IMAGES`: Your plan cannot create templates.
* `TEMPLATE_IMAGE_SLOTS_EXHAUSTED`: The copy needs more image slots than you have free.
* `WORKSPACE_OWNER_ONLY`: Only the workspace owner receives a copy in it.

```json Error Response theme={null}
{
  "code": "TEMPLATE_PRIVATE_LIMIT_REACHED"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.