---
title: "POST /v1/print-partner/designs"
method: POST
path: "/v1/print-partner/designs"
tags: ["design"]
---

# POST /v1/print-partner/designs

`POST /v1/print-partner/designs`

<Warning>

This API is currently provided as a preview. Be aware of the following:

- There might be unannounced breaking changes.
- Any breaking changes to preview APIs won't produce a new [API version](https://www.canva.dev/docs/connect/versions/).
- Public integrations that use preview APIs will not pass the review process, and can't be made available to all Canva users.

</Warning>

AVAILABILITY: This API is only available to Print Partners.

Creates a new Canva design using a Print Partner product ID.

Print partner proofing information (such as bleed and page constraints) can optionally be provided in the request. The design URLs that are returned include this information, which Canva applies in the editor when opening the design.

NOTE: Blank designs created with this API are automatically deleted if they're not edited within 7 days. These blank designs bypass the user's Canva trash and are permanently deleted.

## Request body

- CreatePrintPartnerDesignRequest — Body parameters for creating a new design for a Print Partner.
  - `design_source` union, required — The desired source for the design creation.
    - object — Creates a design using an external partner product ID.
      - `type` 'partner_product_id', required
      - `partner_product_id` string, required — The ID of the partner-defined product.
    - object — Creates a design that matches your dimensions. Add a product type for more precise template matches.
      - `type` 'dimensions', required
      - `dimensions` PrintPartnerDesignDimensions, required — Dimensions of the design. Used to match a product type, or to create a custom-size design if no product matches.
        - `width` number, double, required — The width of the design.
        - `height` number, double, required — The height of the design.
        - `units` 'in' | 'cm' | 'mm', required — The units of the dimensions.
      - `product_type` string — The product type is used alongside your dimensions to find a matching product in Canva Print's product catalogue, and templates for that product are recommended. If no match is found, only dimensions are used, so templates may include unrelated product types.
  - `title` string — The name of the design.
  - `bleed` integer — Bleed in microns to apply around the design in the editor. Bleed is the area outside the trim line used to avoid white edges after cutting. Use 0 for no bleed. If bleed is not specified, a default of 3000 microns is used.
  - `min_pages` integer — Minimum number of pages the design must have in the editor. The user cannot reduce the page count below this value. If both min_pages and max_pages are provided, min_pages must be less than or equal to max_pages.
  - `max_pages` integer — Maximum number of pages the design can have in the editor. The user cannot add pages beyond this value. If both min_pages and max_pages are provided, min_pages must be less than or equal to max_pages.

## Response `200`

OK

- CreatePrintPartnerDesignResponse — Details about the new design.
  - `design` Design, required — The design object, which contains metadata about the design.
    - `id` string, required — The design ID.
    - `title` string — The design title.
    - `owner` TeamUserSummary, required — Metadata for the user, consisting of the User ID and Team ID.
      - `user_id` string, required — The ID of the user.
      - `team_id` string, required — The ID of the user's Canva Team.
    - `thumbnail` Thumbnail — A thumbnail image representing the object.
      - `width` integer, required — The width of the thumbnail image in pixels.
      - `height` integer, required — The height of the thumbnail image in pixels.
      - `url` string, required — A URL for retrieving the thumbnail image. This URL expires after 15 minutes. This URL includes a query string that's required for retrieving the thumbnail.
    - `urls` DesignLinks, required — A temporary set of URLs for viewing or editing the design.
      - `edit_url` string, required — A temporary editing URL for the design. This URL is only accessible to the user that made the API request, and is designed to support [return navigation](https://www.canva.dev/docs/connect/return-navigation-guide/) workflows. NOTE: This is not a permanent URL, it is only valid for 30 days.
      - `view_url` string, required — A temporary viewing URL for the design. This URL is only accessible to the user that made the API request, and is designed to support [return navigation](https://www.canva.dev/docs/connect/return-navigation-guide/) workflows. NOTE: This is not a permanent URL, it is only valid for 30 days.
    - `created_at` integer, required — When the design was created in Canva, as a Unix timestamp (in seconds since the Unix Epoch).
    - `updated_at` integer, required — When the design was last updated in Canva, as a Unix timestamp (in seconds since the Unix Epoch).
    - `page_count` integer — The total number of pages in the design. Some design types don't have pages (for example, Canva docs).
    - `design_types` DesignTypeOutputName[], required — The type of content a design or page contains. The list of design types may grow over time. The `unknown` value represents design types that haven't been added to the list.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests
- `default` — Error Response

---

[API](https://skmtc.net/canva/apis/canva-connect-api.md) · [All operations](https://skmtc.net/canva/apis/canva-connect-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/canva/canva-connect-api/versions/499c392c7720/schema)
