Canva Connect API
Number of APIs: 35
API for building integrations with Canva via a REST api
You can always ask questions in our Community Support Forum.
Our Starter Kit is available on GitHub to be cloned and run locally for easy testing.
To set up Authorization, you will need:
From the Canva Developers Portal
- Client ID
- Client Secret
- Scopes
From Qodex
- Callback URL
How to set up Authorization for Canva Connect APIs:
In Qodex under Authorization, select OAuth 2.0
Under Grant Type, select Authorization Code (with PKCE)
Set up the Canva URLs in your Qodex Authorization: Configure New Token
- Set the Auth URL to
https://www.canva.com/api/oauth/authorize
or theauthURL
variable in the Canva Devs Globals - Set the Access Token URL to
https://api.canva.com/rest/v1/oauth/token
or theaccessTokenURL
variable
- Set the Auth URL to
Create an account in Canva's Developer Portal
Under Your integrations, create a new integration
Select Public integration
On the Configurations tab, you can find your Client ID and generate a Client Secret
Under Credentials, copy your Client ID and add it to Qodex Application client ID
Click Generate Secret, and copy it over to your Qodex Application client secret.
In the Canva Developer Portal, select the Authenitcation tab
Copy the Qodex callback URL from your Qodex workspace
Paste your Qodex callback URl into Authorized redirects under URL 1
In your Canva Developer Portal, click the Scopes tab
- Check off any necessay scopes
In Qodex, update Authorization scopes as necessary
-
app - /v1/apps/:appId/jwks GET {{baseUrl}}/v1/apps/:appId/jwks
-
asset - /v1/assets/:assetId DELETE {{baseUrl}}/v1/assets/:assetId
-
asset - /v1/assets/:assetId GET {{baseUrl}}/v1/assets/:assetId
-
asset - /v1/assets/:assetId PATCH {{baseUrl}}/v1/assets/:assetId
-
asset - /v1/assets/:assetId POST {{baseUrl}}/v1/assets/:assetId
-
asset - /v1/assets/upload POST {{baseUrl}}/v1/assets/upload
-
asset - /v1/asset-uploads POST {{baseUrl}}/v1/asset-uploads
-
asset - /v1/asset-uploads/:jobId GET {{baseUrl}}/v1/asset-uploads/:jobId
-
autofill - /v1/autofills POST {{baseUrl}}/v1/autofills
-
autofill - /v1/autofills/:jobId GET {{baseUrl}}/v1/autofills/:jobId