Skip to content
← Public packages

@kody/canva

Create, organize, collaborate on, import, and export Canva content through the Connect API.

Featured
  • Other
  • canva
  • design
  • assets
  • folders
  • comments
  • import
  • export
  • oauth
Version
1.0.0
License
MIT
Published
September 10, 2026
Pinned commit
c7006c6
Rating
No ratings yet
Forks
1
Adaptation effort
—

@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:

https://kody.codes/connect/oauth?provider=canva&authorizeUrl=https%3A%2F%2Fwww.canva.com%2Fapi%2Foauth%2Fauthorize&tokenUrl=https%3A%2F%2Fapi.canva.com%2Frest%2Fv1%2Foauth%2Ftoken&apiBaseUrl=https%3A%2F%2Fapi.canva.com&scopes=asset%3Aread%20asset%3Awrite%20brandtemplate%3Acontent%3Aread%20brandtemplate%3Acontent%3Awrite%20brandtemplate%3Ameta%3Aread%20comment%3Aread%20comment%3Awrite%20design%3Acontent%3Aread%20design%3Acontent%3Awrite%20design%3Ameta%3Aread%20folder%3Aread%20folder%3Awrite%20folder%3Apermission%3Awrite%20profile%3Aread&flow=confidential&pkce=true&allowedHosts=api.canva.com%2Cwww.canva.com&dashboardUrl=https%3A%2F%2Fwww.canva.com%2Fdevelopers%2Fintegrations

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:write
  • brandtemplate:content:read, brandtemplate:content:write, brandtemplate:meta:read
  • comment:read, comment:write
  • design:content:read, design:content:write, design:meta:read
  • folder:read, folder:write, folder:permission:write
  • profile:read

Agents: see AGENTS.md for import paths, smoke, and dryRun.

Done when

  • The canva OAuth 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: true never 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.

Report this listing

Log in to report this listing.