List folder items

List the contents of a folder.

Lists the items in a folder, including each item's type.

Folders can contain:

Currently, video assets are not returned in the response.

HTTP method and URL path

GET https://api.canva.com/rest/v1/folders/{folderId}/items

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

Authentication

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

  • folder:read

For more information, see Scopes.

Header parameters

Authorizationstring
REQUIRED

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

For example: Authorization: Bearer {token}

Path parameters

folderIdstring
REQUIRED

The folder ID.

Query parameters

continuationstring
OPTIONAL

If the success response contains a continuation token, the folder contains more items you can list. You can use this token as a query parameter and retrieve more items from the list, for example /v1/folders/{folderId}/items?continuation={continuation}.

To retrieve all the items in a folder, you might need to make multiple requests.

item_typesstring[]
OPTIONAL

Filter the folder items to only return specified types. The available types are: design, folder, and image. To filter for more than one item type, provide a comma- delimited list.

sort_bystring
OPTIONAL

Sort the list of folder items. This can be one of the following:

  • created_ascending: Sort results by creation date, in ascending order.
  • created_descending: Sort results by creation date, in descending order.
  • modified_ascending: Sort results by the last modified date, in ascending order.
  • modified_descending: (Default) Sort results by the last modified date, in descending order.
  • title_ascending: Sort results by title, in ascending order. The title is either the name field for a folder or asset, or the title field for a design.
  • title_descending: Sort results by title, in descending order. The title is either the name field for a folder or asset, or the title field for a design.

Example request

Examples for using the /v1/folders/{folderId}/items endpoint:

curl --request GET 'https://api.canva.com/rest/v1/folders/{folderId}/items' \
--header 'Authorization: Bearer {token}'
SH
const fetch = require("node-fetch");
fetch("https://api.canva.com/rest/v1/folders/{folderId}/items", {
method: "GET",
headers: {
"Authorization": "Bearer {token}",
},
})
.then(async (response) => {
const data = await response.json();
console.log(data);
})
.catch(err => console.error(err));
JS
import java.io.IOException;
import java.net.URI;
import java.net.http.*;
public class ApiExample {
public static void main(String[] args) throws IOException, InterruptedException {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.canva.com/rest/v1/folders/{folderId}/items"))
.header("Authorization", "Bearer {token}")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}
JAVA
import requests
headers = {
"Authorization": "Bearer {token}"
}
response = requests.get("https://api.canva.com/rest/v1/folders/{folderId}/items",
headers=headers
)
print(response.json())
PY
using System.Net.Http;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://api.canva.com/rest/v1/folders/{folderId}/items"),
Headers =
{
{ "Authorization", "Bearer {token}" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
};
CSHARP
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.canva.com/rest/v1/folders/{folderId}/items"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer {token}")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
GO
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.canva.com/rest/v1/folders/{folderId}/items",
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer {token}',
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if (empty($err)) {
echo $response;
} else {
echo "Error: " . $err;
}
PHP
require 'net/http'
require 'uri'
url = URI('https://api.canva.com/rest/v1/folders/{folderId}/items')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request['Authorization'] = 'Bearer {token}'
response = http.request(request)
puts response.read_body
RUBY

Success response

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

itemsFolderItemSummary[]

An array of items in the folder.

Properties of items
typestring

This can be one of the following:

  • folder: Details about the folder.
  • design: Details about the design.
  • image: Details about the image asset.
folderFolder
CONDITIONAL

The folder object, which contains metadata about the folder.

Properties of folder
idstring

The folder ID.

namestring

The folder name.

created_atinteger

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

updated_atinteger

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

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.

designDesignSummary
CONDITIONAL

Basic details about the design, such as the design's ID, title, and URL.

Properties of design
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.

This is not a permanent URL, it is only valid for 30 days.

view_urlstring

A temporary viewing URL for the design.

This is not a permanent URL, it is only valid for 30 days.

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).

imageAssetSummary
CONDITIONAL

An object representing an asset with associated metadata.

Properties of image
typestring

Type of an asset. Support for video assets is currently provided as a preview.

idstring

The ID of the asset.

namestring

The name of the asset.

tagsstring[]

The user-facing tags attached to the asset. Users can add these tags to their uploaded assets, and they can search their uploaded assets in the Canva UI by searching for these tags. For information on how users use tags, see the Canva Help Center page on asset tags(opens in a new tab or window).

created_atinteger

When the asset was added to Canva, as a Unix timestamp (in seconds since the Unix Epoch).

updated_atinteger

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

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.

continuationstring
OPTIONAL

If the success response contains a continuation token, the folder contains more items you can list. You can use this token as a query parameter and retrieve more items from the list, for example /v1/folders/{folderId}/items?continuation={continuation}.

To retrieve all the items in a folder, you might need to make multiple requests.

Example response

{
"items": [
{
"type": "folder",
"folder": {
"id": "FAF2lZtloor",
"name": "My awesome holiday",
"created_at": 1377396000,
"updated_at": 1692928800,
"thumbnail": {
"width": 595,
"height": 335,
"url": "https://document-export.canva.com/Vczz9/zF9vzVtdADc/2/thumbnail/0001.png?<query-string>"
}
}
},
{
"type": "design",
"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/{token}/edit",
"view_url": "https://www.canva.com/api/design/{token}/view"
},
"created_at": 1377396000,
"updated_at": 1692928800,
"page_count": 3
}
},
{
"type": "image",
"image": {
"type": "image",
"id": "Msd59349ff",
"name": "My Awesome Upload",
"tags": [
"image",
"holiday",
"best day ever"
],
"created_at": 1377396000,
"updated_at": 1692928800,
"thumbnail": {
"width": 595,
"height": 335,
"url": "https://document-export.canva.com/Vczz9/zF9vzVtdADc/2/thumbnail/0001.png?<query-string>"
}
}
}
],
"continuation": "RkFGMgXlsVTDbMd:MR3L0QjiaUzycIAjx0yMyuNiV0OildoiOwL0x32G4NjNu4FwtAQNxowUQNMMYN"
}
JSON

Try it out

Step 1: Enter your access token

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