productivity
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.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: oauth bearer oauth_bearer. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | CANVA_ACCESS_TOKEN | Secret secret | yes | Access Token |
client_id | CANVA_CLIENT_ID | Text text | no | OAuth Client ID |
client_secret | CANVA_CLIENT_SECRET | Secret secret | no | OAuth Client Secret |
url | CANVA_URL | URL url | no | Canva API URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call canva.canva_get_app_jwks '{}' --json kosmo integrations:canva canva_get_app_jwks '{}' --json Discovery
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_get_app_jwks --json
kosmo integrations:schema canva.canva_get_app_jwks --json
kosmo integrations:search "Canva" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
canva.canva_get_app_jwks
Returns the Json Web Key Set (public keys) of an app.
read - Parameters
- none
kosmo integrations:call canva.canva_get_app_jwks '{}' --json kosmo integrations:canva canva_get_app_jwks '{}' --json canva.canva_delete_asset
You can delete an asset by specifying its assetId.
write - Parameters
- none
kosmo integrations:call canva.canva_delete_asset '{}' --json kosmo integrations:canva canva_delete_asset '{}' --json canva.canva_get_asset
You can retrieve the metadata of an asset by specifying its assetId.
read - Parameters
- none
kosmo integrations:call canva.canva_get_asset '{}' --json kosmo integrations:canva canva_get_asset '{}' --json canva.canva_update_asset
You can update the name and tags of an asset by specifying its assetId.
write - Parameters
- none
kosmo integrations:call canva.canva_update_asset '{}' --json kosmo integrations:canva canva_update_asset '{}' --json canva.canva_create_asset_upload_job
Starts a new to upload an asset to the user's content library.
write - Parameters
- none
kosmo integrations:call canva.canva_create_asset_upload_job '{}' --json kosmo integrations:canva canva_create_asset_upload_job '{}' --json canva.canva_get_asset_upload_job
Get the result of an asset upload job that was created using the .
read - Parameters
- none
kosmo integrations:call canva.canva_get_asset_upload_job '{}' --json kosmo integrations:canva canva_get_asset_upload_job '{}' --json canva.canva_create_url_asset_upload_job
Execute the Canva create url asset upload job operation.
write - Parameters
- none
kosmo integrations:call canva.canva_create_url_asset_upload_job '{}' --json kosmo integrations:canva canva_create_url_asset_upload_job '{}' --json canva.canva_get_url_asset_upload_job
Execute the Canva get url asset upload job operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_url_asset_upload_job '{}' --json kosmo integrations:canva canva_get_url_asset_upload_job '{}' --json canva.canva_create_design_autofill_job
Execute the Canva create design autofill job operation.
write - Parameters
- none
kosmo integrations:call canva.canva_create_design_autofill_job '{}' --json kosmo integrations:canva canva_create_design_autofill_job '{}' --json canva.canva_get_design_autofill_job
Execute the Canva get design autofill job operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_design_autofill_job '{}' --json kosmo integrations:canva canva_get_design_autofill_job '{}' --json canva.canva_list_brand_templates
Execute the Canva list brand templates operation.
read - Parameters
- none
kosmo integrations:call canva.canva_list_brand_templates '{}' --json kosmo integrations:canva canva_list_brand_templates '{}' --json canva.canva_get_brand_template
Execute the Canva get brand template operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_brand_template '{}' --json kosmo integrations:canva canva_get_brand_template '{}' --json canva.canva_get_brand_template_dataset
Execute the Canva get brand template dataset operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_brand_template_dataset '{}' --json kosmo integrations:canva canva_get_brand_template_dataset '{}' --json canva.canva_create_comment
This API is deprecated, so you should use the API instead.
write - Parameters
- none
kosmo integrations:call canva.canva_create_comment '{}' --json kosmo integrations:canva canva_create_comment '{}' --json canva.canva_create_reply_deprecated
This API is deprecated, so you should use the API instead.
write - Parameters
- none
kosmo integrations:call canva.canva_create_reply_deprecated '{}' --json kosmo integrations:canva canva_create_reply_deprecated '{}' --json canva.canva_list_replies
Execute the Canva list replies operation.
read - Parameters
- none
kosmo integrations:call canva.canva_list_replies '{}' --json kosmo integrations:canva canva_list_replies '{}' --json canva.canva_create_reply
Execute the Canva create reply operation.
write - Parameters
- none
kosmo integrations:call canva.canva_create_reply '{}' --json kosmo integrations:canva canva_create_reply '{}' --json canva.canva_get_thread
Execute the Canva get thread operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_thread '{}' --json kosmo integrations:canva canva_get_thread '{}' --json canva.canva_get_reply
Execute the Canva get reply operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_reply '{}' --json kosmo integrations:canva canva_get_reply '{}' --json canva.canva_create_thread
Execute the Canva create thread operation.
write - Parameters
- none
kosmo integrations:call canva.canva_create_thread '{}' --json kosmo integrations:canva canva_create_thread '{}' --json canva.canva_get_signing_public_keys
Execute the Canva get signing public keys operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_signing_public_keys '{}' --json kosmo integrations:canva canva_get_signing_public_keys '{}' --json canva.canva_list_designs
Lists metadata for all the designs in a Canva user's .
read - Parameters
- none
kosmo integrations:call canva.canva_list_designs '{}' --json kosmo integrations:canva canva_list_designs '{}' --json canva.canva_create_design
Creates a new Canva design.
write - Parameters
- none
kosmo integrations:call canva.canva_create_design '{}' --json kosmo integrations:canva canva_create_design '{}' --json canva.canva_get_design
Gets the metadata for a design.
read - Parameters
- none
kosmo integrations:call canva.canva_get_design '{}' --json kosmo integrations:canva canva_get_design '{}' --json canva.canva_get_design_pages
Execute the Canva get design pages operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_design_pages '{}' --json kosmo integrations:canva canva_get_design_pages '{}' --json canva.canva_get_design_export_formats
Lists the available file formats for .
read - Parameters
- none
kosmo integrations:call canva.canva_get_design_export_formats '{}' --json kosmo integrations:canva canva_get_design_export_formats '{}' --json canva.canva_create_design_import_job
Starts a new to import an external file as a new design in Canva.
write - Parameters
- none
kosmo integrations:call canva.canva_create_design_import_job '{}' --json kosmo integrations:canva canva_create_design_import_job '{}' --json canva.canva_get_design_import_job
Gets the result of a design import job created using the .
read - Parameters
- none
kosmo integrations:call canva.canva_get_design_import_job '{}' --json kosmo integrations:canva canva_get_design_import_job '{}' --json canva.canva_create_url_import_job
Starts a new to import an external file from a URL as a new design in Canva.
write - Parameters
- none
kosmo integrations:call canva.canva_create_url_import_job '{}' --json kosmo integrations:canva canva_create_url_import_job '{}' --json canva.canva_get_url_import_job
Gets the result of a URL import job created using the .
read - Parameters
- none
kosmo integrations:call canva.canva_get_url_import_job '{}' --json kosmo integrations:canva canva_get_url_import_job '{}' --json canva.canva_create_design_export_job
Starts a new to export a file from Canva.
write - Parameters
- none
kosmo integrations:call canva.canva_create_design_export_job '{}' --json kosmo integrations:canva canva_create_design_export_job '{}' --json canva.canva_get_design_export_job
Gets the result of a design export job that was created using the .
read - Parameters
- none
kosmo integrations:call canva.canva_get_design_export_job '{}' --json kosmo integrations:canva canva_get_design_export_job '{}' --json canva.canva_delete_folder
Deletes a folder with the specified folderID.
write - Parameters
- none
kosmo integrations:call canva.canva_delete_folder '{}' --json kosmo integrations:canva canva_delete_folder '{}' --json canva.canva_get_folder
Gets the name and other details of a folder using a folder's folderID.
read - Parameters
- none
kosmo integrations:call canva.canva_get_folder '{}' --json kosmo integrations:canva canva_get_folder '{}' --json canva.canva_update_folder
Updates a folder's details using its folderID.
write - Parameters
- none
kosmo integrations:call canva.canva_update_folder '{}' --json kosmo integrations:canva canva_update_folder '{}' --json canva.canva_list_folder_items
Lists the items in a folder, including each item's type.
read - Parameters
- none
kosmo integrations:call canva.canva_list_folder_items '{}' --json kosmo integrations:canva canva_list_folder_items '{}' --json canva.canva_move_folder_item
Moves an item to another folder.
write - Parameters
- none
kosmo integrations:call canva.canva_move_folder_item '{}' --json kosmo integrations:canva canva_move_folder_item '{}' --json canva.canva_create_folder
Creates a folder in one of the following locations: - The top level of a Canva user's (using the ID root), - The user's Uploads folder (using the ID uploads), - Another folder (using the parent folder's ID).
write - Parameters
- none
kosmo integrations:call canva.canva_create_folder '{}' --json kosmo integrations:canva canva_create_folder '{}' --json canva.canva_exchange_access_token
This endpoint implements the OAuth 2.0 token endpoint, as part of the Authorization Code flow with Proof Key for Code Exchange (PKCE).
write - Parameters
- none
kosmo integrations:call canva.canva_exchange_access_token '{}' --json kosmo integrations:canva canva_exchange_access_token '{}' --json canva.canva_introspect_token
Introspect an access token to see whether it is valid and active.
write - Parameters
- none
kosmo integrations:call canva.canva_introspect_token '{}' --json kosmo integrations:canva canva_introspect_token '{}' --json canva.canva_revoke_tokens
Revoke an access token or a refresh token.
write - Parameters
- none
kosmo integrations:call canva.canva_revoke_tokens '{}' --json kosmo integrations:canva canva_revoke_tokens '{}' --json canva.canva_get_oidc_jwks
Gets the JSON Web Key Set (public keys) for OIDC.
read - Parameters
- none
kosmo integrations:call canva.canva_get_oidc_jwks '{}' --json kosmo integrations:canva canva_get_oidc_jwks '{}' --json canva.canva_get_oidc_user_info
Fetches the current UserInfo claims for the authorized user.
read - Parameters
- none
kosmo integrations:call canva.canva_get_oidc_user_info '{}' --json kosmo integrations:canva canva_get_oidc_user_info '{}' --json canva.canva_create_design_resize_job
Execute the Canva create design resize job operation.
write - Parameters
- none
kosmo integrations:call canva.canva_create_design_resize_job '{}' --json kosmo integrations:canva canva_create_design_resize_job '{}' --json canva.canva_get_design_resize_job
Execute the Canva get design resize job operation.
read - Parameters
- none
kosmo integrations:call canva.canva_get_design_resize_job '{}' --json kosmo integrations:canva canva_get_design_resize_job '{}' --json canva.canva_get_current_user
Returns the User ID and Team ID of the user account associated with the provided access token.
read - Parameters
- none
kosmo integrations:call canva.canva_get_current_user '{}' --json kosmo integrations:canva canva_get_current_user '{}' --json canva.canva_get_user_capabilities
Lists the API capabilities for the user account associated with the provided access token.
read - Parameters
- none
kosmo integrations:call canva.canva_get_user_capabilities '{}' --json kosmo integrations:canva canva_get_user_capabilities '{}' --json canva.canva_get_user_profile
Currently, this returns the display name of the user account associated with the provided access token.
read - Parameters
- none
kosmo integrations:call canva.canva_get_user_profile '{}' --json kosmo integrations:canva canva_get_user_profile '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
canva.canva_get_app_jwks 0 parameters
kosmo integrations:schema canva.canva_get_app_jwks --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_delete_asset 0 parameters
kosmo integrations:schema canva.canva_delete_asset --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_asset 0 parameters
kosmo integrations:schema canva.canva_get_asset --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_update_asset 0 parameters
kosmo integrations:schema canva.canva_update_asset --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_asset_upload_job 0 parameters
kosmo integrations:schema canva.canva_create_asset_upload_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_asset_upload_job 0 parameters
kosmo integrations:schema canva.canva_get_asset_upload_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_url_asset_upload_job 0 parameters
kosmo integrations:schema canva.canva_create_url_asset_upload_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_url_asset_upload_job 0 parameters
kosmo integrations:schema canva.canva_get_url_asset_upload_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_design_autofill_job 0 parameters
kosmo integrations:schema canva.canva_create_design_autofill_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design_autofill_job 0 parameters
kosmo integrations:schema canva.canva_get_design_autofill_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_list_brand_templates 0 parameters
kosmo integrations:schema canva.canva_list_brand_templates --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_brand_template 0 parameters
kosmo integrations:schema canva.canva_get_brand_template --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_brand_template_dataset 0 parameters
kosmo integrations:schema canva.canva_get_brand_template_dataset --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_comment 0 parameters
kosmo integrations:schema canva.canva_create_comment --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_reply_deprecated 0 parameters
kosmo integrations:schema canva.canva_create_reply_deprecated --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_list_replies 0 parameters
kosmo integrations:schema canva.canva_list_replies --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_reply 0 parameters
kosmo integrations:schema canva.canva_create_reply --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_thread 0 parameters
kosmo integrations:schema canva.canva_get_thread --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_reply 0 parameters
kosmo integrations:schema canva.canva_get_reply --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_thread 0 parameters
kosmo integrations:schema canva.canva_create_thread --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_signing_public_keys 0 parameters
kosmo integrations:schema canva.canva_get_signing_public_keys --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_list_designs 0 parameters
kosmo integrations:schema canva.canva_list_designs --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_design 0 parameters
kosmo integrations:schema canva.canva_create_design --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design 0 parameters
kosmo integrations:schema canva.canva_get_design --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design_pages 0 parameters
kosmo integrations:schema canva.canva_get_design_pages --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design_export_formats 0 parameters
kosmo integrations:schema canva.canva_get_design_export_formats --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_design_import_job 0 parameters
kosmo integrations:schema canva.canva_create_design_import_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design_import_job 0 parameters
kosmo integrations:schema canva.canva_get_design_import_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_url_import_job 0 parameters
kosmo integrations:schema canva.canva_create_url_import_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_url_import_job 0 parameters
kosmo integrations:schema canva.canva_get_url_import_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_design_export_job 0 parameters
kosmo integrations:schema canva.canva_create_design_export_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design_export_job 0 parameters
kosmo integrations:schema canva.canva_get_design_export_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_delete_folder 0 parameters
kosmo integrations:schema canva.canva_delete_folder --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_folder 0 parameters
kosmo integrations:schema canva.canva_get_folder --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_update_folder 0 parameters
kosmo integrations:schema canva.canva_update_folder --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_list_folder_items 0 parameters
kosmo integrations:schema canva.canva_list_folder_items --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_move_folder_item 0 parameters
kosmo integrations:schema canva.canva_move_folder_item --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_folder 0 parameters
kosmo integrations:schema canva.canva_create_folder --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_exchange_access_token 0 parameters
kosmo integrations:schema canva.canva_exchange_access_token --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_introspect_token 0 parameters
kosmo integrations:schema canva.canva_introspect_token --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_revoke_tokens 0 parameters
kosmo integrations:schema canva.canva_revoke_tokens --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_oidc_jwks 0 parameters
kosmo integrations:schema canva.canva_get_oidc_jwks --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_oidc_user_info 0 parameters
kosmo integrations:schema canva.canva_get_oidc_user_info --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_create_design_resize_job 0 parameters
kosmo integrations:schema canva.canva_create_design_resize_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_design_resize_job 0 parameters
kosmo integrations:schema canva.canva_get_design_resize_job --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_current_user 0 parameters
kosmo integrations:schema canva.canva_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_user_capabilities 0 parameters
kosmo integrations:schema canva.canva_get_user_capabilities --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
canva.canva_get_user_profile 0 parameters
kosmo integrations:schema canva.canva_get_user_profile --json | Parameter | Type | Required | Description |
|---|---|---|---|
| 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.