# Canva

Your Toolhouse AI Worker can connect to Canva using 48 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=canva).

## Tools (48)

### `Canva Access User Specific Brand Templates List`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`        | string |          | —       | Lets you search the brand templates available to the user using a search term or terms.                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `dataset`      | string |          | —       | Filter the list of brand templates based on the brand templates' dataset definitions. Brand templates with dataset definitions are mainly used with the Autofill APIs. This can be one of the following: - `any`: (Default) Brand templates with and without dataset definitions. - `non_empty`: Brand templates with one or more data fields defined.                                                                                                                                                                                                               |
| `sort_by`      | string |          | —       | Sort the list of brand templates. This can be one of the following: - `relevance`: (Default) Sort results using a relevance algorithm. - `modified_descending`: Sort results by the date last modified in descending order. - `modified_ascending`: Sort results by the date last modified in ascending order. - `title_descending`: Sort results by title in descending order. - `title_ascending`: Sort results by title in ascending order.                                                                                                                       |
| `ownership`    | string |          | —       | Filter the list of brand templates based on the user's ownership of the brand templates. This can be one of the following: - `any`: (Default) Brand templates owned by and shared with the user. - `owned`: Brand templates owned by the user. - `shared`: Brand templates shared with the user.                                                                                                                                                                                                                                                                     |
| `continuation` | string |          | —       | If the success response contains a continuation token, the user has access to more brand templates you can list. You can use this token as a query parameter and retrieve more templates from the list, for example `/v1/brand-templates?continuation={continuation}`. To retrieve all the brand templates available to the user, you might need to make multiple requests. IMPORTANT: This token is an opaque value returned by the API. You must use it exactly as returned from a previous API response. Do not manually construct or modify continuation tokens. |

***

### `Canva Create Asset Upload Job`

