Canva
Overview
Section titled “Overview”Canva is a drag-and-drop graphic design platform offering pre-built templates, a vast element library, and tools for creating social media graphics, presentations, and marketing materials. With the Canva integration in SquadOS, your agents can create designs, import and export files, manage folders and assets, add comments, and trigger autofill workflows on enterprise brand templates — all programmatically.
- Official website: https://www.canva.com/
- Composio documentation: docs.composio.dev/toolkits/canva
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You will need the following fields:
| Field | Required | Description |
|---|---|---|
client_id | Yes | Your Canva integration’s unique ID, found under Credentials in the developer portal. |
client_secret | Yes | Your Canva integration’s client secret. Begins with cnvca. |
How to get credentials
Section titled “How to get credentials”- Go to the Canva Developer Portal and log in.
- Navigate to Your Integrations and click Create an integration.
- Choose the integration type: public (accessible to all Canva users after team approval) or private (requires Canva Enterprise Plan).
- In the Configuration tab of the created integration, go to Credentials to obtain the Client ID and Client Secret.
- In the Authentication tab, under Authorized Redirects, add the URI:
https://backend.composio.dev/api/v3/toolkits/auth/callback. - (Optional) Configure the required scopes in the Scopes tab and submit for review.
- In the Composio dashboard, click Create Auth Config, select Canva with OAuth 2.0, and paste the Client ID and Client Secret.
- Click Create Canva Auth Config and copy the generated ID (starts with
ac_) for use in your code.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Canva. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access via OAuth 2.0.
- Once done, you’re sent back to SquadOS with the account connected and the tool available to your agents. (Connection-flow details in Organization Tools.)
How do I set up custom OAuth credentials for Canva?
Section titled “How do I set up custom OAuth credentials for Canva?”For a step-by-step guide on creating and configuring your own Canva OAuth credentials with Composio, see How to create OAuth credentials for Canva.
Available actions
Section titled “Available actions”Access user specific brand templates list
Section titled “Access user specific brand templates list”CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST
Lists brand templates available to the user (Canva Enterprise only). This endpoint retrieves all brand templates the user has access to. Brand templates are pre-designed layouts with variable data fields that can be populated programmatically using the autofill API. Returns template metadata including IDs, names, and dataset schemas.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | No | Lets you search the brand templates available to the user using a search term or terms. |
dataset | string | No | Filter the list of brand templates based on dataset definitions. Can be any (default, with and without dataset) or non_empty (only templates with data fields defined). |
sort_by | string | No | Sort the list of brand templates. Options: relevance (default), modified_descending, modified_ascending, title_descending, title_ascending. |
ownership | string | No | Filter based on the user’s ownership. Options: any (default), owned, shared. |
continuation | string | No | Pagination token returned by a previous response. Use to retrieve more templates from the list. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Asset Upload Job
Section titled “Create Asset Upload Job”CANVA_CREATE_ASSET_UPLOAD_JOB
Uploads an asset file to the user’s Canva content library. This endpoint initiates an asynchronous upload job for images, videos, audio files, PDFs, or fonts. Returns a job ID to track upload progress. Once complete, the asset can be used in designs. This is an async operation — use CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS to check the status.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
file | object | Yes | File to upload. Size limits: Images 50MB, Videos 100MB, Audio 10MB. Supported: JPEG/PNG/GIF/WebP/SVG, MP4/MOV/AVI, MP3/WAV, PDF, TTF/OTF fonts. |
name | string | Yes | Display name for the asset (max 50 chars). Used for searching in Canva. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Canva Design Export Job (Deprecated)
Section titled “Create Canva Design Export Job (Deprecated)”CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB
DEPRECATED: Use CANVA_POST_EXPORTS instead. Exports a Canva design to various file formats. Initiates an asynchronous export job. Supports image formats (PNG, JPG, GIF), documents (PDF, PPTX), and video (MP4). Use CANVA_GET_DESIGN_EXPORT_JOB_RESULT to poll the job status until completion.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
format | string | Yes | Export format configuration. Set ‘type’ to one of: png, jpg, pdf, gif, mp4, pptx. |
design_id | string | Yes | The design ID to export. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create canva design with optional asset (Deprecated)
Section titled “Create canva design with optional asset (Deprecated)”CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET
DEPRECATED: Use CANVA_POST_DESIGNS instead. Creates a new Canva design with specified dimensions or from an asset. Returns the design ID, edit/view URLs, owner info, and metadata.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | Design title (1–255 chars). Appears in Canva UI and design lists. |
asset_id | string | No | Image asset ID to create design from. Only image assets are supported — video and PDF assets will be rejected. |
design_type | object | No | Design dimensions configuration. Required if asset_id is not provided. Examples: preset {'type': 'preset', 'name': 'presentation'} or custom dimensions {'type': 'custom', 'width': 1080, 'height': 1920}. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create comment reply in design
Section titled “Create comment reply in design”CANVA_CREATE_COMMENT_REPLY_IN_DESIGN
This preview API allows replying to comments within a design on Canva, with a limit of 100 replies per comment. Preview APIs are subject to unannounced changes and are not eligible for public integrations.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
message | string | Yes | The reply comment message. You can mention users using the format [user_id:team_id]. |
commentId | string | Yes | The id of the comment thread to reply to. Used in the URL path. |
attached_to | object | Yes | The object the comment is attached to. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create design comment in preview api
Section titled “Create design comment in preview api”CANVA_CREATE_DESIGN_COMMENT_IN_PREVIEW_API
Creates a new comment thread on a Canva design. This preview API allows adding text comments to designs for collaboration and feedback. Returns the created comment with ID, author info, and timestamp.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
message | string | Yes | Comment text (max 4096 chars). Mention users with [user_id:team_id]. No markdown support. |
design_id | string | Yes | Design ID to attach comment to. |
assignee_id | string | No | User ID to assign this comment to. If provided, you must also mention this user in the message text. |
attached_to | object | Yes | Required target reference specifying where comment should be attached. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Design Import Job
Section titled “Create Design Import Job”CANVA_CREATE_DESIGN_IMPORT_JOB
Imports an external file as a new Canva design. Converts documents (PDF, Word, PowerPoint, Excel) and design files (PSD, AI) into editable Canva designs. The import runs asynchronously — use CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS to poll the job status until success or failed.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
file | object | Yes | Document or design file to import (max 100MB). Formats: PDF, Word, PowerPoint, Excel, Photoshop, Illustrator, Keynote, Pages, Numbers, OpenDocument. Password-protected files will fail. |
title | string | Yes | Title for the imported design (max 50 chars). Shows in Canva UI and design lists. |
mime_type | string | No | Optional MIME type override. Auto-detected if omitted. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Design Resize Job
Section titled “Create Design Resize Job”CANVA_CREATE_DESIGN_RESIZE_JOB
Creates a resized copy of an existing design (Canva Pro/Enterprise only). The resize operation runs asynchronously and preserves content where possible. Use CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUS to poll until completion.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
design_id | string | Yes | The source design ID. |
design_type | string | Yes | Target design type configuration. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create URL Asset Upload Job
Section titled “Create URL Asset Upload Job”CANVA_CREATE_URL_ASSET_UPLOAD_JOB
Tool to create an asynchronous Canva asset import job from a public URL. Use when you need to import an asset into Canva directly from a publicly accessible URL without S3 choreography.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Publicly accessible HTTPS URL of the file to import. Must use HTTPS protocol. |
name | string | Yes | Asset name (1–255 characters). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete asset by id
Section titled “Delete asset by id”CANVA_DELETE_ASSET_BY_ID
You can delete an asset by specifying its assetId. This operation mirrors the behavior in the Canva UI. Deleting an item moves it to the trash. Deleting an asset doesn’t remove it from designs that already use it.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
assetId | string | Yes | The ID of the asset. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Exchange oauth 2 0 access or refresh token
Section titled “Exchange oauth 2 0 access or refresh token”CANVA_EXCHANGE_OAUTH20_ACCESS_OR_REFRESH_TOKEN
The OAuth 2.0 endpoint issues time-limited (4-hour) access tokens of up to 4KB for user authorization via codes or refresh tokens. It requires client ID/secret for authentication.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Fetch asset upload job status
Section titled “Fetch asset upload job status”CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS
Polls for asset upload job completion status. Use this after CANVA_CREATE_ASSET_UPLOAD_JOB to check the upload progress. Repeatedly call this endpoint until a success or failed status is received. This tool is ONLY for direct file upload jobs — do NOT use it for URL import jobs (use CANVA_GET_URL_ASSET_UPLOADS_JOBID instead).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | Yes | The asset upload job ID returned by CANVA_CREATE_ASSET_UPLOAD_JOB. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Fetch canva connect signing public keys
Section titled “Fetch canva connect signing public keys”CANVA_FETCH_CANVA_CONNECT_SIGNING_PUBLIC_KEYS
Preview API for verifying Canva webhooks. Returns a rotating JWK for signature verification to prevent replay attacks. Cache keys for efficiency.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Fetch current user details
Section titled “Fetch current user details”CANVA_FETCH_CURRENT_USER_DETAILS
Returns the User ID, Team ID, and display name of the user account associated with the provided access token.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Fetch design metadata and access information
Section titled “Fetch design metadata and access information”CANVA_FETCH_DESIGN_METADATA_AND_ACCESS_INFORMATION
Gets the metadata for a design. This includes owner information, URLs for editing and viewing, and thumbnail information.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
designId | string | Yes | The design ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get design comment thread replies
Section titled “Get design comment thread replies”CANVA_GET_DESIGN_COMMENT_REPLIES
Retrieves a list of replies for a comment or suggestion thread on a design. Use when you need to view all replies in a specific thread.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | No | The number of replies to return. Default is 50. Minimum: 1, Maximum: 100. |
designId | string | Yes | The design ID. |
threadId | string | Yes | The ID of the thread. |
continuation | string | No | Pagination token to retrieve more items from the list. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get specific design comment reply
Section titled “Get specific design comment reply”CANVA_GET_DESIGN_COMMENT_REPLY
Retrieves a specific reply to a comment or suggestion thread on a design. Use when you need to view details of a particular reply.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
replyId | string | Yes | The identifier for the specific reply. |
designId | string | Yes | The design identifier. |
threadId | string | Yes | The identifier for the comment thread. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get design export job result
Section titled “Get design export job result”CANVA_GET_DESIGN_EXPORT_JOB_RESULT
Polls for design export job completion status. Use this after CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB to check the export progress. Call this endpoint repeatedly until the job is complete to receive download links for the exported design pages. Download URLs expire after 30 days.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
exportId | string | Yes | The export job ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get designs designid comments threadid
Section titled “Get designs designid comments threadid”CANVA_GET_DESIGNS_DESIGNID_COMMENTS_THREADID
Retrieves metadata for a comment or suggestion thread on a design. Use when you need to get details about a specific thread including content, author, timestamps, and status.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
designId | string | Yes | The design identifier. |
threadId | string | Yes | The thread identifier. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get design export formats
Section titled “Get design export formats”CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATS
Lists available file formats for exporting a design. Use this to check which export formats (PDF, JPG, PNG, SVG, PPTX, GIF, MP4) are supported for a specific design before starting the export.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
designId | string | Yes | The design ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get URL asset upload job status
Section titled “Get URL asset upload job status”CANVA_GET_URL_ASSET_UPLOADS_JOBID
Tool to retrieve the status and result of a URL-based asset upload job. Use this after creating a URL asset upload job to check progress and retrieve the uploaded asset ID when successful.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | Yes | The asset upload job identifier. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get URL import job status
Section titled “Get URL import job status”CANVA_GET_URL_IMPORTS_JOBID
Polls for URL import job completion status. Use this after creating a URL import job to check the import progress. Repeatedly call this endpoint until a success or failed status is received to get the final imported design ID and metadata.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | Yes | The URL import job ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get user capabilities
Section titled “Get user capabilities”CANVA_GET_USERS_ME_CAPABILITIES
Lists the API capabilities for the user account associated with the provided access token. Use when you need to check what features are available based on the user’s Canva plan.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Initiate canva design autofill job
Section titled “Initiate canva design autofill job”CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB
Upcoming brand template ID updates require migration within 6 months. Canva Enterprise users can auto-fill designs using various data types, including experimental chart data. Monitor jobs with CANVA_RETRIEVE_DESIGN_AUTOFILL_JOB_STATUS.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
data | object | Yes | Data object containing the data fields and values to autofill. Keys are field names from the brand template. Values must be one of: TextDataField (type=‘text’), ImageDataField (type=‘image’), or ChartDataField (type=‘chart’). |
title | string | No | Title to use for the autofilled design. Must be less than 256 characters. If not provided, the autofilled design will have the same title as the brand template. |
brand_template_id | string | Yes | ID of the input brand template. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List design pages with pagination
Section titled “List design pages with pagination”CANVA_LIST_DESIGN_PAGES_WITH_PAGINATION
Preview API for Canva: subject to unannounced changes and not for public integrations. Lists metadata for design pages with optional offset and limit; not applicable to all design types.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | No | The number of pages to return. Default is 50. Minimum: 1, Maximum: 200. |
offset | integer | No | The page index to start from (1-based). Default is 1. Minimum: 1, Maximum: 500. |
designId | string | Yes | The design ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List folder items by type with sorting
Section titled “List folder items by type with sorting”CANVA_LIST_FOLDER_ITEMS_BY_TYPE_WITH_SORTING
Lists the items in a folder, including each item’s type. Folders can contain: other folders, designs (Instagram posts, presentations, documents), and image assets.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
sort_by | string | No | Sort the list of folder items. Options: created_ascending, created_descending, modified_ascending, modified_descending (default), title_ascending, title_descending. |
folderId | string | Yes | The folder ID. Use root to list items in the root folder. |
item_types | array | No | Filter the folder items to only return specified types. Available types: design, folder, image. Provide as a comma-delimited list. |
continuation | string | No | Pagination token to retrieve more items from the list. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List User Designs
Section titled “List User Designs”CANVA_LIST_USER_DESIGNS
Provides a summary of Canva user designs, includes search filtering, and allows showing both self-created and shared designs with sorting options.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | No | Lets you search the user’s designs, and designs shared with the user, using a search term or terms. |
sort_by | string | No | Sort the list of designs. Options: relevance (default), modified_descending, modified_ascending, title_descending, title_ascending. |
ownership | string | No | Filter the list based on ownership. Options: owned, shared, any. |
continuation | string | No | Pagination token from a previous response. Empty strings are not accepted by the API. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Move item to specified folder
Section titled “Move item to specified folder”CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER
Transfers an item to a different folder by specifying both the destination folder’s ID and the item’s ID. If the item is in various folders, an error occurs; manual relocation via Canva UI is required.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
item_id | string | Yes | The ID of the item you want to move. Design IDs have format like DAFVztcvd9z, folder IDs like FAF2lZtloor, and asset IDs like Msd59349ff. Video assets are not supported for moving. |
to_folder_id | string | Yes | The ID of the destination folder. Use root to move to top-level projects or uploads for the Uploads folder. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create new Canva design
Section titled “Create new Canva design”CANVA_POST_DESIGNS
Creates a new Canva design with preset type or custom dimensions. Use when creating new designs for docs, presentations, whiteboards, or with specific pixel dimensions. Optionally insert an image asset into the design. Returns design ID, edit/view URLs, and metadata.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | Design name (1–255 characters). Appears in Canva UI and design lists. |
asset_id | string | No | Image asset ID to insert into the design. Currently supports image assets only. |
design_type | string | Yes | Design type configuration. Can be a preset name string (doc, whiteboard, presentation) or an object for custom dimensions, e.g. {'type': 'custom', 'width': 1080, 'height': 1920}. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Post designs designid comments
Section titled “Post designs designid comments”CANVA_POST_DESIGNS_DESIGNID_COMMENTS
Creates a comment thread on a Canva design. Use when you need to add feedback or collaboration comments to a specific design. Rate limited to 100 requests per minute per user.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
designId | string | Yes | The design ID where the comment will be created. |
assignee_id | string | No | Optional user ID for assignment. If specified, the assignee must be mentioned in the message using [user_id:team_id] format. |
message_plaintext | string | Yes | The comment message in plaintext. Must be between 1 and 2048 characters. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create reply to comment thread
Section titled “Create reply to comment thread”CANVA_POST_DESIGNS_DESIGNID_COMMENTS_THREADID_REPLIES
Tool to create a reply to a comment or suggestion thread on a Canva design. Use when you need to respond to existing comments or suggestions. Maximum 100 replies per thread allowed.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
design_id | string | Yes | The design identifier. |
thread_id | string | Yes | The identifier of the thread to reply to. |
message_plaintext | string | Yes | The reply text content. Must be between 1 and 2048 characters. Users can be mentioned using the format [user_id:team_id]. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Start design export job
Section titled “Start design export job”CANVA_POST_EXPORTS
Starts a new asynchronous job to export a Canva design file. Use when exporting designs to various formats (PDF, JPG, PNG, GIF, PPTX, MP4). Returns a job ID to poll for completion status and download URLs. Before exporting, use CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATS to check which formats are supported for the specific design.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
format | string | Yes | Export format configuration. Not all formats are supported for all design types. Exported files remain available for download for 24 hours. |
design_id | string | Yes | The identifier of the design to export. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create folder
Section titled “Create folder”CANVA_POST_FOLDERS
Tool to create a folder in Canva. Use when you need to organize designs, assets, or create nested folder structures in a user’s projects or uploads folder.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The display name for the new folder. Must be 1–255 characters. Duplicate names are allowed. |
parent_folder_id | string | Yes | The ID of the destination location. Use root for top-level projects, uploads for the uploads folder, or a specific folder ID to nest within another folder. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create URL Import Job
Section titled “Create URL Import Job”CANVA_POST_URL_IMPORTS
Tool to start an asynchronous job to import an external file from a URL as a new design in Canva. This is an async operation; poll the job status using the job ID until it reaches success or failed.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The URL of the file to import. Must be publicly accessible (1–2048 characters). |
title | string | Yes | Name assigned to the imported design (1–255 characters). |
mime_type | string | No | File type identifier. Auto-detected if omitted or empty. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Remove folder and move contents to trash
Section titled “Remove folder and move contents to trash”CANVA_REMOVE_FOLDER_AND_MOVE_CONTENTS_TO_TRASH
Deletes a folder by moving the user’s content to Trash and reassigning other users’ content to their top-level projects.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
folderId | string | Yes | The folder ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve app public key set
Section titled “Retrieve app public key set”CANVA_RETRIEVE_APP_PUBLIC_KEY_SET
Returns the Json Web Key Set (public keys) of an app. These keys are used to verify JWTs sent to app backends.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
appId | string | Yes | The app id. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve asset metadata by id
Section titled “Retrieve asset metadata by id”CANVA_RETRIEVE_ASSET_METADATA_BY_ID
You can retrieve the metadata of an asset by specifying its assetId.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
assetId | string | Yes | The ID of the asset. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve brand template dataset definition
Section titled “Retrieve brand template dataset definition”CANVA_RETRIEVE_BRAND_TEMPLATE_DATASET_DEFINITION
Canva’s brand template IDs will change later this year, including a 6-month integration migration. API access requires Enterprise membership, providing autofill for images, text, and charts, although chart data could change during preview.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
brandTemplateId | string | Yes | The brand template ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve canva enterprise brand template metadata
Section titled “Retrieve canva enterprise brand template metadata”CANVA_RETRIEVE_CANVA_ENTERPRISE_BRAND_TEMPLATE_METADATA
Upcoming update will change brand template IDs; integrations must migrate within 6 months. API use requires Canva Enterprise membership.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
brandTemplateId | string | Yes | The brand template ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve design autofill job status
Section titled “Retrieve design autofill job status”CANVA_RETRIEVE_DESIGN_AUTOFILL_JOB_STATUS
API users with Canva Enterprise membership can retrieve design autofill job results, potentially requiring multiple requests until a success or failed status is received.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | Yes | The design autofill job ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve design import job status
Section titled “Retrieve design import job status”CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS
Polls for design import job completion status. Use this after CANVA_CREATE_DESIGN_IMPORT_JOB to check the import progress. Repeatedly call this endpoint until a success or failed status is received to get the final imported design ID and metadata.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
jobId | string | Yes | The design import job ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve Design Resize Job Status
Section titled “Retrieve Design Resize Job Status”CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUS
Retrieves the status and results of a design resize job. Use this after CANVA_CREATE_DESIGN_RESIZE_JOB to check the resize progress. Keep polling until status is success or failed. Successful jobs include the new design ID and temporary access URLs.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | The resize job ID returned from the create resize job endpoint. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieve folder details by id
Section titled “Retrieve folder details by id”CANVA_RETRIEVE_FOLDER_DETAILS_BY_ID
Gets the name and other details of a folder using a folder’s folderID.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
folderId | string | Yes | The folder ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Retrieveuserprofiledata
Section titled “Retrieveuserprofiledata”CANVA_RETRIEVE_USER_PROFILE_DATA
Currently, this returns the display name of the user account associated with the provided access token. More user information is expected to be included in the future.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Revoke oauth tokens
Section titled “Revoke oauth tokens”CANVA_REVOKE_OAUTH_TOKENS
Revoke a refresh token to end its lineage and user consent, requiring re-authentication. Authenticate using either basic access with Base64-encoded credentials or body parameters with client ID and secret.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
token | string | Yes | The token to revoke. |
client_id | string | No | Your integration’s unique ID for authenticating the request. Recommended to use basic access authentication instead. |
client_secret | string | No | Your integration’s client secret for authenticating the request. Begins with cnvca. Recommended to use basic access authentication instead. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update asset s name and tags by id
Section titled “Update asset s name and tags by id”CANVA_UPDATE_ASSET_S_NAME_AND_TAGS_BY_ID
You can update the name and tags of an asset by specifying its assetId. Updating the tags replaces all existing tags of the asset.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | The name of the asset. Shown in the Canva UI. Maximum length 50 characters. If undefined, nothing is updated. |
tags | array | No | The replacement tags for the asset. Maximum 50 tags, each with maximum 50 characters. If undefined, nothing is updated. |
assetId | string | Yes | The ID of the asset. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update folder details by id
Section titled “Update folder details by id”CANVA_UPDATE_FOLDER_DETAILS_BY_ID
Updates a folder’s details using its folderID. Currently, you can only update a folder’s name.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The folder name, as shown in the Canva UI. |
folderId | string | Yes | The folder ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Validate oauth token properties
Section titled “Validate oauth token properties”CANVA_VALIDATE_OAUTH_TOKEN_PROPERTIES
Check an access token’s validity and properties via introspection, requiring authentication. Use Basic access (Base64 encoded client_id:client_secret) or body parameters for credentialing.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
token | string | Yes | The token to introspect. |
client_id | string | No | Your integration’s unique ID for authenticating the request. Recommended to use basic access authentication instead. |
client_secret | string | No | Your integration’s client secret for authenticating the request. Begins with cnvca. Recommended to use basic access authentication instead. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |