KosmoKrator

design

Canva CLI for AI Agents

Use the Canva CLI from KosmoKrator to call Canva tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

7 functions 5 read 2 write Bearer token auth

Canva CLI Setup

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 --json
kosmokrator integrations:doctor canva --json
kosmokrator integrations:status --json

Credentials

Authentication type: Bearer token bearer_token. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
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.

kosmo integrations:call canva.canva_list_designs '{
  "limit": 1,
  "continuation": "example_continuation",
  "query": "example_query",
  "type": "example_type"
}' --json

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations:canva canva_list_designs '{
  "limit": 1,
  "continuation": "example_continuation",
  "query": "example_query",
  "type": "example_type"
}' --json

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities 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

All CLI Functions

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.

Parameters
limit, continuation, query, type

Generic CLI call

kosmo integrations:call canva.canva_list_designs '{"limit":1,"continuation":"example_continuation","query":"example_query","type":"example_type"}' --json

Provider shortcut

kosmo integrations:canva canva_list_designs '{"limit":1,"continuation":"example_continuation","query":"example_query","type":"example_type"}' --json

canva.canva_get_design

Read read

Get details of a specific Canva design by its ID, including title, type, dimensions, and URLs.

Parameters
design_id

Generic CLI call

kosmo integrations:call canva.canva_get_design '{"design_id":"example_design_id"}' --json

Provider shortcut

kosmo integrations:canva canva_get_design '{"design_id":"example_design_id"}' --json

canva.canva_create_design

Write write

Create a new design in Canva. Specify a title and optionally a type (e.g., "presentation", "poster") and dimensions (width/height in pixels).

Parameters
title, type, width, height

Generic CLI call

kosmo integrations:call canva.canva_create_design '{"title":"example_title","type":"example_type","width":1,"height":1}' --json

Provider shortcut

kosmo integrations:canva canva_create_design '{"title":"example_title","type":"example_type","width":1,"height":1}' --json

canva.canva_list_folders

Read read

List folders the user has access to in Canva. Returns folder names and IDs that can be used with canva_get_folder.

Parameters
limit, continuation

Generic CLI call

kosmo integrations:call canva.canva_list_folders '{"limit":1,"continuation":"example_continuation"}' --json

Provider shortcut

kosmo integrations:canva canva_list_folders '{"limit":1,"continuation":"example_continuation"}' --json

canva.canva_get_folder

Read read

Get details of a specific Canva folder by its ID, including name and contained items.

Parameters
folder_id

Generic CLI call

kosmo integrations:call canva.canva_get_folder '{"folder_id":"example_folder_id"}' --json

Provider shortcut

kosmo integrations:canva canva_get_folder '{"folder_id":"example_folder_id"}' --json

canva.canva_upload_asset

Write write

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.

Parameters
file_url, name, folder_id

Generic CLI call

kosmo integrations:call canva.canva_upload_asset '{"file_url":"example_file_url","name":"example_name","folder_id":"example_folder_id"}' --json

Provider shortcut

kosmo integrations:canva canva_upload_asset '{"file_url":"example_file_url","name":"example_name","folder_id":"example_folder_id"}' --json

canva.canva_get_current_user

Read read

Get the authenticated Canva user's profile information, including display name and user ID.

Parameters
none

Generic CLI call

kosmo integrations:call canva.canva_get_current_user '{}' --json

Provider shortcut

kosmo integrations:canva canva_get_current_user '{}' --json

Function Schemas

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.

Operation
Read read
Schema command
kosmo integrations:schema canva.canva_list_designs --json
ParameterTypeRequiredDescription
limit integer no Maximum number of designs to return (1–100, default 50).
continuation string no Cursor for pagination — pass the continuation token from a previous response to get the next page.
query string no Search query to filter designs by title.
type string no Filter by design type (e.g., "presentation", "poster", "social_media", "video", "document").

canva.canva_get_design

Get details of a specific Canva design by its ID, including title, type, dimensions, and URLs.

Operation
Read read
Schema command
kosmo integrations:schema canva.canva_get_design --json
ParameterTypeRequiredDescription
design_id string yes The ID of the design to retrieve.

canva.canva_create_design

Create a new design in Canva. Specify a title and optionally a type (e.g., "presentation", "poster") and dimensions (width/height in pixels).

Operation
Write write
Schema command
kosmo integrations:schema canva.canva_create_design --json
ParameterTypeRequiredDescription
title string yes The title for the new design.
type string no The type of design to create (e.g., "presentation", "poster", "social_media", "video", "document").
width integer no Width of the design in pixels.
height integer no Height of the design in pixels.

canva.canva_list_folders

List folders the user has access to in Canva. Returns folder names and IDs that can be used with canva_get_folder.

Operation
Read read
Schema command
kosmo integrations:schema canva.canva_list_folders --json
ParameterTypeRequiredDescription
limit integer no Maximum number of folders to return (1–100, default 50).
continuation string no Cursor for pagination — pass the continuation token from a previous response to get the next page.

canva.canva_get_folder

Get details of a specific Canva folder by its ID, including name and contained items.

Operation
Read read
Schema command
kosmo integrations:schema canva.canva_get_folder --json
ParameterTypeRequiredDescription
folder_id string yes The ID of the folder to retrieve.

canva.canva_upload_asset

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.

Operation
Write write
Schema command
kosmo integrations:schema canva.canva_upload_asset --json
ParameterTypeRequiredDescription
file_url string yes The URL of the file to upload (must be publicly accessible).
name string yes The name for the uploaded asset in Canva.
folder_id string no Optional folder ID to upload the asset into. Use canva_list_folders to find folder IDs.

canva.canva_get_current_user

Get the authenticated Canva user's profile information, including display name and user ID.

Operation
Read read
Schema command
kosmo integrations:schema canva.canva_get_current_user --json
ParameterTypeRequiredDescription
No parameters.

Permissions

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.