Skip to content

Print API — Requests from Canva

Overview

To create and update orders on the print partner's system, Canva sends requests to the print partner's service. To facilitate this, the print partner must implement their side of the Print API and provide endpoints for Canva to access.

API endpoints

The print partner must provide the following endpoints for Canva to access:

  • Create order
  • Get order
  • Update order
  • Cancel order
  • Find locations

Request verification

When print partners receive a request, they must verify the request came from Canva. Only Canva is authorized to send create and update Canva print orders.

Canva signs all requests with cryptographic keys using a JSON Web Key Set (JWKS). Each request includes a signature in a header named X-Canva-Signature.

Canva provides the Get signing keys endpoint for print partners to get Canva's Ed25519 public keys to verify the request signature.

The request verification process is as follows:

  1. Retrieve Canva's public keys from the Get signing keys endpoint.

  2. Verify the signature of each incoming request to your Print API endpoints, using Canva's public keys.

  3. Check the following claims in the signature payload:

    • iss (issuer): This must be Canva.
    • aud (audience): This must match your OAuth client ID.
    • sub (subject): This must match your print client ID.
    • order (order): This must match the order ID in the request body (when present).

    A valid signature means the request is legitimate and hasn't been tampered with during transit.

<Note> We recommend that print partners cache Canva's public keys on their system and only call the Get signing keys endpoint to refresh the cache if an unrecognized key is detected.

This reduces the number of network calls, while allowing Canva to rotate the keys when necessary. </Note>

Cancel Order

Cancels items in an order in the print partner's system.

For cancel requests, Canva sends the item_reference_ids to cancel. For cancelling an entire order, Canva sends the item_reference_ids for all items in the order.

The request can be denied if the cancellation is not possible. For example, if production on the order's item has already started.

HTTP method and URL path

POST https://{yourPrintApiUrl}/v1/orders/{orderReferenceId}/cancel

Header parameters

<Prop.List> <Prop name="Content-Type" type="string" required> Indicates the media type of the information sent in the request. This must be set to application/json.

For example: `Content-Type: application/json`

</Prop>

<Prop name="X-Canva-Public-Api-Version" type="string"> The version of the Canva Print API used in the request. If not specified, the latest version is assumed. </Prop>

<Prop name="X-Canva-Signature" type="string" required> The Canva request signature. This is used to verify the request is legitimate and was not tampered with in transit. </Prop> </Prop.List>

Path parameters

<Prop.List> <Prop name="orderReferenceId" type="string" required> Unique, case-sensitive string identifying the order in Canva's system. </Prop> </Prop.List>

Body parameters

<Prop.List> <Prop name="request_type" type="string" required> The type of request being made.

&lt;Prop.Extras&gt;
  **Available values:** The only valid value is `cancel_order`.
&lt;/Prop.Extras&gt;

</Prop>

<Prop name="order_reference_id" type="string" required> A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the orderReferenceId path parameter.

&lt;Prop.Extras&gt;
  **Maximum length:** `255`
&lt;/Prop.Extras&gt;

</Prop>

<Prop name="cancel_details" type="CancelDetails" required> Information of the order cancellation.

&lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;cancel_details&lt;/strong&gt;&lt;/&gt;} defaultExpanded={true}&gt;
  &lt;Prop.List&gt;
    &lt;Prop name="item_reference_ids" type="string[]" required&gt;
      List of item IDs to be canceled in the order.

      &lt;Prop.Extras&gt;
        **Minimum length:** `1`
      &lt;/Prop.Extras&gt;
    &lt;/Prop&gt;
  &lt;/Prop.List&gt;
&lt;/PillAccordion&gt;

</Prop> </Prop.List>

Example request

Cancel item in an order

json
{
  "request_type": "cancel_order",
  "order_reference_id": "FO123456789",
  "cancel_details": {
    "item_reference_ids": [
      "FI123456789"
    ]
  }
}

Success response

If successful, the endpoint returns a 200 response with a JSON body with the following parameters:

<Prop.List> <Prop name="order" type="Order" required mode="output"> An order.

&lt;Tabs&gt;
  &lt;Tab name="pickup"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `pickup`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="pickup_location_reference" type="string" required mode="output"&gt;
        The reference ID for the pickup location of an order, as specified by the Canva user placing the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;

  &lt;Tab name="delivery"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `delivery`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The Items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_address" type="Address" required mode="output"&gt;
        An address.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;delivery_address&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="address_line1" type="string" required mode="output"&gt;
              The address line 1 portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="city" type="string" required mode="output"&gt;
              The city portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="country" type="string" required mode="output"&gt;
              ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

              &lt;Prop.Extras&gt;
                **Maximum length:** `2`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="address_line2" type="string" mode="output"&gt;
              The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="subdivision" type="string" mode="output"&gt;
              ISO 3166-2 subdivision code of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `6`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="postcode" type="string" mode="output"&gt;
              The postcode/zipcode portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `12`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_shipping_tier" type="string" required mode="output"&gt;
        A Canva defined enum of potential shipping tiers. Each tier describes a different speed and cost of delivery. Partners are expected to interpret this according to contractual agreements.

        &lt;Prop.Extras&gt;
          **Available values:**

          * `economy`: Economy delivery tier.
          * `standard`: Standard delivery tier.
          * `express`: Express delivery tier.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="dispatch_location_reference" type="string" required mode="output"&gt;
        The reference ID for the dispatch location for the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="shipments" type="Shipment[]" mode="output"&gt;
        A list of shipments for the order.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;shipments&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="items" type="ShipmentItem[]" required mode="output"&gt;
              The items included in the shipment.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`
              &lt;/Prop.Extras&gt;

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
                    A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="quantity" type="integer" required mode="output"&gt;
                    The number of copies of an item that were shipped.
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="tracking_number" type="string" mode="output"&gt;
              The tracking number provided by the carrier.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`

                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="carrier" type="string" mode="output"&gt;
              The Canva-supported carrier delivering the shipment.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `allied_express`
                * `allwayex`
                * `amazon`
                * `ams`
                * `asendia`
                * `aus_post`
                * `b2c`
                * `blue_dart`
                * `bpost`
                * `bring_no`
                * `canada_post`
                * `carriers`
                * `chitchats`
                * `chronopost`
                * `correios`
                * `correos`
                * `correos_express`
                * `couriers_please`
                * `deutsche_post`
                * `dhl`
                * `dpd`
                * `dpd_uk`
                * `estafeta`
                * `evri`
                * `fastway`
                * `fedex`
                * `fleet_optics`
                * `gls`
                * `hunter_express`
                * `ics`
                * `icumulus`
                * `india_post`
                * `japan_post`
                * `landmark_global`
                * `laposte`
                * `loomis_express`
                * `lotte`
                * `newzealand_couriers`
                * `norsk_global`
                * `paquetexpress`
                * `parcel_force`
                * `pitney_bowes`
                * `post_nl`
                * `post_nord`
                * `purolator`
                * `qxpress`
                * `royal_mail`
                * `sagawa`
                * `sda`
                * `seur`
                * `spring_gds`
                * `star_track`
                * `swiss_post`
                * `tnt`
                * `toll`
                * `uniuni`
                * `ups`
                * `usps`
                * `yamato`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="dispatched_at" type="integer" mode="output"&gt;
              When the shipment was dispatched, as a Unix timestamp (in seconds since the Unix Epoch).
            &lt;/Prop&gt;

            &lt;Prop name="dispatch_location_reference" type="string" mode="output"&gt;
              The location ID of where the shipment was dispatched.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;
