---
title: "Import a Canva Design"
method: POST
path: "/studio/templates/import/canva"
tags: ["Enterprise"]
---

# Import a Canva Design

`POST /studio/templates/import/canva`

## Request

- Base URL: `https://api.orshot.com/v1`
- URL: `https://api.orshot.com/v1/studio/templates/import/canva`
- Auth: HTTP bearer

Turn a public Canva share link into a studio template with one API call. Images are copied to your workspace and fonts matched to your library.

Available only to Enterprise-plan workspaces and first-party clients.

## Query parameters

- `includeThumbnails` boolean

## Request body

- object
  - `url` string, required: Public Canva share link: `https://www.canva.com/design/<id>/view` or a `canva.link` short link. In Canva, open Share, set access to Anyone with the link, and copy the link.
  - `name` string: Template name, up to 255 characters. Defaults to the design's title in Canva.
  - `convertPlaceholders` boolean: When `true`, placeholder text in the design such as `[City Name]`, `{{city_name}}` or `{City Name}` becomes its own parameter (`city_name`), so you can fill just that word when rendering. Default `false`.
  - `tags` unknown[]: Tag strings for the new template, e.g. `["social", "flyer"]`.
    - unknown
  - `dryRun` boolean: When `true`, the design is read and converted but nothing is saved or copied. Use it to check pages, size and font matches before importing. Default `false`.

## Response `200`

Successful response

- object

## Other responses

- `400`: The request was malformed or a parameter was invalid.
- `401`: Authentication is required and was not supplied.
- `402`: The workspace has no credits left. Either the render needs credits it does not have, or the key was paused after repeatedly calling with none (`code: api_key_paused`). That one resumes by itself on the first request we can accept.
- `403`: The API key is missing, invalid, or not permitted to perform this action.
- `404`: The requested route or resource does not exist.
- `429`: The workspace rate limit was exceeded. Retry after the interval given by the Retry-After header.
- `500`: An unexpected error occurred on our side.

## Changes

- **2026-11-02** `1210d6bcbb90`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/orshot/apis/orshot-api/changes/studio/templates/import/canva/post.md)

---

[API](https://skmtc.dev/orshot/apis/orshot-api.md) - [All operations](https://skmtc.dev/orshot/apis/orshot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orshot/apis/orshot-api/revisions/1210d6bcbb90?raw)
