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.