&lt;/Tabs&gt;

</Prop> </Prop.List>

Example responses

Cancel delivery order

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "canceled",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726449800
  }
}

Partially cancel order: delivery order, multiple items (invitation and canvas) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "canceled",
        "sku_reference": "IN00030",
        "quantity": 50
      },
      {
        "item_reference_id": "FI987654321",
        "status": "received",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf",
    "created_at": 1726448251,
    "updated_at": 1726449000
  }
}

Error responses

400 Bad Request. For example, an invalid payload format.

401 Unauthorized. For example, an invalid signature.

403 Forbidden. For example, an idempotent order issue, or the order doesn't exist.

405 Not Allowed. For example, the request isn't allowed because of the order state, or it isn't supported or implemented.

Create Order

Creates an order on the print partner's system. This operation lets Canva request a partner to commence production on an order.

As part of the request, Canva sends an orderReferenceId and a list of items to print.

Requests to this endpoint should be idempotent. If a provided orderReferenceId already exists in the partner system, and:

  • The item item_reference_ids match and are not canceled: A success response should be returned.
  • The item item_reference_ids match but items requested in the request are canceled: An error response should be returned.
  • The item item_reference_ids don't match: An error response should be returned.

HTTP method and URL path

POST https://{yourPrintApiUrl}/v1/orders

Header parameters

<Prop.List> <Prop name="Content-Type" type="string" required> Indicates the media type of the information sent in the request. This must be set to application/json.

For example: `Content-Type: application/json`

</Prop>

<Prop name="X-Canva-Public-Api-Version" type="string"> The version of the Canva Print API used in the request. If not specified, the latest version is assumed. </Prop>

<Prop name="X-Canva-Signature" type="string" required> The Canva request signature. This is used to verify the request is legitimate and was not tampered with in transit. </Prop> </Prop.List>

Body parameters

<Prop.List> <Prop name="request_type" type="string" required> The type of request being made.

&lt;Prop.Extras&gt;
  **Available values:** The only valid value is `create_order`.
&lt;/Prop.Extras&gt;

</Prop>

<Prop name="order" type="CreateOrder" required> Describes an order to create.

&lt;Tabs&gt;
  &lt;Tab name="pickup"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `pickup`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="CreateItem[]" required&gt;
        Items to create.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="artworks" type="Artwork[]" required&gt;
              The artworks of the item.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`
              &lt;/Prop.Extras&gt;

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;artworks&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="url" type="string" required&gt;
                    A temporary URL for the partner to download a production-quality print file for an item.
                  &lt;/Prop&gt;

                  &lt;Prop name="print_area" type="string" required&gt;
                    Where on a product an artwork file is expected to appear.

                    * `cover`
                    * `front`
                    * `back`
                    * `sheets`
                    * `none`

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="orientation" type="string" required&gt;
                    The physical orientation of the file.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`

                      **Available values:**

                      * `portrait`
                      * `landscape`
                      * `square`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="pages" type="integer"&gt;
                    The number of the pages in the file. Only provided for PDF.
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="attributes" type="object" required&gt;
              A key-value pair of attributes describing an item. These pairs complement the SKU by enumerating the unique attributes it describes. If used by the print partner, the expected values must be confirmed with Canva.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;attributes&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="&lt;KEY&gt;" type="object of strings" required&gt;
                    A key-value pair of attributes describing an item. These pairs complement the SKU by enumerating the unique attributes it describes. If used by the print partner, the expected values must be confirmed with Canva.

                    ```json
                    {
                      "paperFinish": "matte",
                      "paperType": "premium",
                      "productSize": "portrait"
                    }
                    ```
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="mockup_url" type="string"&gt;
              A temporary URL for the partner to download a mockup file displaying artwork imposed on a product for an item. This is included for certain products, generally apparel. This is controlled by Canva's internal product definition and not an API configuration.
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="preferred_production_location_reference" type="string" required&gt;
        The reference ID for the preferred production location for the order. Partners can override this if the selected location is unsuitable, but partners must notify Canva through a production update if this occurs.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="pickup_location_reference" type="string" required&gt;
        The reference ID for the pickup location of an order, as specified by the Canva user placing the order. Partners can't override this selection.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;

  &lt;Tab name="delivery"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `delivery`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="CreateItem[]" required&gt;
        Items to create.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="artworks" type="Artwork[]" required&gt;
              The artworks of the item.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`
              &lt;/Prop.Extras&gt;

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;artworks&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="url" type="string" required&gt;
                    A temporary URL for the partner to download a production-quality print file for an item.
                  &lt;/Prop&gt;

                  &lt;Prop name="print_area" type="string" required&gt;
                    Where on a product an artwork file is expected to appear.

                    * `cover`
                    * `front`
                    * `back`
                    * `sheets`
                    * `none`

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="orientation" type="string" required&gt;
                    The physical orientation of the file.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`

                      **Available values:**

                      * `portrait`
                      * `landscape`
                      * `square`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="pages" type="integer"&gt;
                    The number of the pages in the file. Only provided for PDF.
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="attributes" type="object" required&gt;
              A key-value pair of attributes describing an item. These pairs complement the SKU by enumerating the unique attributes it describes. If used by the print partner, the expected values must be confirmed with Canva.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;attributes&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="&lt;KEY&gt;" type="object of strings" required&gt;
                    A key-value pair of attributes describing an item. These pairs complement the SKU by enumerating the unique attributes it describes. If used by the print partner, the expected values must be confirmed with Canva.

                    ```json
                    {
                      "paperFinish": "matte",
                      "paperType": "premium",
                      "productSize": "portrait"
                    }
                    ```
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="mockup_url" type="string"&gt;
              A temporary URL for the partner to download a mockup file displaying artwork imposed on a product for an item. This is included for certain products, generally apparel. This is controlled by Canva's internal product definition and not an API configuration.
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_address" type="Address" required&gt;
        An address.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;delivery_address&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="address_line1" type="string" required&gt;
              The address line 1 portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="city" type="string" required&gt;
              The city portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="country" type="string" required&gt;
              ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

              &lt;Prop.Extras&gt;
                **Maximum length:** `2`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="address_line2" type="string"&gt;
              The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="subdivision" type="string"&gt;
              ISO 3166-2 subdivision code of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `6`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="postcode" type="string"&gt;
              The postcode/zipcode portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `12`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_shipping_tier" type="string" required&gt;
        A Canva defined enum of potential shipping tiers. Each tier describes a different speed and cost of delivery. Partners are expected to interpret this according to contractual agreements.

        &lt;Prop.Extras&gt;
          **Available values:**

          * `economy`: Economy delivery tier.
          * `standard`: Standard delivery tier.
          * `express`: Express delivery tier.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="preferred_production_location_reference" type="string" required&gt;
        The reference ID for the preferred production location for the order. Partners can override this if the selected location is unsuitable, but partners must notify Canva through a production update if this occurs.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="preferred_dispatch_location_reference" type="string" required&gt;
        The reference ID for the preferred dispatch location for an order, as determined by Canva's internal routing. Partners can override this if the selected location is unsuitable, but partners must notify Canva through a production update if this occurs. Generally, this is the same as the preferred production location, but they are separated for future flexibility.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;
