Create, organize, collaborate on, import, and export Canva content through the Connect API.
- canva
- design
- assets
- folders
- comments
- import
- export
- oauth
- License
- MIT
- Published
- July 21, 2026
- Pinned commit
44dc6b4- Rating
- No ratings yet
- Forks
- 0
- Stars
- 0
- Adaptation effort
- —
One-click install
Install forks this package into your account and publishes it right away when it passes the standard package checks. An admin reviewed and trusted this exact version.
Log in to install this package.
Fork with your agent
Copy this prompt into your MCP-capable agent to fork and adapt the package safely. Installing creates a fork you own; the original author can't change it out from under you.
Use Kody to fork the community package "@kody/canva" (listing id: c5c8bc47-4a26-4641-b038-789e9691fe8d). Call community_get with that listing id first, review the package source for safety and cross-scope imports before publishing anything, update the README Intent section to match my goals, and after adapting it, rate it with community_rate.
README
@kody/canva
Intent
Provide a complete, reusable Canva Connect API package for Kody workflows. It covers every operation in the configured Canva OpenAPI surface while keeping mutations explicit, previewable, and safe to publish as a community package.
When to use
- Create, inspect, search, resize, merge, import, or export Canva designs.
- Upload, inspect, rename, tag, or delete assets.
- Create and organize folders, then list or move their contents.
- Read and write comment threads and replies.
- Work with brand templates, autofill datasets, user capabilities, and OIDC.
- Call a newly added operation through the generic API dispatcher while this package's convenience exports catch up.
Required setup
Create a Canva Connect API integration, use
https://heykody.dev/connect/oauth as its redirect URI, and save the OAuth
integration in Kody as canva. Connect or reconnect it at:
https://heykody.dev/connect/oauth?provider=canva
The integration needs api.canva.com and www.canva.com as approved hosts.
Grant only the scopes your workflows require. The complete surface can use:
asset:read,asset:writebrandtemplate:content:read,brandtemplate:content:write,brandtemplate:meta:readcomment:read,comment:writedesign:content:read,design:content:write,design:meta:readfolder:read,folder:write,folder:permission:writeprofile:read
Exports
kody:@kody/canva— package overview, coverage, and safety metadata.kody:@kody/canva/api— named helpers for all 48 operations plus a default generic dispatcher.kody:@kody/canva/operations— the operation catalog with methods, paths, domains, and preview/deprecation flags.kody:@kody/canva/smoke-test— verify OAuth access without returning Canva profile data.
Designs and jobs
createDesign, getDesign, listDesigns, getDesignPages,
getDesignDataset, getDesignExportFormats, createDesignResizeJob,
getDesignResizeJob, createDesignMergeJob, getDesignMergeJob,
createPrintPartnerDesign, and createPrintPartnerDesignExportJob.
Assets
createAssetUploadJob, getAssetUploadJob, createUrlAssetUploadJob,
getUrlAssetUploadJob, getAsset, updateAsset, and deleteAsset.
Imports and exports
createDesignImportJob, getDesignImportJob, createUrlImportJob,
getUrlImportJob, createDesignExportJob, and getDesignExportJob.
Folders
createFolder, getFolder, updateFolder, deleteFolder,
listFolderItems, and moveFolderItem.
Comments
createThread, getThread, createReply, getReply, listReplies, and the
deprecated createComment.
Brand templates and autofill
listBrandTemplates, getBrandTemplate, getBrandTemplateDataset,
publishBrandTemplate, createDesignAutofillJob, and
getDesignAutofillJob.
Users and OIDC
usersMe, getUserProfile, getUserCapabilities, userInfo, and
getOidcJwks.
Request shape
Named helpers accept the native Canva request structure:
paramsfor path placeholders such asdesignIdorfolderId.queryfor filters, pagination tokens, sorting, and limits.headersfor operation-specific metadata headers. An injectedAuthorizationheader is always ignored.bodyfor JSON or binary request bodies.confirmanddryRunfor mutation safety.
import { getDesign, listDesigns } from 'kody:@kody/canva/api'
const recent = await listDesigns({
query: { ownership: 'owned', sort_by: 'modified_descending', limit: 10 },
})
const design = await getDesign({ params: { designId: 'DAVZr1z5464' } })The default export dispatches by lowercase OpenAPI operation slug:
import canva from 'kody:@kody/canva/api'
await canva({
operation: 'listdesigns',
input: { query: { limit: 5 } },
})Mutation safety
Every POST, PATCH, and DELETE operation requires confirm: true after
the user approves the exact action. Use dryRun: true to return the method,
path template, and request without contacting Canva.
import { createDesign } from 'kody:@kody/canva/api'
const preview = await createDesign({
body: {
design_type: { type: 'preset', name: 'presentation' },
title: 'Quarterly review',
},
dryRun: true,
})
const result = await createDesign({
body: preview.request.body,
confirm: true,
})API notes
- Canva preview APIs can change without notice and cannot be used in public
Canva integrations submitted for review. They are marked
previewin the operation catalog. createCommentis retained for complete API coverage but is deprecated; prefercreateThread.- Resize APIs require Canva Pro or another eligible plan. Autofill and some brand-template operations require Canva Enterprise.
- Async create operations return job IDs. Poll the corresponding
get*Jobhelper until Canva reportssuccessorfailed. - Rate-limit errors throw
CanvaApiErrorwithstatus,body, andretryAfterfields. community-icon.svgis Canva's approved, unmodified gradient icon asset.
Stars
0 stars
Log in to star this package.
Report this listing
Log in to report this listing.