> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Canva

## Overview

> [card] [Pre-built tooling](#pre-built-tooling)

> [card] [Pre-built integrations](#pre-built-integrations)

> [card] [Access requirements](#access-requirements)

> [card] [Setup guide](#setup-guide)

> [card] [Useful links](#useful-links)

> [card] [API gotchas](#api-gotchas)

## Pre-built tooling

> [accordion] ✅ Authorization
>
> | Tools | Status |
> | - | - |
> | Pre-built authorization (OAuth) | ✅ |
> | Credentials auto-refresh | ✅ |
> | Auth parameters validation | ✅ |
> | Pre-built authorization UI | ✅ |
> | Custom authorization UI | ✅ |
> | Expired credentials detection | ✅ |

> [accordion] ✅ Read & write data
>
> | Tools | Status |
> | - | - |
> | Pre-built integrations | ✅ |
> | API unification | ✅ |
> | 2-way sync | ✅ |
> | Webhooks from Nango on data modifications | ✅ |
> | Real-time webhooks from 3rd-party API | 🚫 (time to contribute: \<48h) |
> | Proxy requests | ✅ |

> [accordion] ✅ Observability & data quality
>
> | Tools | Status |
> | - | - |
> | HTTP request logging | ✅ |
> | End-to-end type safety | ✅ |
> | Data runtime validation | ✅ |
> | OpenTelemetry export | ✅ |
> | Slack alerts on errors | ✅ |
> | Integration status API | ✅ |

> [accordion] ✅ Customization
>
> | Tools | Status |
> | - | - |
> | Create or customize use-cases | ✅ |
> | Pre-configured pagination | 🚫 (time to contribute: \<48h) |
> | Pre-configured rate-limit handling | 🚫 (time to contribute: \<48h) |
> | Per-customer configurations | ✅ |

### Others

| Function name | Description | Type |
| - | - | - |
| `create-asset-upload-job` | Start an asset upload job from raw bytes. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-comment-reply` | Create a reply to an inline annotation comment. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-comment` | Create an inline annotation comment on a specific design element | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-design-comment-reply` | Create a reply in a design comment thread. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-design-comment` | Create a floating comment thread on a design. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-design-export-job` | Create an export job for a design. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-design-import-job` | Start a binary design import job | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-design-resize-job` | Start a design resize job. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-design` | Create a design from a preset design type or custom dimensions | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-folder` | Create a folder. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-url-asset-upload-job` | Start an asset upload job from a source URL. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-url-design-import-job` | Start a design import job from a source URL. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-asset` | Delete an asset. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-folder` | Delete a folder. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-asset-upload-job` | Retrieve asset upload job status/result. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-asset` | Retrieve asset metadata. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-brand-template` | Retrieve brand template metadata. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-current-user-capabilities` | Retrieve current Canva user capabilities. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-current-user-profile` | Retrieve current Canva user profile details. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-current-user` | Retrieve the current Canva user. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design-comment-reply` | Retrieve one reply in a design comment thread. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design-comment-thread` | Retrieve a design comment thread. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design-export-formats` | List export formats available for a design. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design-export-job` | Retrieve export job status/result and download URLs. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design-import-job` | Retrieve design import job status/result. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design-pages` | List pages in a design. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-design` | Retrieve design metadata. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-folder` | Retrieve folder metadata. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-url-asset-upload-job` | Retrieve URL asset upload job status and result. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-url-design-import-job` | Retrieve URL design import job status/result. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-brand-templates` | List brand templates. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-design-comment-replies` | List replies in a design comment thread. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-designs` | List design metadata with optional text search, type, and ownership filters. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `move-folder-item` | Move a folder item to another folder. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-asset` | Update asset name and tags. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-folder` | Update a folder name. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `brand-templates` | Sync brand template metadata | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `design-pages` | Sync pages for configured Canva designs. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `designs` | Sync design metadata. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `folder-items` | Sync the contents of configured Canva folders. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |

## Access requirements

| Pre-Requisites | Status | Comment |
| - | - | - |
| Paid dev account | ❌ | Not required |
| Paid test account | ❌ | Not required |
| Partnership | ❌ | Not required |
| App review | ✅ | Required for public integrations |
| Security audit | ❌ | Not required |

## Setup guide

1. Create a Canva Developer Account
   * Enable Multi-factor Authentication (MFA) on your Canva account
   * Log in to the [Canva Developer Portal](https://www.canva.dev/portal)

2. Create an Integration
   * Navigate to "Your integrations" page
   * Click "Create an integration"
   * Choose between Public or Private integration:
     * Public: Available to all Canva users (requires review)
     * Private: Only for your team on Canva Enterprise plan
   * Accept the Canva Developer Terms

3. Configure Your Integration
   * Set a name for your integration
   * Save your Client ID and Client Secret
   * Configure required scopes (see Scopes section below)
   * Set up redirect URLs (up to 10 allowed)
   * For local development, use `http://127.0.0.1:<port>`

4. Required Scopes
   * `asset:read`: View metadata for user's assets
   * `asset:write`: Upload, update, or delete assets
   * `brandtemplate:content:read`: Read brand template content
   * `brandtemplate:meta:read`: View brand template metadata
   * `collaboration:event`: Receive webhook notifications
   * `comment:read`: View design comments
   * `comment:write`: Create comments and replies
   * `design:content:read`: View design contents
   * `design:content:write`: Create designs
   * `design:meta:read`: View design metadata
   * `design:permission:read`: View design permissions
   * `design:permission:write`: Manage design permissions
   * `folder:permission:read`: View folder permissions
   * `folder:permission:write`: Manage folder permissions
   * `folder:read`: View folder metadata and contents
   * `folder:write`: Manage folders
   * `profile:read`: Read user profile information

> [!TIP]
>
> Need help getting started? Get help in the [community](https://nango.dev/slack).

> [!NOTE]
>
> Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/canva.mdx)

## Useful links

* [Canva Connect APIs Documentation](https://www.canva.dev/docs/connect/)
* [Creating Integrations Guide](https://www.canva.dev/docs/connect/creating-integrations/)
* [Scopes Documentation](https://www.canva.dev/docs/connect/appendix/scopes/)

> [!NOTE]
>
> Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/canva.mdx)

## API gotchas

* Local development requires using `127.0.0.1` instead of `localhost` for the redirect URL in the integration settings
* For webhook notifications, you must enable the `collaboration:event` scope

> [!NOTE]
>
> Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/canva.mdx)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.