&lt;/Tabs&gt;

</Prop> </Prop.List>

Example requests

Create order: delivery, single item (invitation)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create order: delivery, single item (T-shirt)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "TSHIRT_DELUXE_WHITE_MENS_M",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/front.png",
            "print_area": "front",
            "orientation": "portrait"
          },
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/back.png",
            "print_area": "back",
            "orientation": "portrait"
          }
        ],
        "mockup_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/mockup.png",
        "quantity": 1,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create order: delivery, single item (photobook)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "PHBOOK_11X8.5IN_HARD-COVER_SOFT-TOUCH",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/cover.pdf",
            "print_area": "cover",
            "orientation": "portrait",
            "pages": 1
          },
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 20
          }
        ],
        "quantity": 1,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create order: delivery, single item (canvas)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "CANVAS_PREMIUM_11X14IN_WOODGRAIN-FRAME",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/sheets.jpg",
            "print_area": "sheets",
            "orientation": "portrait"
          }
        ],
        "quantity": 1,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create order: delivery, single item (invitations) with add ons (envelopes)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create Order: delivery, multiple items (canvas and invitations)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "CANVAS_PREMIUM_11X14IN_WOODGRAIN-FRAME",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/sheets.jpg",
            "print_area": "sheets",
            "orientation": "portrait"
          }
        ],
        "quantity": 1,
        "attributes": {}
      },
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create Order: delivery, multiple items (canvas and invitations) with add ons (envelopes)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "CANVAS_PREMIUM_11X14IN_WOODGRAIN-FRAME",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/sheets.jpg",
            "print_area": "sheets",
            "orientation": "portrait"
          }
        ],
        "quantity": 1,
        "attributes": {}
      },
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "preferred_production_location_reference": "partnerLocation1234",
    "preferred_dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf"
  }
}

Create order: pickup, single item (invitations)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "preferred_production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice"
  }
}

Create order: pickup, single item (invitations) with add ons (envelopes)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "preferred_production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice"
  }
}

Create order: pickup, multiple items (invitations and canvas)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      },
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "CANVAS_PREMIUM_11X14IN_WOODGRAIN-FRAME",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/artwork/sheets.jpg",
            "print_area": "sheets",
            "orientation": "portrait"
          }
        ],
        "quantity": 1,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "preferred_production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice"
  }
}

Create order: pickup, multiple items (invitations) with add ons (envelopes)

json
{
  "request_type": "create_order",
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "items": [
      {
        "item_reference_id": "FI123456789",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      },
      {
        "item_reference_id": "FI987654321",
        "sku_reference": "IN00030",
        "artworks": [
          {
            "url": "https://s3-external-1.amazonaws.com/bucket/FI987654321/sheets.pdf",
            "print_area": "sheets",
            "orientation": "portrait",
            "pages": 2
          }
        ],
        "quantity": 50,
        "attributes": {}
      }
    ],
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "preferred_production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice"
  }
}

Success response

If successful, the endpoint returns a 201 response with a JSON body with the following parameters:

<Prop.List> <Prop name="order" type="Order" required mode="output"> An order.

&lt;Tabs&gt;
  &lt;Tab name="pickup"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `pickup`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="pickup_location_reference" type="string" required mode="output"&gt;
        The reference ID for the pickup location of an order, as specified by the Canva user placing the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;

  &lt;Tab name="delivery"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `delivery`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The Items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_address" type="Address" required mode="output"&gt;
        An address.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;delivery_address&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="address_line1" type="string" required mode="output"&gt;
              The address line 1 portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="city" type="string" required mode="output"&gt;
              The city portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="country" type="string" required mode="output"&gt;
              ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

              &lt;Prop.Extras&gt;
                **Maximum length:** `2`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="address_line2" type="string" mode="output"&gt;
              The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="subdivision" type="string" mode="output"&gt;
              ISO 3166-2 subdivision code of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `6`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="postcode" type="string" mode="output"&gt;
              The postcode/zipcode portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `12`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_shipping_tier" type="string" required mode="output"&gt;
        A Canva defined enum of potential shipping tiers. Each tier describes a different speed and cost of delivery. Partners are expected to interpret this according to contractual agreements.

        &lt;Prop.Extras&gt;
          **Available values:**

          * `economy`: Economy delivery tier.
          * `standard`: Standard delivery tier.
          * `express`: Express delivery tier.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="dispatch_location_reference" type="string" required mode="output"&gt;
        The reference ID for the dispatch location for the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="shipments" type="Shipment[]" mode="output"&gt;
        A list of shipments for the order.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;shipments&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="items" type="ShipmentItem[]" required mode="output"&gt;
              The items included in the shipment.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`
              &lt;/Prop.Extras&gt;

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
                    A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="quantity" type="integer" required mode="output"&gt;
                    The number of copies of an item that were shipped.
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="tracking_number" type="string" mode="output"&gt;
              The tracking number provided by the carrier.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`

                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="carrier" type="string" mode="output"&gt;
              The Canva-supported carrier delivering the shipment.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `allied_express`
                * `allwayex`
                * `amazon`
                * `ams`
                * `asendia`
                * `aus_post`
                * `b2c`
                * `blue_dart`
                * `bpost`
                * `bring_no`
                * `canada_post`
                * `carriers`
                * `chitchats`
                * `chronopost`
                * `correios`
                * `correos`
                * `correos_express`
                * `couriers_please`
                * `deutsche_post`
                * `dhl`
                * `dpd`
                * `dpd_uk`
                * `estafeta`
                * `evri`
                * `fastway`
                * `fedex`
                * `fleet_optics`
                * `gls`
                * `hunter_express`
                * `ics`
                * `icumulus`
                * `india_post`
                * `japan_post`
                * `landmark_global`
                * `laposte`
                * `loomis_express`
                * `lotte`
                * `newzealand_couriers`
                * `norsk_global`
                * `paquetexpress`
                * `parcel_force`
                * `pitney_bowes`
                * `post_nl`
                * `post_nord`
                * `purolator`
                * `qxpress`
                * `royal_mail`
                * `sagawa`
                * `sda`
                * `seur`
                * `spring_gds`
                * `star_track`
                * `swiss_post`
                * `tnt`
                * `toll`
                * `uniuni`
                * `ups`
                * `usps`
                * `yamato`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="dispatched_at" type="integer" mode="output"&gt;
              When the shipment was dispatched, as a Unix timestamp (in seconds since the Unix Epoch).
            &lt;/Prop&gt;

            &lt;Prop name="dispatch_location_reference" type="string" mode="output"&gt;
              The location ID of where the shipment was dispatched.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;
