Skip to main content

Canva

Create, edit, organize, autofill, and export Canva designs.

Connect a Canva account with OAuth to work with designs end to end: create and list designs, import files as designs, export to PDF/PNG/JPG/PPTX/GIF/MP4, upload and manage assets, autofill brand templates (Enterprise), organize folders, and comment on designs. Import, export, upload, and autofill are async job pairs - a create tool starts the job, its paired status tool polls until success or failure.

Connect​

Sign in with Canva. Sign in with Canva to create, organize, autofill, and export designs as yourself. An organization admin configures the OAuth app once under Integrations → OAuth apps; after that, connecting is a consent screen.

  • Connecting signs in as YOU - tools see exactly the designs, assets, and folders your Canva account can.

  • Brand-template tools need a Canva Pro/Teams/Enterprise plan; autofill needs Canva Enterprise.

Tools​

ToolAccessWhat it does
Authenticated user (yekar.canva.users.me)ReadReturn the connected Canva user's id and team id (verifies the connection works).
User capabilities (yekar.canva.users.capabilities)ReadList the connected user's plan-gated API capabilities (e.g. 'autofill' = Enterprise, 'brand_template' = Pro/Teams/Enterprise) - check before calling gated tools.
Create design (yekar.canva.designs.create)WriteCreate a new Canva design from a preset/custom type, optionally inserting an uploaded image asset.
Get design (yekar.canva.designs.get)ReadFetch a design's metadata: title, edit/view URLs, thumbnail, owner, page count.
List designs (yekar.canva.designs.list)ReadList the user's designs, optionally filtered by search term and ownership. Paginated.
Import design (yekar.canva.imports.create)WriteStart an async job importing a file (PDF, DOCX, PPTX…) as a new Canva design. Poll imports.get until it resolves.
Import job status (yekar.canva.imports.get)ReadPoll a design import job. Non-terminal → retryAfterMs; success → the created design(s); failure → error detail.
Import design from URL (yekar.canva.imports.create-from-url)WriteStart an async job importing a publicly hosted file as a new Canva design (Canva downloads the URL server-side). Poll imports.get-from-url.
URL import job status (yekar.canva.imports.get-from-url)ReadPoll a URL design import job. Non-terminal → retryAfterMs; success → the created design(s); failure → error detail.
Export design (yekar.canva.exports.create)WriteStart an async job exporting a design to pdf/png/jpg/pptx/gif/mp4/html/csv. Poll exports.get for download URLs.
Export job status (yekar.canva.exports.get)ReadPoll a design export job. Non-terminal → retryAfterMs; success → download URLs (valid 24h); failure → error detail.
Export formats (yekar.canva.exports.formats)ReadList which export formats a design supports (call before exports.create to avoid a doomed job).
Upload asset (yekar.canva.assets.upload)WriteStart an async job uploading an image (<50MB) or video (<500MB) to the user's Canva assets. Poll assets.upload-status.
Asset upload status (yekar.canva.assets.upload-status)ReadPoll an asset upload job. Non-terminal → retryAfterMs; success → the created asset; failure → error detail.
Get asset (yekar.canva.assets.get)ReadFetch an asset's metadata: name, tags, type, thumbnail.
Update asset (yekar.canva.assets.update)WriteUpdate an asset's name and/or tags (tags replace the existing set).
Delete asset (yekar.canva.assets.delete)WriteMove an asset to the Canva trash (designs already using it keep it).
List brand templates (yekar.canva.brand-templates.list)ReadList the user's brand templates (requires Canva Pro/Teams/Enterprise). Paginated.
Get brand template (yekar.canva.brand-templates.get)ReadFetch a brand template's metadata (requires Canva Pro/Teams/Enterprise).
Get brand template dataset (yekar.canva.brand-templates.get-dataset)ReadFetch a brand template's autofill data fields (name → text/image/chart) - the keys autofills.create's data map must use. Requires a plan with brand templates; autofilling needs Enterprise.
Autofill design (yekar.canva.autofills.create)WriteStart an async job creating a design by autofilling a brand template's data fields (requires Canva Enterprise). Poll autofills.get.
Autofill job status (yekar.canva.autofills.get)ReadPoll a design autofill job. Non-terminal → retryAfterMs; success → the created design (saved to the user's root folder); failure → error detail.
Create folder (yekar.canva.folders.create)WriteCreate a folder inside another folder (or at the top level via parent_folder_id "root").
Get folder (yekar.canva.folders.get)ReadFetch a folder's metadata.
Rename folder (yekar.canva.folders.update)WriteRename a folder (name is the only updatable field).
Delete folder (yekar.canva.folders.delete)WriteDelete a folder: the user's content moves to the Trash; content owned by others moves to the top of the owner's projects.
List folder items (yekar.canva.folders.list-items)ReadList a folder's contents (designs, subfolders, images, brand templates). Paginated.
Move folder item (yekar.canva.folders.move-item)WriteMove an item into another folder (items that live in multiple folders must be moved in the Canva UI).
Comment on design (yekar.canva.comments.create)WriteStart a new comment thread on a design (Canva marks the comments API as preview).
Reply to comment (yekar.canva.comments.reply)WriteReply to a comment thread on a design (Canva marks the comments API as preview).
Get comment thread (yekar.canva.comments.get-thread)ReadFetch a comment (or suggestion) thread on a design (Canva marks the comments API as preview).
Get comment reply (yekar.canva.comments.get-reply)ReadFetch a single reply in a comment thread (Canva marks the comments API as preview).
List comment replies (yekar.canva.comments.list-replies)ReadList the replies in a comment thread. Paginated. (Canva marks the comments API as preview.)

Notes​

  • Sign in with Canva to connect - tools act as your Canva account.
  • Async operations (import, export, upload, autofill) return a jobId: poll the paired status tool (e.g. exports.get) until status is success or failed, waiting retryAfterMs between polls.
  • Brand-template tools need Canva Pro/Teams/Enterprise; autofill needs Canva Enterprise - check users.capabilities first.
  • Export/edit/view URLs are temporary (downloads ~24h, design links ~30 days) - use them promptly.