All connectors
Implemented
Content creation & media
Canva logo

Canva

Canva Connect API: list and search designs, folders, brand templates and assets, autofill brand templates, export designs, import from URLs, resize designs and manage comments.

Produce on-brand certificates, social posts, proposals and reports from CRM or spreadsheet data with brand-template autofill, then export them for delivery.

Source actions

22

Destination actions

12

Data types

19

Validation status

Implemented · fixture tested.

Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.

What you can map

assets
  • Get asset
    Source

    Image or video asset metadata: name, tags, owner, size and thumbnail.

    assets.get
  • Update asset
    Destination
    Provider duplicate protection
    Approval before production

    Rename an asset or replace its tags.

    assets.update
autofills
  • Autofill brand template
    Destination
    Not retried automatically
    Approval before production

    Start a job that creates a new design from a brand template filled with text, image, video, chart or sheet data.

    autofills.create
  • Get autofill job
    Source

    Status and resulting design of a brand template autofill job.

    autofills.get
brand template dataset fields
  • List brand template fields
    Source

    Autofill data fields of a brand template and the type each accepts.

    brand_template_dataset_fields.list
brand templates
  • Get brand template
    Source

    Brand template metadata with view and create links.

    brand_templates.get
  • List brand templates
    Source

    Brand templates the user can access, optionally only those with autofill fields.

    brand_templates.list
comment replies
  • Reply to comment thread
    Destination
    Not retried automatically
    Approval before production

    Add a reply to a comment thread on a design (preview API).

    comment_replies.create
  • List comment replies
    Source

    Replies in a comment thread on a design (preview API).

    comment_replies.list
comment threads
  • Create comment thread
    Destination
    Not retried automatically
    Approval before production

    Add a comment thread to a design, optionally assigned to a user (preview API).

    comment_threads.create
  • Get comment thread
    Source

    A comment or suggestion thread on a design (preview API).

    comment_threads.get
design dataset fields
  • List design dataset fields
    Source

    Autofill data fields defined in a design, with their types.

    design_dataset_fields.list
design export formats
  • List export formats
    Source

    File formats a design can be exported to, with the pages that support each.

    design_export_formats.list
design pages
  • List design pages
    Source

    Page numbers, dimensions and thumbnails for a design (preview API).

    design_pages.list
designs
  • Create design
    Destination
    Not retried automatically
    Approval before production

    Create a blank design from a preset type (doc, email, presentation, whiteboard) or custom size, optionally with an image asset.

    designs.create
  • Get design
    Source

    Design metadata with owner, edit and view links and page count.

    designs.get
  • List designs
    Source

    Designs in the user's projects and shared with the user.

    designs.list
  • Search designs
    Source

    Designs matching search terms, ranked by relevance.

    designs.search
exports
  • Export design
    Destination
    Not retried automatically
    Approval before production

    Start a job that exports a design to PDF, JPG, PNG, PPTX, GIF, MP4, HTML or CSV. Non-destructive.

    exports.create
  • Get export job
    Source

    Status and download URLs of a design export job.

    exports.get
folder items
  • List folder items
    Source

    Designs, sub-folders, images and (optionally) brand templates in a folder. Use root for the top of the user's projects or uploads for the Uploads folder.

    folder_items.list
  • Move item to folder
    Destination
    Provider duplicate protection
    Approval before production

    Move a design, folder or image to another folder.

    folder_items.update
folders
  • Create folder
    Destination
    Not retried automatically
    Approval before production

    Create a folder in root (top of projects), uploads or another folder.

    folders.create
  • Get folder
    Source

    Folder name, thumbnail and timestamps.

    folders.get
  • Rename folder
    Destination
    Provider duplicate protection
    Approval before production

    Change a folder's name.

    folders.update
resizes
  • Resize design
    Destination
    Not retried automatically
    Approval before production

    Start a job that creates a resized copy of a design in the user's root folder. The original is unchanged.

    resizes.create
  • Get resize job
    Source

    Status and resized copy of a design resize job.

    resizes.get
url asset uploads
  • Upload asset from URL
    Destination
    Not retried automatically
    Approval before production

    Start a job that uploads an image or video (up to 100 MB) from a public HTTPS URL to the user's content library (preview API).

    url_asset_uploads.create
  • Get URL asset upload job
    Source

    Status and resulting asset of an asset upload from a URL (preview API).

    url_asset_uploads.get
url imports
  • Import design from URL
    Destination
    Not retried automatically
    Approval before production

    Start a job that imports a file (for example PDF, PPTX, DOCX, AI or Keynote) from a public HTTPS URL as a new design.

    url_imports.create
  • Get URL import job
    Source

    Status and created designs of a design import from a URL.

    url_imports.get
user capabilities
  • List user capabilities
    Source

    Plan-dependent API capabilities of the connected user, for example autofill, brand_template and resize.

    user_capabilities.list
user profiles
  • Get user profile
    Source

    The connected user's display name.

    user_profiles.get
users
  • Get connected user
    Source

    The connected Canva user and team IDs.

    users.get

Authentication

Canva Connect integration (OAuth 2.0 with PKCE; refresh tokens rotate)

Plans and access

Any Canva user can authorise a Connect integration. Brand templates and autofill need Canva Pro, Teams, Enterprise, Education or Nonprofits; resize needs premium features (Free has a small trial quota). Calls act as the authorising user and see only that user's projects and shared content. Scopes are chosen in the Canva developer portal and at authorisation.

Test environment

Canva has no separate sandbox. Create a private integration in the Developer Portal and authorise it with a test Canva account.

Rate limits

Per user of the integration, per minute and per endpoint (for example 100 per minute for design reads, 20 for design creation and exports, 10 for user reads). Exports also have app, document and user throttles. Nexra honours Retry-After on HTTP 429.

Pagination

Designs, brand templates, folder items and comment replies use a continuation token; jobs and single records return one item.

Provider events

Canva Connect webhooks (comment, share and access-request notifications) are configured on the integration in the Developer Portal. Nexra event triggers are not yet available; flows run on demand or on a schedule.

Before you build a flow

  • No deletes: Nexra never deletes designs, folders or assets, never revokes tokens and never publishes brand templates.
  • Autofill only creates new designs from brand templates; Canva's update_design autofill (which overwrites an existing design) is not offered.
  • Asset upload and design import from a file need a binary request body, which the Nexra engine does not send. Use url_asset_uploads.create (preview) and url_imports.create, which import from a public URL.
  • Export download URLs are short-lived (24 hours) pre-signed links; Nexra returns them but does not download the files.
  • Design pages, comment threads and replies, and URL asset upload are Canva preview APIs that can change without notice; legacy comment creation (POST /v1/comments) is deprecated and not offered.
  • AI design and image generation, image transformations, design merges, image-to-design imports, print-partner endpoints and design analytics (Enterprise, preview) are not implemented.
  • Canva has no updatedSince filter; sort designs or folder items by modified_descending and stop at the last seen time.
  • Canva lists the token endpoint at https://api.canva.com/rest/v1/oauth/token; its OpenAPI also lists an /auth base. Nexra uses the documented /rest URL.
  • Free-plan users have small trial quotas for premium endpoints such as resize; when exhausted Canva returns HTTP 403 permission_denied.

Developer reference

  1. Create the Canva Pty Ltd credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Canva, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/canva and the Connections API.