Integration name: **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 the upload progress. Once complete, the asset can be used in designs, referenced by its asset ID, and managed through other asset endpoints. IMPORTANT: This is an async operation. Use CANVA\_FETCH\_ASSET\_UPLOAD\_JOB\_STATUS to poll the job status until it reaches 'success' or 'failed' status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                                     |
| --------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file`    | object |     ✅    | —       | 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. No duplicate detection - uploading same file creates new asset. |
| `name`    | string |     ✅    | —       | Display name for the asset (max 50 chars). Used for searching in Canva. Longer names are truncated. Special chars allowed. Cannot be changed via API after upload.                                              |

***

### `Canva Create Canva Design Export Job`

Integration name: **CANVA\_CREATE\_CANVA\_DESIGN\_EXPORT\_JOB**

DEPRECATED: Use CANVA\_POST\_EXPORTS instead. Exports a Canva design to various file formats. This endpoint initiates an asynchronous export job for designs. Supports image formats (PNG, JPG, GIF), documents (PDF, PPTX), and video (MP4). Each format has specific configuration options like dimensions, quality, and page selection. IMPORTANT: This is an async operation. Use GET\_DESIGN\_EXPORT\_JOB\_RESULT to poll the job status until completion and retrieve the download URLs for the exported files.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example          | Description                                                                                   |
| ----------- | ------ | :------: | ---------------- | --------------------------------------------------------------------------------------------- |
| `format`    | —      |     ✅    | `{"type":"png"}` | Export format configuration. Set 'type' to one of: 'png', 'jpg', 'pdf', 'gif', 'mp4', 'pptx'. |
| `design_id` | string |     ✅    | `"DAGkg05ZH5w"`  | The design ID to export                                                                       |

***

### `Canva Create Canva Design With Optional Asset`

Integration name: **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. This endpoint creates a design using either a preset type (doc, presentation, whiteboard), custom dimensions, or by importing an image asset. Returns the design ID, URLs for editing and viewing, owner info, and metadata. The design can be immediately accessed and edited.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------- | ------ | :------: | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`       | string |          | `"My Holiday Presentation"`               | Design title (1-255 chars). Appears in Canva UI and design lists.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `asset_id`    | string |          | `"Msd59349ff"`                            | Image asset ID to create design from. Optional if design\_type provided. IMPORTANT: Only image assets are supported - video and PDF assets will be rejected by the API with error 'asset\_id must belong to an image asset'. Asset IDs are opaque strings with no guaranteed format. To verify an asset is an image before using it here, call CANVA\_RETRIEVE\_ASSET\_METADATA\_BY\_ID and check that the 'type' field equals 'image'. To upload a new image asset, use CANVA\_CREATE\_URL\_ASSET\_UPLOAD\_JOB or CANVA\_CREATE\_ASSET\_UPLOAD\_JOB. |
| `design_type` | object |          | `{"name":"presentation","type":"preset"}` | Design dimensions configuration. Optional if asset\_id provided. Must be a dictionary with 'type' field. Two options: 1. Preset: {'type': 'preset', 'name': 'doc'\\                                                                                                                                                                                                                                                                                                                                                                                   |

***

### `Canva Create Comment Reply In Design`

Integration name: **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. Users should note potential unannounced changes, and that preview APIs are not eligible for public integrations.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                                                                                                                                                                               |
| ------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `message`     | string |     ✅    | —       | The reply comment message. This is the reply comment body shown in the Canva UI. You can also mention users in your message by specifying their User ID and Team ID using the format `[user_id:team_id]`. |
| `commentId`   | string |     ✅    | —       | The `id` of the comment thread to reply to. This parameter is used in the URL path, not in the request body.                                                                                              |
| `attached_to` | object |     ✅    | —       | The object the comment is attached to.                                                                                                                                                                    |

***

### `Canva Create Design Comment In Preview Api`

Integration name: **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. Comments can be replied to using the comment reply endpoint.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example                                  | Description                                                                                                                                                      |
| ------------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `message`     | string |     ✅    | `"Great design! Love the color scheme."` | Comment text (max 4096 chars). Mention users with \[user\_id:team\_id]. No markdown support. Comments appear unpinned - users must view 'All pages' to see them. |
| `design_id`   | string |     ✅    | `"DAGz4y3LDFI"`                          | Design ID to attach comment to                                                                                                                                   |
| `assignee_id` | string |          | `"oUXYegJ3p0L71iGeQqomaw"`               | User ID to assign this comment to. If provided, you must also mention this user in the message text using format \[user\_id:team\_id].                           |
| `attached_to` | object |     ✅    | —                                        | Required target reference specifying where comment should be attached                                                                                            |

***

### `Canva Create Design Import Job`

Integration name: **CANVA\_CREATE\_DESIGN\_IMPORT\_JOB**

Imports an external file as a new Canva design. This endpoint converts documents (PDF, Word, PowerPoint, Excel) and design files (PSD, AI) into editable Canva designs. The import runs asynchronously and returns a job ID to track progress and retrieve the created design. IMPORTANT: This is an async operation. Use CANVA\_RETRIEVE\_DESIGN\_IMPORT\_JOB\_STATUS to poll the job status until it reaches 'success' or 'failed' to get the final design ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                                                                                    |
| ----------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file`      | object |     ✅    | —       | Document or design file to import (max 100MB). Formats: PDF, Word, PowerPoint, Excel, Photoshop, Illustrator, Keynote, Pages, Numbers, OpenDocument. PowerPoint loses animations, Excel loses formulas, AI/PSD may lose layers. Password-protected files fail. |
| `title`     | string |     ✅    | —       | Title for the imported design (max 50 chars). Shows in Canva UI and design lists. Longer titles are truncated. Special characters allowed.                                                                                                                     |
| `mime_type` | string |          | —       | Optional MIME type override. If omitted, the file's mimetype is used.                                                                                                                                                                                          |

***

### `Canva Create Design Resize Job`

Integration name: **CANVA\_CREATE\_DESIGN\_RESIZE\_JOB**

Creates a resized copy of an existing design (Canva Pro/Enterprise only). This endpoint creates a new design with different dimensions from an existing one. The resize operation runs asynchronously and preserves content where possible. Returns a job ID to track progress and retrieve the new design once complete. IMPORTANT: This is an async operation. Use CANVA\_RETRIEVE\_DESIGN\_RESIZE\_JOB\_STATUS to poll the job status until completion to get the resized design ID and access URLs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                      |
| ------------- | ------ | :------: | ------- | -------------------------------- |
| `design_id`   | string |     ✅    | —       | The source design ID             |
| `design_type` | —      |     ✅    | —       | Target design type configuration |

***

### `Canva Create Url Asset Upload Job`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                           |
| --------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `url`     | string |     ✅    | —       | Publicly accessible HTTPS URL of the file to import. Must use HTTPS protocol (e.g., <https://example.com/image.png>). |
| `name`    | string |     ✅    | —       | Asset name (1-255 characters).                                                                                        |

***

### `Canva Delete Asset By Id`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description          |
| --------- | ------ | :------: | ------- | -------------------- |
| `assetId` | string |     ✅    | —       | The ID of the asset. |

***

### `Canva Exchange Oauth20 Access Or Refresh Token`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Canva Fetch Asset Upload Job Status`

Integration name: **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 to get the final asset ID and metadata. IMPORTANT: This tool is ONLY for direct file upload jobs (CANVA\_CREATE\_ASSET\_UPLOAD\_JOB). Do NOT use this for URL import jobs created by CANVA\_CREATE\_URL\_ASSET\_UPLOAD\_JOB - those use a different API endpoint. Use CANVA\_GET\_URL\_ASSET\_UPLOADS\_JOBID to poll URL import job status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                   |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `jobId`   | string |     ✅    | —       | The asset upload job ID returned by CANVA\_CREATE\_ASSET\_UPLOAD\_JOB or CANVA\_POST\_ASSET\_UPLOADS. This is the 'id' field from the job object in the response. IMPORTANT: This tool does NOT work for job IDs from CANVA\_CREATE\_URL\_ASSET\_UPLOAD\_JOB (URL import jobs use a different endpoint - use CANVA\_GET\_URL\_ASSET\_UPLOADS\_JOBID instead). |

***

### `Canva Fetch Canva Connect Signing Public Keys`

Integration name: **CANVA\_FETCH\_CANVA\_CONNECT\_SIGNING\_PUBLIC\_KEYS**

The API for verifying Canva webhooks, 'connect/keys,' is in preview, meaning unstable, not for public integrations, and provides a rotating JWK for signature verification to prevent replay attacks. Cache keys for efficiency.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Canva Fetch Current User Details`

Integration name: **CANVA\_FETCH\_CURRENT\_USER\_DETAILS**

Returns the User ID, Team ID, and display name of the user account associated with the provided access token.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Canva Fetch Design Metadata And Access Information`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description    |
| ---------- | ------ | :------: | ------- | -------------- |
| `designId` | string |     ✅    | —       | The design ID. |

***

### `Canva Get Design Comment Replies`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example | Description                                                                                                                                |
| -------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `limit`        | integer |          | —       | The number of replies to return. Default is 50. Minimum value: 1, Maximum value: 100.                                                      |
| `designId`     | string  |     ✅    | —       | The design ID.                                                                                                                             |
| `threadId`     | string  |     ✅    | —       | The ID of the thread.                                                                                                                      |
| `continuation` | string  |          | —       | Token for pagination to retrieve more items from the list. If the response contains a continuation token, use it to retrieve more replies. |

***

### `Canva Get Design Comment Reply`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                            |
| ---------- | ------ | :------: | ------- | -------------------------------------- |
| `replyId`  | string |     ✅    | —       | The identifier for the specific reply. |
| `designId` | string |     ✅    | —       | The design identifier.                 |
| `threadId` | string |     ✅    | —       | The identifier for the comment thread. |

***

### `Canva Get Design Export Job Result`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description        |
| ---------- | ------ | :------: | ------- | ------------------ |
| `exportId` | string |     ✅    | —       | The export job ID. |

***

### `Canva Get Designs Designid Comments Threadid`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example         | Description            |
| ---------- | ------ | :------: | --------------- | ---------------------- |
| `designId` | string |     ✅    | `"DAGkg05ZH5w"` | The design identifier. |
| `threadId` | string |     ✅    | `"KAG7Ioj7DAU"` | The thread identifier. |

***

### `Canva Get Designs Designid Export Formats`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description    |
| ---------- | ------ | :------: | ------- | -------------- |
| `designId` | string |     ✅    | —       | The design ID. |

***

### `Canva Get Url Asset Uploads Jobid`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                      |
| --------- | ------ | :------: | ------- | -------------------------------- |
| `jobId`   | string |     ✅    | —       | The asset upload job identifier. |

***

### `Canva Get Url Imports Jobid`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description            |
| --------- | ------ | :------: | ------- | ---------------------- |
| `jobId`   | string |     ✅    | —       | The URL import job ID. |

***

### `Canva Get Users Me Capabilities`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Canva Initiate Canva Design Autofill Job`

Integration name: **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 specific API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example | Description                                                                                                                                                                                                                       |
| ------------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data`              | object |     ✅    | —       | 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 |          | —       | Title to use for the autofilled design. Must be less than 256 characters. If no design title is provided, the autofilled design will have the same title as the brand template.                                                   |
| `brand_template_id` | string |     ✅    | —       | ID of the input brand template.                                                                                                                                                                                                   |

***

### `Canva List Design Pages With Pagination`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type    | Required | Example | Description                                                                                                                                                                                         |
| ---------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`    | integer |          | —       | The number of pages to return, starting at the page index specified using the `offset` parameter. Default is `50` pages. Minimum: 1, Maximum: 200.                                                  |
| `offset`   | integer |          | —       | The page index to start the range of pages to return. Default is `1`. Pages are indexed using one-based numbering, so the first page in a design has the index value `1`. Minimum: 1, Maximum: 500. |
| `designId` | string  |     ✅    | —       | The design ID.                                                                                                                                                                                      |

***

### `Canva List Folder Items By Type With Sorting`

Integration name: **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, such as Instagram posts, Presentations, and Documents ([Canva Docs](https://www.canva.com/create/documents/)). - Image assets.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| -------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sort_by`      | string |          | —       | 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. |
| `folderId`     | string |     ✅    | —       | The folder ID. Must be a non-empty string. Use 'root' to list items in the root folder.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `item_types`   | array  |          | —       | 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `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.                                                                                                                                                                                                                                                                                                                                                                                            |

***

### `Canva List User Designs`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`        | string |          | —       | Lets you search the user's designs, and designs shared with the user, using a search term or terms.                                                                                                                                                                                                                                                                                                                                    |
| `sort_by`      | string |          | —       | Sort the list of designs. This can be one of the following: - `relevance`: (Default) Sort results using a relevance algorithm. - `modified_descending`: Sort results by the date last modified in descending order. - `modified_ascending`: Sort results by the date last modified in ascending order. - `title_descending`: Sort results by title in descending order. - `title_ascending`: Sort results by title in ascending order. |
| `ownership`    | string |          | —       | Filter the list of designs based on the user's ownership of the designs. This can be one of the following: - `owned`: Designs owned by the user. - `shared`: Designs shared with the user. - `any`: Designs owned by and shared with the user.                                                                                                                                                                                         |
| `continuation` | string |          | —       | If the success response contains a continuation token, the list contains more designs you can list. You can use this token as a query parameter and retrieve more designs from the list, for example `/v1/designs?continuation={continuation}`. To retrieve all of a user's designs, you might need to make multiple requests. Pass a valid token or omit this parameter entirely. Empty strings are not accepted by the API.          |

***

### `Canva Move Item To Specified Folder`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                       |
| -------------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `item_id`      | string |     ✅    | —       | The ID of the item you want to move. Item IDs are alphanumeric strings, 1-50 characters. Design IDs have format like 'DAFVztcvd9z', folder IDs like 'FAF2lZtloor', and asset IDs like 'Msd59349ff'. Obtain item IDs from the List designs, List folder items, or other Canva API endpoints. Note: Video assets are not supported for moving.                      |
| `to_folder_id` | string |     ✅    | —       | The ID of the folder you want to move the item to (the destination folder). Folder IDs are alphanumeric strings (e.g., 'FAF2lZtloor'), 1-50 characters. Use the special ID 'root' to move the item to the top level of a Canva user's projects, or 'uploads' for the Uploads folder. Obtain folder IDs from the List folder items or Create folder API endpoints. |

***

### `Canva Post Designs`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example                        | Description                                                                                                                                                                                                                                                                                                       |
| ------------- | ------ | :------: | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`       | string |          | `"Test Design Created by API"` | Design name (1-255 characters). Appears in Canva UI and design lists.                                                                                                                                                                                                                                             |
| `asset_id`    | string |          | `"Msd59349ff"`                 | Image asset ID to insert into the design. Currently supports image assets only. Must be a valid asset ID from a previously uploaded asset.                                                                                                                                                                        |
| `design_type` | —      |     ✅    | `"presentation"`               | Design type configuration. Can be a preset name string ('doc', 'whiteboard', 'presentation') which will be auto-converted to the required format, or a nested object for preset (e.g., {'type': 'preset', 'name': 'presentation'}) or custom dimensions (e.g., {'type': 'custom', 'width': 1080, 'height': 1920}) |

***

### `Canva Post Designs Designid Comments`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                                                | Description                                                                                                                               |
| ------------------- | ------ | :------: | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `designId`          | string |     ✅    | `"DAG7Ipg6t6g"`                                                        | The design ID where the comment will be created. Must match pattern ^\[a-zA-Z0-9\_-]{1,50}$                                               |
| `assignee_id`       | string |          | `"oUXYegJ3p0L71iGeQqomaw"`                                             | Optional user ID for assignment. If specified, the assignee must be mentioned in the message using \[user\_id:team\_id] format.           |
| `message_plaintext` | string |     ✅    | `"This is a test comment to verify the API endpoint works correctly."` | The comment message in plaintext shown in Canva UI. Must be between 1 and 2048 characters. User mentions use format \[user\_id:team\_id]. |

***

### `Canva Post Designs Designid Comments Threadid Replies`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                             | Description                                                                                                                  |
| ------------------- | ------ | :------: | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `design_id`         | string |     ✅    | `"DAG7Ig8C7o4"`                                     | The design identifier. Must match pattern ^\[a-zA-Z0-9\_-]{1,50}$                                                            |
| `thread_id`         | string |     ✅    | `"KAG7IkyIIUQ"`                                     | The identifier of the thread to reply to. Must match pattern ^\[a-zA-Z0-9\_-]{1,50}$                                         |
| `message_plaintext` | string |     ✅    | `"Thanks for your feedback! This is a test reply."` | The reply text content. Must be between 1 and 2048 characters. Users can be mentioned using the format \[user\_id:team\_id]. |

***

### `Canva Post Exports`

Integration name: **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 that can be used to poll for completion status and download URLs. IMPORTANT: Format compatibility varies by design type. Before exporting, use the CANVA\_GET\_DESIGNS\_DESIGNID\_EXPORT\_FORMATS action to check which formats are supported for the specific design. Attempting to export in an unsupported format will result in a 400 error (e.g., 'png export not supported for this design type').

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example                      | Description                                                                                                                                                                                                                                                                                                                                                                                                   |
| ----------- | ------ | :------: | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format`    | —      |     ✅    | `{"size":"a4","type":"pdf"}` | Export format configuration. Specify the format type and format-specific options. Exported files remain available for download for 24 hours. IMPORTANT: Not all formats are supported for all design types. Use GET /v1/designs/{designId}/export-formats to check which formats are supported for a specific design before exporting. If you request an unsupported format, the API will return a 400 error. |
| `design_id` | string |     ✅    | `"DAGkg05ZH5w"`              | The identifier of the design to export (e.g., 'DAGz4y3LDFI')                                                                                                                                                                                                                                                                                                                                                  |

***

### `Canva Post Folders`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example              | Description                                                                                                                                                                      |
| ------------------ | ------ | :------: | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`             | string |     ✅    | `"Marketing Assets"` | The display name for the new folder. Must be 1-255 characters. Duplicate names are allowed.                                                                                      |
| `parent_folder_id` | string |     ✅    | `"root"`             | 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. Cannot be empty. |

***

### `Canva Post Url Imports`

Integration name: **CANVA\_POST\_URL\_IMPORTS**

Tool to start an asynchronous job to import an external file from a URL as a new design in Canva. Use when you need to import a design from a publicly accessible URL. This is an async operation; poll the job status using the job ID until it reaches 'success' or 'failed'.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example                                                                     | Description                                                                                                                      |
| ----------- | ------ | :------: | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `url`       | string |     ✅    | `"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"` | The URL of the file to import. This URL must be accessible from the internet and be publicly available (1-2048 characters).      |
| `title`     | string |     ✅    | `"My Imported Design"`                                                      | Name assigned to the imported design (1-255 characters).                                                                         |
| `mime_type` | string |          | `"application/pdf"`                                                         | File type identifier (e.g., 'application/pdf', 'image/png'). Auto-detected if omitted or empty (1-100 characters when provided). |

***

### `Canva Remove Folder And Move Contents To Trash`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description    |
| ---------- | ------ | :------: | ------- | -------------- |
| `folderId` | string |     ✅    | —       | The folder ID. |

***

### `Canva Retrieve App Public Key Set`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description |
| --------- | ------ | :------: | ------- | ----------- |
| `appId`   | string |     ✅    | —       | The app id  |

***

### `Canva Retrieve Asset Metadata By Id`

Integration name: **CANVA\_RETRIEVE\_ASSET\_METADATA\_BY\_ID**

You can retrieve the metadata of an asset by specifying its `assetId`.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description          |
| --------- | ------ | :------: | ------- | -------------------- |
| `assetId` | string |     ✅    | —       | The ID of the asset. |

***

### `Canva Retrieve Brand Template Dataset Definition`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example | Description            |
| ----------------- | ------ | :------: | ------- | ---------------------- |
| `brandTemplateId` | string |     ✅    | —       | The brand template ID. |

***

### `Canva Retrieve Canva Enterprise Brand Template Metadata`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example | Description            |
| ----------------- | ------ | :------: | ------- | ---------------------- |
| `brandTemplateId` | string |     ✅    | —       | The brand template ID. |

***

### `Canva Retrieve Design Autofill Job Status`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                 |
| --------- | ------ | :------: | ------- | --------------------------- |
| `jobId`   | string |     ✅    | —       | The design autofill job ID. |

***

### `Canva Retrieve Design Import Job Status`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description               |
| --------- | ------ | :------: | ------- | ------------------------- |
| `jobId`   | string |     ✅    | —       | The design import job ID. |

***

### `Canva Retrieve Design Resize Job Status`

Integration name: **CANVA\_RETRIEVE\_DESIGN\_RESIZE\_JOB\_STATUS**

Retrieves the status and results of a design resize job. Polls for design resize job completion status. 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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                                                |
| --------- | ------ | :------: | ---------------------------------------- | ---------------------------------------------------------- |
| `job_id`  | string |     ✅    | `"ab12c345-6789-0def-1234-567890abcdef"` | The resize job ID returned from create resize job endpoint |

***

### `Canva Retrieve Folder Details By Id`

Integration name: **CANVA\_RETRIEVE\_FOLDER\_DETAILS\_BY\_ID**

Gets the name and other details of a folder using a folder's `folderID`.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description    |
| ---------- | ------ | :------: | ------- | -------------- |
| `folderId` | string |     ✅    | —       | The folder ID. |

***

### `Canva Retrieve User Profile Data`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Canva Revoke Oauth Tokens`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                                                                                                                                                  |
| --------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `token`         | string |     ✅    | —       | The token to revoke.                                                                                                                                                                                                         |
| `client_id`     | string |          | —       | Your integration's unique ID, for authenticating the request. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters.                          |
| `client_secret` | string |          | —       | Your integration's client secret, for authenticating the request. Begins with `cnvca`. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters. |

***

### `Canva Update Asset S Name And Tags By Id`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                   |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`    | string |          | —       | The name of the asset. This is shown in the Canva UI. When this field is undefined, nothing is updated. Maximum length 50 characters.                         |
| `tags`    | array  |          | —       | The replacement tags for the asset. When this field is undefined, nothing is updated. Maximum length 50 tags. Each tag has a maximum length of 50 characters. |
| `assetId` | string |     ✅    | —       | The ID of the asset.                                                                                                                                          |

***

### `Canva Update Folder Details By Id`

Integration name: **CANVA\_UPDATE\_FOLDER\_DETAILS\_BY\_ID**

Updates a folder's details using its `folderID`. Currently, you can only update a folder's name.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                |
| ---------- | ------ | :------: | ------- | ------------------------------------------ |
| `name`     | string |     ✅    | —       | The folder name, as shown in the Canva UI. |
| `folderId` | string |     ✅    | —       | The folder ID.                             |

***

### `Canva Validate Oauth Token Properties`

Integration name: **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.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                                                                                                                                                  |
| --------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `token`         | string |     ✅    | —       | The token to introspect.                                                                                                                                                                                                     |
| `client_id`     | string |          | —       | Your integration's unique ID, for authenticating the request. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters.                          |
| `client_secret` | string |          | —       | Your integration's client secret, for authenticating the request. Begins with `cnvca`. NOTE: We recommend that you use basic access authentication instead of specifying `client_id` and `client_secret` as body parameters. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/canva.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
