Get brand template
Soon, all brand template IDs will be updated to a new format. If your integration stores brand template IDs, you'll need to migrate to use the new IDs. After we implement this change, you'll have 6 months to migrate before the old IDs are removed.
To use this API, your integration must act on behalf of a user that's a member of a Canva Enterprise(opens in a new tab or window) organization.
Retrieves the metadata for a brand template.
HTTP method and URL path
 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):
- brandtemplate:meta:read
Header parameters
Path parameters
brandTemplateIdstringThe brand template ID.
Example request
Examples for using the /v1/brand-templates/{brandTemplateId} endpoint:
curl --request GET 'https://api.canva.com/rest/v1/brand-templates/{brandTemplateId}' \--header 'Authorization: Bearer {token}'
const fetch = require("node-fetch");fetch("https://api.canva.com/rest/v1/brand-templates/{brandTemplateId}", {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/brand-templates/{brandTemplateId}")).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/brand-templates/{brandTemplateId}",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/brand-templates/{brandTemplateId}"),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/brand-templates/{brandTemplateId}"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/brand-templates/{brandTemplateId}",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/brand-templates/{brandTemplateId}')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:
brand_templateBrandTemplateAn object representing a brand template with associated metadata.
idstringThe brand template ID.
titlestringThe brand template title, as shown in the Canva UI.
view_urlstringA URL Canva users can visit to view the brand template.
create_urlstringA URL Canva users can visit to create a new design from the template.
created_atintegerWhen the brand template was created, as a Unix timestamp (in seconds since the Unix Epoch).
updated_atintegerWhen the brand template was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
thumbnailThumbnailA thumbnail image representing the object.
widthintegerThe width of the thumbnail image in pixels.
heightintegerThe height of the thumbnail image in pixels.
urlstringA 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.
Example response
{"brand_template": {"id": "DEMzWSwy3BI","title": "Advertisement Template","view_url": "https://www.canva.com/design/DAE35hE8FA4/view","create_url": "https://www.canva.com/design/DAE35hE8FA4/remix","thumbnail": {"width": 595,"height": 335,"url": "https://document-export.canva.com/Vczz9/zF9vzVtdADc/2/thumbnail/0001.png?<query-string>"},"created_at": 1704110400,"updated_at": 1719835200}}