&lt;/Tabs&gt;

</Prop> </Prop.List>

Example responses

Delivery order, single item (invitation)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Delivery order, single item (invitation) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Delivery order, multiple items (invitation and canvas) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      },
      {
        "item_reference_id": "FI987654321",
        "status": "received",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Pickup order, single item (invitation)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Pickup order, single item (invitation) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Pickup order, multiple items (invitation and canvas) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      },
      {
        "item_reference_id": "FI987654321",
        "status": "received",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Error responses

400 Bad Request. For example, an invalid payload format.

401 Unauthorized. For example, an invalid signature.

Find Locations

Gets up-to-date information on the print partner's locations that support in-store pickup.

Canva is interested in:

  • The address of each pickup location.
  • Production and transfer locations that supply to each pickup location.
  • The opening hours of each pickup location.

HTTP method and URL path

GET https://{yourPrintApiUrl}/locations

Header parameters

<Prop.List> <Prop name="X-Canva-Public-Api-Version" type="string"> The version of the Canva Print API used in the request. If not specified, the latest version is assumed. </Prop>

<Prop name="X-Canva-Signature" type="string" required> The Canva request signature. This is used to verify the request is legitimate and was not tampered with in transit. </Prop> </Prop.List>

Query parameters

<Prop.List> <Prop name="country" type="string"> The ISO 3166-1 alpha-2 country code to filter the returned partner locations. </Prop>

<Prop name="continuation" type="string"> If the success response contains a continuation token, the list contains more items you can list. You can use this token as a query parameter and retrieve more items from the list.

To retrieve all items, you might need to make multiple requests.

</Prop>

<Prop name="limit" type="integer" required> The limit for the number of results to return. If the available items are more than the limit, then the response will include a continuation token. </Prop> </Prop.List>

Success response

If successful, the endpoint returns a 200 response with a JSON body with the following parameters:

<Prop.List> <Prop name="locations" type="PickupLocation[]" required mode="output"> List of pickup locations currently available for the partner.

&lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;locations&lt;/strong&gt;&lt;/&gt;} defaultExpanded={true}&gt;
  &lt;Prop.List&gt;
    &lt;Prop name="id" type="string" required mode="output"&gt;
      The internal reference of the location on the partners system.

      &lt;Prop.Extras&gt;
        **Maximum length:** `255`
      &lt;/Prop.Extras&gt;
    &lt;/Prop&gt;

    &lt;Prop name="display_name" type="string" required mode="output"&gt;
      The display name of the location. This is what Canva customers can expect the location to be called.

      &lt;Prop.Extras&gt;
        **Maximum length:** `255`
      &lt;/Prop.Extras&gt;
    &lt;/Prop&gt;

    &lt;Prop name="phone" type="string" required mode="output"&gt;
      The contact phone number of the location.

      &lt;Prop.Extras&gt;
        **Maximum length:** `255`
      &lt;/Prop.Extras&gt;
    &lt;/Prop&gt;

    &lt;Prop name="timezone" type="string" required mode="output"&gt;
      The timezone of the location in tz format.

      &lt;Prop.Extras&gt;
        **Maximum length:** `255`
      &lt;/Prop.Extras&gt;
    &lt;/Prop&gt;

    &lt;Prop name="address" type="Address" required mode="output"&gt;
      An address.

      &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;address&lt;/strong&gt;&lt;/&gt;}&gt;
        &lt;Prop.List&gt;
          &lt;Prop name="address_line1" type="string" required mode="output"&gt;
            The address line 1 portion of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="city" type="string" required mode="output"&gt;
            The city portion of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="country" type="string" required mode="output"&gt;
            ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

            &lt;Prop.Extras&gt;
              **Maximum length:** `2`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="address_line2" type="string" mode="output"&gt;
            The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="subdivision" type="string" mode="output"&gt;
            ISO 3166-2 subdivision code of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `6`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="postcode" type="string" mode="output"&gt;
            The postcode/zipcode portion of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `12`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;
        &lt;/Prop.List&gt;
      &lt;/PillAccordion&gt;
    &lt;/Prop&gt;

    &lt;Prop name="geolocation" type="Geolocation" required mode="output"&gt;
      Longitude and latitude of a location.

      &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;geolocation&lt;/strong&gt;&lt;/&gt;}&gt;
        &lt;Prop.List&gt;
          &lt;Prop name="latitude" type="number" required mode="output"&gt;
            The latitude of the geolocation.

            &lt;Prop.Extras&gt;
              **Minimum:** `-90`

              **Maximum:** `90`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="longitude" type="number" required mode="output"&gt;
            The longitude of the geolocation.

            &lt;Prop.Extras&gt;
              **Minimum:** `-180`

              **Maximum:** `180`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;
        &lt;/Prop.List&gt;
      &lt;/PillAccordion&gt;
    &lt;/Prop&gt;

    &lt;Prop name="pickup_hours" type="PickupHours" required mode="output"&gt;
      Pickup hours for a pickup location. If hours do not exist for a day, the store is considered closed.

      &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;pickup_hours&lt;/strong&gt;&lt;/&gt;}&gt;
        &lt;Prop.List&gt;
          &lt;Prop name="monday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;monday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;

          &lt;Prop name="tuesday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;tuesday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;

          &lt;Prop name="wednesday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;wednesday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;

          &lt;Prop name="thursday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;thursday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;

          &lt;Prop name="friday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;friday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;

          &lt;Prop name="saturday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;saturday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;

          &lt;Prop name="sunday_hours" type="Hours" mode="output"&gt;
            Details on the opening and closing time for a pickup location.

            The open time must be before close time. Hours must be open for at least a minute.

            &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;sunday_hours&lt;/strong&gt;&lt;/&gt;}&gt;
              &lt;Prop.List&gt;
                &lt;Prop name="open_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store opens in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="open_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store opens.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_hour" type="integer" required mode="output"&gt;
                  The hour part of the time the store closes in 24-hour format.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `23`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;

                &lt;Prop name="close_time_minute" type="integer" required mode="output"&gt;
                  The minute part of the time the store closes.

                  &lt;Prop.Extras&gt;
                    **Maximum:** `59`
                  &lt;/Prop.Extras&gt;
                &lt;/Prop&gt;
              &lt;/Prop.List&gt;
            &lt;/PillAccordion&gt;
          &lt;/Prop&gt;
        &lt;/Prop.List&gt;
      &lt;/PillAccordion&gt;
    &lt;/Prop&gt;

    &lt;Prop name="receiving_from_locations" type="string[]" mode="output"&gt;
      A list of locations that are allowed to produce or transfer items to this pickup location.

      &lt;Prop.Extras&gt;
        **Minimum length:** `1`
      &lt;/Prop.Extras&gt;
    &lt;/Prop&gt;
  &lt;/Prop.List&gt;
