autofill
<Availability> Autofill for designs and brand templates is available when your app acts on behalf of a user on Canva Pro (including Canva Education and Canva for Nonprofits), Canva Teams, or Canva Enterprise. Usage limits will be introduced in the future. </Availability>

Starts a new asynchronous job to autofill a Canva design using input data. Use the type field to choose the source of the design:

  • create_from_brand_template: autofill a new design from a brand template. If type isn't specified in the request, the request type is assumed to be create_from_brand_template. To get a list of input data fields for a brand template, use the Get brand template dataset API.
  • create_from_design: autofill a new design from an existing design that contains autofill data fields. To get the input data fields for an existing design, use the Get design dataset API.
  • update_design: autofill an existing design in place, rather than creating a new design. To get the input data fields for the design, use the Get design dataset API.

Data fields in brand templates or designs might change (for example, they might be renamed or removed). If you provide data for a field name that doesn't exist, it's silently skipped. Use the Get dataset APIs to confirm the current fields before creating an autofill job.

Available data field types to autofill include:

  • Images (which you can autofill with an image or a video asset)
  • Text
  • Charts
  • Sheets

NOTE: For more information on the workflow for using asynchronous jobs, see API requests and responses. You can check the status and get the results of autofill jobs created with this API using the Get design autofill job API.

post/v1/autofills

Request

  • Base URL: https://api.canva.com/rest
  • URL: https://api.canva.com/rest/v1/autofills
  • Auth: OAuth 2 (authorization code, authorization URL https://www.canva.com/api/oauth/authorize, token URL https://api.canva.com/rest/v1/oauth/token, scopes: design:content:write)

Request body

OR
OR

Example request

{
  "brand_template_id": "DAFVztcvd9z",
  "title": "My autofilled design",
  "data": {
    "cute_pet_image_of_the_day": {
      "type": "image",
      "asset_id": "Msd59349ff"
    },
    "cute_pet_video_of_the_day": {
      "type": "video",
      "asset_id": "VAHCkrNUANI"
    },
    "cute_pet_witty_pet_says": {
      "type": "text",
      "text": "It was like this when I got here!"
    },
    "cute_pet_sales_chart": {
      "type": "chart",
      "chart_data": {
        "column_configs": [
          {
            "name": "Geographic Region",
            "type": "string"
          },
          {
            "name": "Sales (millions AUD)",
            "type": "number"
          },
          {
            "name": "Target (millions AUD)",
            "type": "number"
          },
          {
            "name": "Target met?",
            "type": "boolean"
          },
          {
            "name": "Date met",
            "type": "date"
          }
        ],
        "rows": [
          {
            "cells": [
              {
                "type": "string",
                "value": "Asia Pacific"
              },
              {
                "type": "number",
                "value": 10.2
              },
              {
                "type": "number",
                "value": 10
              },
              {
                "type": "boolean",
                "value": true
              },
              {
                "type": "date",
                "value": 1721944387
              }
            ]
          },
          {
            "cells": [
              {
                "type": "string",
                "value": "EMEA"
              },
              {
                "type": "number",
                "value": 13.8
              },
              {
                "type": "number",
                "value": 14
              },
              {
                "type": "boolean",
                "value": false
              },
              {
                "type": "date"
              }
            ]
          }
        ]
      }
    },
    "cute_pet_sales_sheet": {
      "type": "sheet",
      "sheet_data": {
        "column_configs": [
          {
            "name": "Geographic Region",
            "type": "string"
          },
          {
            "name": "Sales (millions AUD)",
            "type": "number"
          },
          {
            "name": "Target (millions AUD)",
            "type": "number"
          },
          {
            "name": "Target met?",
            "type": "boolean"
          },
          {
            "name": "Date met",
            "type": "date"
          }
        ],
        "rows": [
          {
            "cells": [
              {
                "type": "string",
                "value": "Asia Pacific"
              },
              {
                "type": "number",
                "value": 10.2
              },
              {
                "type": "number",
                "value": 10
              },
              {
                "type": "boolean",
                "value": true
              },
              {
                "type": "date",
                "value": 1721944387
              }
            ]
          },
          {
            "cells": [
              {
                "type": "string",
                "value": "EMEA"
              },
              {
                "type": "number",
                "value": 13.8
              },
              {
                "type": "number",
                "value": 14
              },
              {
                "type": "boolean",
                "value": false
              },
              {
                "type": "date"
              }
            ]
          }
        ]
      }
    }
  }
}

Response

OK

Example response

{
  "job": {
    "id": "450a76e7-f96f-43ae-9c37-0e1ce492ac72",
    "status": "success",
    "result": {
      "design": {
        "id": "DAFVztcvd9z",
        "title": "My summer holiday",
        "url": "https://www.canva.com/design/DAFVztcvd9z/edit",
        "thumbnail": {
          "width": 595,
          "height": 335,
          "url": "https://document-export.canva.com/Vczz9/zF9vzVtdADc/2/thumbnail/0001.png?<query-string>"
        },
        "urls": {
          "edit_url": "https://www.canva.com/api/design/eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiZXhwaXJ5IjoxNzQyMDk5NDAzMDc5fQ..GKLx2hrJa3wSSDKQ.hk3HA59qJyxehR-ejzt2DThBW0cbRdMBz7Fb5uCpwD-4o485pCf4kcXt_ypUYX0qMHVeZ131YvfwGPIhbk-C245D8c12IIJSDbZUZTS7WiCOJZQ.sNz3mPSQxsETBvl_-upMYA/edit",
          "view_url": "https://www.canva.com/api/design/eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiZXhwaXJ5IjoxNzQyMDk5NDAzMDc5fQ..GKLx2hrJa3wSSDKQ.hk3HA59qJyxehR-ejzt2DThBW0cbRdMBz7Fb5uCpwD-4o485pCf4kcXt_ypUYX0qMHVeZ131YvfwGPIhbk-C245D8c12IIJSDbZUZTS7WiCOJZQ.sNz3mPSQxsETBvl_-upMYA/view"
        },
        "created_at": 1377396000,
        "updated_at": 1692928800,
        "page_count": 3
      },
      "trial_information": {
        "upgrade_url": "https://www.canva.com/pro/"
      }
    }
  }
}

Changes

    • warning

      added the new user_linked_to_another_idp enum value to the //// response property for the response status

    • warning

      added the new user_linked_to_another_idp enum value to the response property for the response status

    • warning

      added the new user_linked_to_another_idp enum value to the response property for the response status

    • warning

      added the new user_linked_to_another_idp enum value to the response property for the response status

    • warning

      added the new user_linked_to_another_idp enum value to the response property for the response status

    • warning

      added the new asset_not_ready enum value to the //// response property for the response status

    • warning

      added the new asset_not_ready enum value to the response property for the response status

    • warning

      added the new asset_not_ready enum value to the response property for the response status

    • warning

      added the new asset_not_ready enum value to the response property for the response status

    • warning

      added the new asset_not_ready enum value to the response property for the response status