Use the Canva CLI from KosmoKrator to call Canva tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Canva can be configured headlessly with `kosmokrator integrations:configure canva`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure canva --set access_token="$CANVA_ACCESS_TOKEN" --enable --read allow --write ask --jsonkosmokrator integrations:doctor canva --jsonkosmokrator integrations:status --json
Credentials
Authentication type: Bearer tokenbearer_token. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
CANVA_ACCESS_TOKEN
Secret secret
yes
Access Token
url
CANVA_URL
URL url
no
Canva API URL
Call Canva Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Canva.
canva.canva_list_designs
Read read
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.
Use these parameter tables when building CLI payloads without calling integrations:schema first.
canva.canva_list_designs
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.
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.