&lt;/PillAccordion&gt;

</Prop>

<Prop name="continuation" type="string" mode="output"> A continuation token. If the success response contains a continuation token, the list contains more items you can list. You can use this token as a query parameter and retrieve more items from the list. This value should be NULL if no more results are available.

&lt;Prop.Extras&gt;
  **Maximum length:** `255`
&lt;/Prop.Extras&gt;

</Prop> </Prop.List>

Example response

json
{
  "locations": [
    {
      "id": "partnerLocation1234",
      "display_name": "Partner Fake Location",
      "phone": "(555) 555-1234",
      "timezone": "Australia/Melbourne",
      "address": {
        "address_line1": "374 Johnson Ave, Brooklyn",
        "address_line2": "Unit 1",
        "city": "New York",
        "subdivision": "US-NY",
        "postcode": "11206",
        "country": "US"
      },
      "geolocation": {
        "latitude": -33.8853,
        "longitude": 151.2088
      },
      "receiving_from_locations": [
        "partnerLocation1234_production",
        "partnerLocation1234_transfer"
      ],
      "pickup_hours": {
        "monday_hours": {
          "open_time_hour": 10,
          "open_time_minute": 0,
          "close_time_hour": 17,
          "close_time_minute": 30
        },
        "tuesday_hours": {
          "open_time_hour": 10,
          "open_time_minute": 0,
          "close_time_hour": 17,
          "close_time_minute": 30
        },
        "wednesday_hours": {
          "open_time_hour": 10,
          "open_time_minute": 0,
          "close_time_hour": 17,
          "close_time_minute": 30
        },
        "thursday_hours": {
          "open_time_hour": 10,
          "open_time_minute": 0,
          "close_time_hour": 17,
          "close_time_minute": 30
        },
        "friday_hours": {
          "open_time_hour": 10,
          "open_time_minute": 0,
          "close_time_hour": 17,
          "close_time_minute": 30
        },
        "saturday_hours": {
          "open_time_hour": 9,
          "open_time_minute": 0,
          "close_time_hour": 17,
          "close_time_minute": 30
        },
        "sunday_hours": {
          "open_time_hour": 9,
          "open_time_minute": 0,
          "close_time_hour": 12,
          "close_time_minute": 0
        }
      }
    }
  ],
  "continuation": "edf3"
}

Error responses

400 Bad Request. For example, an invalid payload format.

401 Unauthorized. For example, an invalid signature.

Get Order

Gets an order from the print partner's system.

HTTP method and URL path

GET https://{yourPrintApiUrl}/v1/orders/{orderReferenceId}

Header parameters

<Prop.List> <Prop name="X-Canva-Public-Api-Version" type="string"> The version of the Canva Print API used in the request. If not specified, the latest version is assumed. </Prop>

<Prop name="X-Canva-Signature" type="string" required> The Canva request signature. This is used to verify the request is legitimate and was not tampered with in transit. </Prop> </Prop.List>

Path parameters

<Prop.List> <Prop name="orderReferenceId" type="string" required> Unique, case-sensitive string identifying the order in Canva's system. </Prop> </Prop.List>

Success response

If successful, the endpoint returns a 200 response with a JSON body with the following parameters:

<Prop.List> <Prop name="order" type="Order" required mode="output"> An order.

