@kody/canva
Create, organize, collaborate on, import, and export Canva content through the Connect API.
README.md
73 lines · 3.5 KB · Markdown@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.
This listing is meant to be forked. After you fork, connect your Canva
account. Do not treat the live @kody/canva integration as yours.
Share this listing as https://kody.codes/@kody/canva
This official OAuth package is the preferred invoke path. Setup is harder:
connect your own Canva OAuth app. For a faster first win, connect Canva MCP in
Get started and use @kody/canva-mcp.
What it does
- Create, inspect, search, resize, merge, import, or export Canva designs
- Upload, inspect, rename, tag, or delete assets
- Create and organize folders; list or move their contents
- Read and write comment threads and replies
- Work with brand templates, autofill datasets, user capabilities, and OIDC
- Dispatch any supported Connect operation by lowercase OpenAPI slug via
./api
Mutations (POST / PATCH / DELETE) require explicit confirmation and
support dry-run previews. Preview APIs are marked in the operations catalog and
can change without notice.
Prerequisites / setup
Canva has no built-in Kody OAuth app. Create a Canva Connect API
integration, set the redirect URI exactly to
https://kody.codes/connect/oauth, and save the OAuth integration in Kody as
canva. Never paste a client secret into chat.
Connect while signed in to Kody:
Reconnect later with https://kody.codes/connect/oauth?provider=canva
OAuth authorize URL: https://www.canva.com/api/oauth/authorize. Token URL:
https://api.canva.com/rest/v1/oauth/token. Flow: confidential (client secret)
plus S256 PKCE. Canva scopes are space-separated.
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
Agents: see AGENTS.md for import paths, smoke, and dryRun.
Done when
- The
canvaOAuth integration is connected; hosts and needed scopes are approved - Smoke test returns
{ ok: true }with status/shape only (no profile PII) - Mutations refuse without
confirm: true;dryRun: truenever calls Canva
Branding
Official Canva “C” mark on the approved teal–purple gradient from Canva brand
assets. Paths are unmodified. Canva® is a trademark of Canva. This package is
not affiliated with or endorsed by Canva. community-icon.svg is Canva's
approved, unmodified gradient icon asset.