Get design import job

Get the status and results of a design import job, including the imported design.

Gets the result of a design import job created using the Create design import job API.

GET https://api.canva.com/rest/v1/imports/{jobId}

This operation is rate limited to 120 requests per minute for each user of your integration.

This endpoint requires a valid access token that acts on behalf of a user. The token must have the following scopes (permissions):

  • design:content:write

For more information, see Scopes.

#Authorizationstring
Required

Provides credentials to authenticate the request, in the form of a Bearer token.

For example: Authorization: Bearer {token}

#jobIdstring
Required

The design import job ID.

Examples for using the /v1/imports/{jobId} endpoint:

curl --request GET 'https://api.canva.com/rest/v1/imports/{jobId}' \
--header 'Authorization: Bearer {token}'
sh

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

#jobDesignImportJob

The status of the design import job.

Properties of job
#idstring

The ID of the design import job.

#statusstring

The status of the design import job. This can be one of the following:

  • failed
  • in_progress
  • success
#resultDesignImportJobResult
Optional
Properties of result
#designsDesignSummary[]

A list of designs imported from the external file. It usually contains one item. Imports with a large number of pages or assets are split into multiple designs.

Properties of designs
#idstring

The design ID.

#urlsDesignLinks

A temporary set of URLs for viewing or editing the design.

Properties of urls
#edit_urlstring

A temporary editing URL for the design.

#view_urlstring

A temporary viewing URL for the design.

#created_atinteger

When the design was created in Canva, as a Unix timestamp (in seconds since the Unix Epoch).

#updated_atinteger

When the design was last updated in Canva, as a Unix timestamp (in seconds since the Unix Epoch).

#titlestring
Optional

The design title.

#urlstring
Optional

URL of the design.

#thumbnailThumbnail
Optional

A thumbnail image representing the object.

Properties of thumbnail
#widthinteger

The width of the thumbnail image in pixels.

#heightinteger

The height of the thumbnail image in pixels.

#urlstring

A URL for retrieving the thumbnail image. This URL expires after 15 minutes. This URL includes a query string that's required for retrieving the thumbnail.

#page_countinteger
Optional

The total number of pages in the design. Some design types don't have pages (for example, Canva docs).

#errorDesignImportError
Optional

If the import job fails, this object provides details about the error.

Properties of error
#codestring

A short string about why the import failed. This field can be used to handle errors programmatically. This can be one of the following:

  • design_creation_throttled
  • design_import_throttled
  • duplicate_import
  • internal_error
  • invalid_file
  • fetch_failed
#messagestring

A human-readable description of what went wrong.

{
"job": {
"id": "e08861ae-3b29-45db-8dc1-1fe0bf7f1cc8",
"status": "in_progress"
}
}
json
{
"job": {
"id": "e08861ae-3b29-45db-8dc1-1fe0bf7f1cc8",
"status": "success",
"result": {
"designs": [
{
"id": "DAGQm2AkzOk",
"title": "My Awesome Design",
"thumbnail": {
"width": 376,
"height": 531,
"url": "https://document-export.canva.com/..."
},
"urls": {
"edit_url": "https://www.canva.com/api/design/...",
"view_url": "https://www.canva.com/api/design/..."
},
"created_at": 1726198998,
"updated_at": 1726199000
}
]
}
}
}
json
{
"job": {
"id": "e08861ae-3b29-45db-8dc1-1fe0bf7f1cc8",
"status": "failed",
"error": {
"code": "invalid_file",
"message": "Document couldn't be imported because the file is corrupt."
}
}
}
json

To get started, generate an access token or provide your own below