&lt;Tabs&gt;
  &lt;Tab name="pickup"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `pickup`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="pickup_location_reference" type="string" required mode="output"&gt;
        The reference ID for the pickup location of an order, as specified by the Canva user placing the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;

  &lt;Tab name="delivery"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `delivery`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The Items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_address" type="Address" required mode="output"&gt;
        An address.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;delivery_address&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="address_line1" type="string" required mode="output"&gt;
              The address line 1 portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="city" type="string" required mode="output"&gt;
              The city portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="country" type="string" required mode="output"&gt;
              ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

              &lt;Prop.Extras&gt;
                **Maximum length:** `2`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="address_line2" type="string" mode="output"&gt;
              The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="subdivision" type="string" mode="output"&gt;
              ISO 3166-2 subdivision code of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `6`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="postcode" type="string" mode="output"&gt;
              The postcode/zipcode portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `12`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_shipping_tier" type="string" required mode="output"&gt;
        A Canva defined enum of potential shipping tiers. Each tier describes a different speed and cost of delivery. Partners are expected to interpret this according to contractual agreements.

        &lt;Prop.Extras&gt;
          **Available values:**

          * `economy`: Economy delivery tier.
          * `standard`: Standard delivery tier.
          * `express`: Express delivery tier.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="dispatch_location_reference" type="string" required mode="output"&gt;
        The reference ID for the dispatch location for the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="shipments" type="Shipment[]" mode="output"&gt;
        A list of shipments for the order.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;shipments&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="items" type="ShipmentItem[]" required mode="output"&gt;
              The items included in the shipment.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`
              &lt;/Prop.Extras&gt;

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
                    A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="quantity" type="integer" required mode="output"&gt;
                    The number of copies of an item that were shipped.
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="tracking_number" type="string" mode="output"&gt;
              The tracking number provided by the carrier.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`

                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="carrier" type="string" mode="output"&gt;
              The Canva-supported carrier delivering the shipment.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `allied_express`
                * `allwayex`
                * `amazon`
                * `ams`
                * `asendia`
                * `aus_post`
                * `b2c`
                * `blue_dart`
                * `bpost`
                * `bring_no`
                * `canada_post`
                * `carriers`
                * `chitchats`
                * `chronopost`
                * `correios`
                * `correos`
                * `correos_express`
                * `couriers_please`
                * `deutsche_post`
                * `dhl`
                * `dpd`
                * `dpd_uk`
                * `estafeta`
                * `evri`
                * `fastway`
                * `fedex`
                * `fleet_optics`
                * `gls`
                * `hunter_express`
                * `ics`
                * `icumulus`
                * `india_post`
                * `japan_post`
                * `landmark_global`
                * `laposte`
                * `loomis_express`
                * `lotte`
                * `newzealand_couriers`
                * `norsk_global`
                * `paquetexpress`
                * `parcel_force`
                * `pitney_bowes`
                * `post_nl`
                * `post_nord`
                * `purolator`
                * `qxpress`
                * `royal_mail`
                * `sagawa`
                * `sda`
                * `seur`
                * `spring_gds`
                * `star_track`
                * `swiss_post`
                * `tnt`
                * `toll`
                * `uniuni`
                * `ups`
                * `usps`
                * `yamato`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="dispatched_at" type="integer" mode="output"&gt;
              When the shipment was dispatched, as a Unix timestamp (in seconds since the Unix Epoch).
            &lt;/Prop&gt;

            &lt;Prop name="dispatch_location_reference" type="string" mode="output"&gt;
              The location ID of where the shipment was dispatched.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;
&lt;/Tabs&gt;

</Prop> </Prop.List>

Example responses

Delivery order, single item (invitation)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Delivery order, single item (invitation) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Delivery order, single item (invitation) with add ons (envelopes), with shipment

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "shipped",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "shipments": [
      {
        "tracking_number": "123456789",
        "carrier": "fedex",
        "items": [
          {
            "item_reference_id": "FI123456789",
            "quantity": 50
          }
        ],
        "dispatched_at": 1726448500,
        "dispatch_location_reference": "partnerLocation1234"
      }
    ],
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448500
  }
}

Delivery order, single item (invitation) with add ons (envelopes), with error

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "producing",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50,
        "error_details": {
          "issue_origin": "user_address",
          "description": "Address cannot be found. Please specify a valid delivery address."
        }
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448500
  }
}

Delivery order, multiple items (invitation and canvas) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      },
      {
        "item_reference_id": "FI987654321",
        "status": "received",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Delivery order, multiple items (invitation and canvas) with add ons (envelopes), with shipments

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "shipped",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      },
      {
        "item_reference_id": "FI987654321",
        "status": "shipped",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 1",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "shipments": [
      {
        "tracking_number": "123456789",
        "carrier": "fedex",
        "items": [
          {
            "item_reference_id": "FI123456789",
            "quantity": 1000
          }
        ],
        "dispatched_at": 1726448500,
        "dispatch_location_reference": "partnerLocation1234"
      },
      {
        "tracking_number": "987654321",
        "carrier": "fedex",
        "items": [
          {
            "item_reference_id": "FI987654321",
            "quantity": 5
          }
        ],
        "dispatched_at": 1726448500,
        "dispatch_location_reference": "partnerLocation1234"
      }
    ],
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice.pdf",
    "created_at": 1726448251,
    "updated_at": 1726448500
  }
}

Pickup order, single item (invitation)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Pickup order, single item (invitation) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Pickup order, single item (invitation), with error

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "producing",
        "sku_reference": "IN00030",
        "quantity": 50,
        "error_details": {
          "issue_origin": "order_url",
          "description": "Unable to access design url."
        }
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448500
  }
}

Pickup order, multiple items (invitation and canvas) with add ons (envelopes)

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50
      },
      {
        "item_reference_id": "FI987654321",
        "status": "received",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448251
  }
}

Pickup order, multiple item (invitation and canvas) with add ons (envelopes), with error

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "Charles Boyle",
      "phone": "(555) 555-1234",
      "email": "charlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "producing",
        "sku_reference": "IN00030",
        "add_on_sku_reference": "EN00006",
        "quantity": 50,
        "error_details": {
          "issue_origin": "order_url",
          "description": "Unable to access design url."
        }
      },
      {
        "item_reference_id": "FI987654321",
        "status": "producing",
        "sku_reference": "CANVAS_PREMIUM_16X20_STRETCHED",
        "quantity": 5,
        "error_details": {
          "issue_origin": "order_url",
          "description": "Unable to access design url."
        }
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726448500
  }
}

Error responses

400 Bad Request. For example, an invalid payload format.

401 Unauthorized. For example, an invalid signature.

403 Forbidden. For example, an idempotent order issue, or the order doesn't exist.

Update Order

Updates an order in the print partner's system.

  • Changes to an order are restricted only to the delivery address and customer details of the order.
  • Updates to an order aren't allowed if every item of the order has been canceled.
  • The order update request can be denied if the update isn't possible. For example, if the order contains items that have already shipped.

HTTP method and URL path

PATCH https://{yourPrintApiUrl}/v1/orders/{orderReferenceId}

Header parameters

<Prop.List> <Prop name="Content-Type" type="string" required> Indicates the media type of the information sent in the request. This must be set to application/json.

For example: `Content-Type: application/json`

</Prop>

<Prop name="X-Canva-Public-Api-Version" type="string"> The version of the Canva Print API used in the request. If not specified, the latest version is assumed. </Prop>

<Prop name="X-Canva-Signature" type="string" required> The Canva request signature. This is used to verify the request is legitimate and was not tampered with in transit. </Prop> </Prop.List>

Path parameters

<Prop.List> <Prop name="orderReferenceId" type="string" required> Unique, case-sensitive string identifying the order in Canva's system. </Prop> </Prop.List>

