List folder items
Lists the items in a folder, including each item's type
.
Folders can contain:
- Other folders.
- Designs, such as Instagram posts, Presentations, and Documents (Canva Docs(opens in a new tab or window)).
- Image assets.
Currently, video assets are not returned in the response.
HTTP method and URL path
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 and authorization
This endpoint requires a valid access token that acts on behalf of a user.
Scopes
The access token must have all the following scopes (permissions):
folder:read
Header parameters
Path parameters
folderId
string
The folder ID.
Query parameters
continuation
string
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_types
string[]
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.
Available values:
design
folder
image
sort_by
string
Sort the list of folder items.
Default value: modified_descending
Available values:
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
: Sort results by the last modified date, in descending order.title_ascending
: Sort results by title, in ascending order. The title is either thename
field for a folder or asset, or thetitle
field for a design.title_descending
: Sort results by title, in descending order. The title is either thename
field for a folder or asset, or thetitle
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}'
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));
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());}}
import requestsheaders = {"Authorization": "Bearer {token}"}response = requests.get("https://api.canva.com/rest/v1/folders/{folderId}/items",headers=headers)print(response.json())
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);};
package mainimport ("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))}
$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;}
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 = truerequest = Net::HTTP::Get.new(url)request['Authorization'] = 'Bearer {token}'response = http.request(request)puts response.read_body
Success response
If successful, the endpoint returns a 200
response with a JSON body with the following parameters:
items
FolderItemSummary[]
An array of items in the folder.
Details about the folder.
type
string
Available values: The only valid value is folder
.
folder
Folder
The folder object, which contains metadata about the folder.
id
string
The folder ID.
name
string
The folder name.
created_at
integer
When the folder was created, as a Unix timestamp (in seconds since the Unix Epoch).
updated_at
integer
When the folder was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
thumbnail
Thumbnail
A thumbnail image representing the object.
width
integer
The width of the thumbnail image in pixels.
height
integer
The height of the thumbnail image in pixels.
url
string
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.
Details about the design.
type
string
Available values: The only valid value is design
.
design
DesignSummary
Basic details about the design, such as the design's ID, title, and URL.
id
string
The design ID.
urls
DesignLinks
A temporary set of URLs for viewing or editing the design.
edit_url
string
A temporary editing URL for the design. This URL is only accessible to the user that made the API request, and is designed to support return navigation workflows.
This is not a permanent URL, it is only valid for 30 days.
view_url
string
A temporary viewing URL for the design. This URL is only accessible to the user that made the API request, and is designed to support return navigation workflows.
This is not a permanent URL, it is only valid for 30 days.
created_at
integer
When the design was created in Canva, as a Unix timestamp (in seconds since the Unix Epoch).
updated_at
integer
When the design was last updated in Canva, as a Unix timestamp (in seconds since the Unix Epoch).
title
string
The design title.
url
string
URL of the design.
thumbnail
Thumbnail
A thumbnail image representing the object.
width
integer
The width of the thumbnail image in pixels.
height
integer
The height of the thumbnail image in pixels.
url
string
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_count
integer
The total number of pages in the design. Some design types don't have pages (for example, Canva docs).
Details about the image asset.
type
string
Available values: The only valid value is image
.
image
AssetSummary
An object representing an asset with associated metadata.
type
string
Type of an asset.
Available values:
image
video
id
string
The ID of the asset.
name
string
The name of the asset.
created_at
integer
When the asset was added to Canva, as a Unix timestamp (in seconds since the Unix Epoch).
updated_at
integer
When the asset was last updated in Canva, as a Unix timestamp (in seconds since the Unix Epoch).
thumbnail
Thumbnail
A thumbnail image representing the object.
width
integer
The width of the thumbnail image in pixels.
height
integer
The height of the thumbnail image in pixels.
url
string
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.
continuation
string
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/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}},{"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"}