design
Canva CLI for CI
Use the Canva CLI for CI with headless JSON commands, schema discovery, credentials, and permission controls.
7 functions 5 read 2 write Bearer token auth
Canva CLI for CI
Run integration calls from CI jobs with JSON output, explicit credentials, and predictable exit status.
Use this shape when a pipeline needs to read or update an external service. 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 CI
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.