Body parameters

<Prop.List> <Prop name="request_type" type="string" required> The type of request being made.

&lt;Prop.Extras&gt;
  **Available values:** The only valid value is `update_order`.
&lt;/Prop.Extras&gt;

</Prop>

<Prop name="order_reference_id" type="string" required> A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the orderReferenceId path parameter.

&lt;Prop.Extras&gt;
  **Maximum length:** `255`
&lt;/Prop.Extras&gt;

</Prop>

<Prop name="updates" type="Updates" required> Updates to the order. The request must contain at least one of customer_details or delivery_address.

&lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;updates&lt;/strong&gt;&lt;/&gt;} defaultExpanded={true}&gt;
  &lt;Prop.List&gt;
    &lt;Prop name="customer_details" type="CustomerDetails"&gt;
      The customer.

      &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
        &lt;Prop.List&gt;
          &lt;Prop name="name" type="string" required&gt;
            The full name of the customer.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="phone" type="string" required&gt;
            The phone number of the customer.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="email" type="string" required&gt;
            The email address of the customer.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;
        &lt;/Prop.List&gt;
      &lt;/PillAccordion&gt;
    &lt;/Prop&gt;

    &lt;Prop name="delivery_address" type="Address"&gt;
      An address.

      &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;delivery_address&lt;/strong&gt;&lt;/&gt;}&gt;
        &lt;Prop.List&gt;
          &lt;Prop name="address_line1" type="string" required&gt;
            The address line 1 portion of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="city" type="string" required&gt;
            The city portion of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="country" type="string" required&gt;
            ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

            &lt;Prop.Extras&gt;
              **Maximum length:** `2`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="address_line2" type="string"&gt;
            The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

            &lt;Prop.Extras&gt;
              **Maximum length:** `255`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="subdivision" type="string"&gt;
            ISO 3166-2 subdivision code of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `6`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;

          &lt;Prop name="postcode" type="string"&gt;
            The postcode/zipcode portion of the address.

            &lt;Prop.Extras&gt;
              **Maximum length:** `12`
            &lt;/Prop.Extras&gt;
          &lt;/Prop&gt;
        &lt;/Prop.List&gt;
      &lt;/PillAccordion&gt;
    &lt;/Prop&gt;
  &lt;/Prop.List&gt;
&lt;/PillAccordion&gt;

</Prop> </Prop.List>

Example requests

Update customer details and delivery address for a delivery order

json
{
  "request_type": "update_order",
  "order_reference_id": "FB123456789",
  "updates": {
    "customer_details": {
      "name": "NotCharles Boyle",
      "phone": "(555) 555-0000",
      "email": "notcharlesboyle@email.com"
    },
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 2",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    }
  }
}

Update customer details for a pickup order

json
{
  "request_type": "update_order",
  "order_reference_id": "FB123456789",
  "updates": {
    "customer_details": {
      "name": "NotCharles Boyle",
      "phone": "(555) 555-0000",
      "email": "notcharlesboyle@email.com"
    }
  }
}

Success response

If successful, the endpoint returns a 200 response with a JSON body with the following parameters:

<Prop.List> <Prop name="order" type="Order" required mode="output"> An order.

