design
Canva CLI for Headless Automation
Use the Canva CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.
7 functions 5 read 2 write Bearer token auth
Canva CLI for Headless Automation
Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.
Use headless automation when another tool needs a stable local command surface. The Canva CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.
Command Shape
# Canva CLI for Headless Automation
kosmokrator integrations:configure canva --set access_token="$CANVA_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call canva.canva_list_designs '{"limit":1,"continuation":"example_continuation","query":"example_query","type":"example_type"}' --json Discovery Before Execution
Agents and scripts can inspect Canva docs and schemas before choosing a function.
kosmo integrations:docs canva --json
kosmo integrations:docs canva.canva_list_designs --json
kosmo integrations:schema canva.canva_list_designs --json
kosmo integrations:search "Canva" --json
kosmo integrations:list --json Useful Canva CLI Functions
| Function | Type | Parameters | Description |
|---|---|---|---|
canva.canva_list_designs | Read | limit, continuation, query, type | List designs the user has access to in Canva. Supports filtering by search query and design type. Returns design titles and IDs that can be used with canva_get_design. |
canva.canva_get_design | Read | design_id | Get details of a specific Canva design by its ID, including title, type, dimensions, and URLs. |
canva.canva_create_design | Write | title, type, width, height | Create a new design in Canva. Specify a title and optionally a type (e.g., "presentation", "poster") and dimensions (width/height in pixels). |
canva.canva_list_folders | Read | limit, continuation | List folders the user has access to in Canva. Returns folder names and IDs that can be used with canva_get_folder. |
canva.canva_get_folder | Read | folder_id | Get details of a specific Canva folder by its ID, including name and contained items. |
canva.canva_upload_asset | Write | file_url, name, folder_id | Upload an asset to Canva from a URL. The file is imported into the user's Canva account and can optionally be placed in a specific folder. |
canva.canva_get_current_user | Read | none | Get the authenticated Canva user's profile information, including display name and user ID. |
Automation Notes
- Use
--jsonfor machine-readable output. - Keep credentials out of argv by using environment variables or stored KosmoKrator configuration.
- Configure read/write policy before unattended runs; use
--forceonly for trusted automation. - Use the MCP gateway instead when the agent needs dynamic tool discovery inside a conversation.