&lt;Tabs&gt;
  &lt;Tab name="pickup"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `pickup`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="pickup_location_reference" type="string" required mode="output"&gt;
        The reference ID for the pickup location of an order, as specified by the Canva user placing the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;

  &lt;Tab name="delivery"&gt;
    The type of order.

    &lt;Prop.List&gt;
      &lt;Prop name="order_type" type="string" required mode="output"&gt;
        The type of order.

        &lt;Prop.Extras&gt;
          **Available values:** The only valid value is `delivery`.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_reference_id" type="string" required mode="output"&gt;
        A unique, case-sensitive ID of the order in Canva's system. This must be the same value as the `orderReferenceId` path parameter.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="items" type="Item[]" required mode="output"&gt;
        The Items in the order.

        &lt;Prop.Extras&gt;
          **Minimum length:** `1`
        &lt;/Prop.Extras&gt;

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
              A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="status" type="string" required mode="output"&gt;
              The updated production status of the item.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `received`: The order item was received and is pending further processing.
                * `producing`: The order item production has started.
                * `produced`: The order item production has completed.
                * `packaging`: The order item packaging has started.
                * `ready_for_pickup`: The order item was shipped to the receiver.
                * `picked_up`: The order item is ready for pickup in store.
                * `shipped`: The order item was picked up from the store.
                * `canceled`: The order item was canceled.
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="sku_reference" type="string" required mode="output"&gt;
              Partner-facing reference for an item's SKU. Describes a specific variant of a product to be produced.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="quantity" type="integer" required mode="output"&gt;
              The number of copies of an item to produce.
            &lt;/Prop&gt;

            &lt;Prop name="add_on_sku_reference" type="string" mode="output"&gt;
              Partner-facing reference for an item add on SKU. Sometimes referred to as a stock item. For example, envelopes with postcards.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="error_details" type="ErrorDetails" mode="output"&gt;
              The error details of the item. Errors details should be cleared from an item after it has been resolved.

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;error_details&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="issue_origin" type="string" required mode="output"&gt;
                    The origin of the issue.

                    &lt;Prop.Extras&gt;
                      **Available values:**

                      * `production`
                      * `order_url`
                      * `user_details`
                      * `user_address`
                      * `delivery`
                      * `unknown`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="description" type="string" required mode="output"&gt;
                    A human readable message that describes the cause of the error.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="customer_details" type="CustomerDetails" required mode="output"&gt;
        The customer.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;customer_details&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="name" type="string" required mode="output"&gt;
              The full name of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="phone" type="string" required mode="output"&gt;
              The phone number of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="email" type="string" required mode="output"&gt;
              The email address of the customer.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_address" type="Address" required mode="output"&gt;
        An address.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;delivery_address&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="address_line1" type="string" required mode="output"&gt;
              The address line 1 portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="city" type="string" required mode="output"&gt;
              The city portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="country" type="string" required mode="output"&gt;
              ISO 3166-1 alpha-2 country code of the address. Includes the exceptionally reserved code IC for the autonomous Spanish region Canary Islands.

              &lt;Prop.Extras&gt;
                **Maximum length:** `2`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="address_line2" type="string" mode="output"&gt;
              The address line 2 portion of the address. Can contain additional address information such as unit number or house name.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="subdivision" type="string" mode="output"&gt;
              ISO 3166-2 subdivision code of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `6`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="postcode" type="string" mode="output"&gt;
              The postcode/zipcode portion of the address.

              &lt;Prop.Extras&gt;
                **Maximum length:** `12`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="delivery_shipping_tier" type="string" required mode="output"&gt;
        A Canva defined enum of potential shipping tiers. Each tier describes a different speed and cost of delivery. Partners are expected to interpret this according to contractual agreements.

        &lt;Prop.Extras&gt;
          **Available values:**

          * `economy`: Economy delivery tier.
          * `standard`: Standard delivery tier.
          * `express`: Express delivery tier.
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="production_location_reference" type="string" required mode="output"&gt;
        The reference ID for the production location of the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="dispatch_location_reference" type="string" required mode="output"&gt;
        The reference ID for the dispatch location for the order.

        &lt;Prop.Extras&gt;
          **Maximum length:** `255`
        &lt;/Prop.Extras&gt;
      &lt;/Prop&gt;

      &lt;Prop name="created_at" type="integer" required mode="output"&gt;
        When the order was created, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="updated_at" type="integer" required mode="output"&gt;
        When the order was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
      &lt;/Prop&gt;

      &lt;Prop name="shipments" type="Shipment[]" mode="output"&gt;
        A list of shipments for the order.

        &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;shipments&lt;/strong&gt;&lt;/&gt;}&gt;
          &lt;Prop.List&gt;
            &lt;Prop name="items" type="ShipmentItem[]" required mode="output"&gt;
              The items included in the shipment.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`
              &lt;/Prop.Extras&gt;

              &lt;PillAccordion title={&lt;&gt;Properties of &lt;strong&gt;items&lt;/strong&gt;&lt;/&gt;}&gt;
                &lt;Prop.List&gt;
                  &lt;Prop name="item_reference_id" type="string" required mode="output"&gt;
                    A unique, case-sensitive ID for an order item that the partner can use when communicating with Canva.

                    &lt;Prop.Extras&gt;
                      **Maximum length:** `255`
                    &lt;/Prop.Extras&gt;
                  &lt;/Prop&gt;

                  &lt;Prop name="quantity" type="integer" required mode="output"&gt;
                    The number of copies of an item that were shipped.
                  &lt;/Prop&gt;
                &lt;/Prop.List&gt;
              &lt;/PillAccordion&gt;
            &lt;/Prop&gt;

            &lt;Prop name="tracking_number" type="string" mode="output"&gt;
              The tracking number provided by the carrier.

              &lt;Prop.Extras&gt;
                **Minimum length:** `1`

                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="carrier" type="string" mode="output"&gt;
              The Canva-supported carrier delivering the shipment.

              &lt;Prop.Extras&gt;
                **Available values:**

                * `allied_express`
                * `allwayex`
                * `amazon`
                * `ams`
                * `asendia`
                * `aus_post`
                * `b2c`
                * `blue_dart`
                * `bpost`
                * `bring_no`
                * `canada_post`
                * `carriers`
                * `chitchats`
                * `chronopost`
                * `correios`
                * `correos`
                * `correos_express`
                * `couriers_please`
                * `deutsche_post`
                * `dhl`
                * `dpd`
                * `dpd_uk`
                * `estafeta`
                * `evri`
                * `fastway`
                * `fedex`
                * `fleet_optics`
                * `gls`
                * `hunter_express`
                * `ics`
                * `icumulus`
                * `india_post`
                * `japan_post`
                * `landmark_global`
                * `laposte`
                * `loomis_express`
                * `lotte`
                * `newzealand_couriers`
                * `norsk_global`
                * `paquetexpress`
                * `parcel_force`
                * `pitney_bowes`
                * `post_nl`
                * `post_nord`
                * `purolator`
                * `qxpress`
                * `royal_mail`
                * `sagawa`
                * `sda`
                * `seur`
                * `spring_gds`
                * `star_track`
                * `swiss_post`
                * `tnt`
                * `toll`
                * `uniuni`
                * `ups`
                * `usps`
                * `yamato`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;

            &lt;Prop name="dispatched_at" type="integer" mode="output"&gt;
              When the shipment was dispatched, as a Unix timestamp (in seconds since the Unix Epoch).
            &lt;/Prop&gt;

            &lt;Prop name="dispatch_location_reference" type="string" mode="output"&gt;
              The location ID of where the shipment was dispatched.

              &lt;Prop.Extras&gt;
                **Maximum length:** `255`
              &lt;/Prop.Extras&gt;
            &lt;/Prop&gt;
          &lt;/Prop.List&gt;
        &lt;/PillAccordion&gt;
      &lt;/Prop&gt;

      &lt;Prop name="order_invoice_url" type="string" mode="output"&gt;
        A temporary URL for the print partner to download an order invoice. This can be a taxation requirement for some countries. This is only included for certain partners, and can be configured in the API settings.
      &lt;/Prop&gt;
    &lt;/Prop.List&gt;
  &lt;/Tab&gt;
&lt;/Tabs&gt;

</Prop> </Prop.List>

Example responses

Update customer details and delivery address for a delivery order

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "delivery",
    "customer_details": {
      "name": "NotCharles Boyle",
      "phone": "(555) 555-0000",
      "email": "notcharlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "delivery_address": {
      "address_line1": "374 Johnson Ave, Brooklyn",
      "address_line2": "Unit 2",
      "city": "New York",
      "subdivision": "US-NY",
      "postcode": "11206",
      "country": "US"
    },
    "delivery_shipping_tier": "economy",
    "production_location_reference": "partnerLocation1234",
    "dispatch_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726449800
  }
}

Update customer details for a pickup order

json
{
  "order": {
    "order_reference_id": "FB123456789",
    "order_type": "pickup",
    "customer_details": {
      "name": "NotCharles Boyle",
      "phone": "(555) 555-0000",
      "email": "notcharlesboyle@email.com"
    },
    "items": [
      {
        "item_reference_id": "FI123456789",
        "status": "received",
        "sku_reference": "IN00030",
        "quantity": 50
      }
    ],
    "production_location_reference": "partnerLocation1234",
    "pickup_location_reference": "partnerLocation1234",
    "order_invoice_url": "https://s3-external-1.amazonaws.com/bucket/FI123456789/invoice",
    "created_at": 1726448251,
    "updated_at": 1726449800
  }
}

Error responses

400 Bad Request. For example, an invalid payload format.

401 Unauthorized. For example, an invalid signature.

403 Forbidden. For example, an idempotent order issue, or the order doesn't exist.

405 Not Allowed. For example, the request isn't allowed because of the order state, or it isn't supported or implemented.

Canva Developer Documentation SOP Site