# @canva/cli: Now with Canva REST API functionality!

**URL:** <https://community.canva.dev/t/canva-cli-now-with-canva-rest-api-functionality/8920>\
**Category:** Announcements\
**Tags:** apps-in-canva, rest-api\
**Created:** [September 23, 2026, 4:13am UTC](https://community.canva.dev/t/canva-cli-now-with-canva-rest-api-functionality/8920 "2026-09-23T04:13:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tom\_Saunders](https://avatars.discourse-cdn.com/v4/letter/t/7ba0ec/32.png) [@Tom\_Saunders](https://community.canva.dev/u/Tom_Saunders)\
**Post date:** [September 23, 2026, 4:13am UTC](https://community.canva.dev/t/canva-cli-now-with-canva-rest-api-functionality/8920/1 "2026-09-23T04:13:18Z")

</div>

# **`canva api` is here**

## Every Canva REST API, now a command away

The [Canva CLI](https://www.canva.dev/docs/apps/canva-cli/) now lets you call every public Canva REST API operation straight from your terminal. There’s no client to wire up and no tokens to juggle. Log in once, then go.

This gives users an additional avenue to interface with Canva, particularly great for automating processes like:

- Uploading a photo shoots worth of assets into Canva, ready to use in designs
- Turning a CSV of names & achievements into certificates
- Organising files at scale, with folder creation and item movement

* * *

## **Get started**

Log in, then run your first API command:

```sh
# grab the 2.13.0 release with all the cool new features
npm i -g @canva/cli@latest

canva login
canva api designs list

```

That’s it. You’re talking to the Canva REST API.

* * *

## **What you can do**

Use the CLI to discover commands, work with designs, create presentations, export files, and upload assets. Explore options with --help, then run the operation you need.

```sh
# --help explains every command and option
canva api --help
canva api designs --help
canva api designs list --help

# List your designs
canva api designs list

# Get a design
canva api designs get DAF123abc

# Create a presentation
canva api designs create --design-type preset --design-type-name presentation --title "Q3 Review"

# Export a design to PDF
canva api exports create --design-id DAF123abc --format pdf

# Upload a local file as an asset
canva api assets create-upload --file ./photo.jpg
# Check the upload job
canva api assets get-upload 
# Create a background removal image transformation
canva api image-transformations create --asset-id --name “Look ma no background” --transformations background_removal
# Check the transform job
canva api image-transformations get

```

## **Built for scripts and agents**

Every call writes exactly one JSON object to stdout. Four keys, every time:

- **ok** — did it work

- **data** — the API’s response, verbatim (or error, if it didn’t)

- **next** — the commands that usually come next

- **meta** — HTTP status and timing

Pipe the result straight into `jq`, or hand it to an AI agent and let it drive. Diagnostics stay on stderr where they belong.

* * *

## **Two extra helpers**

For parsable descriptions of a particular api command, run:

```sh
canva api describe 
# For example, list designs
canva api describe designs list

To make a direct REST API request, call the path with:
canva api get|post|put|patch|delete 
# For example, list designs
canva api get /v1/designs

```

## **Before you start**

If you logged in with an older CLI, run canva login again to authorize the new REST API scopes.

Preview APIs are labelled ‘(Preview)’ in `--help`. There might be unannounced changes as they mature.

* * *

## **Read the docs**

Find the full request guide and examples here:

> **[Making Canva REST API requests from the CLI - Canva Canva Developers SDK...](https://www.canva.dev/docs/apps/canva-cli/making-rest-api-requests/)**
>
> How to use the canva api command to make Canva REST API requests from your terminal.

Need more inspiration? Everything in [this guide to using the autofill API](https://www.canva.dev/docs/apps/rest-apis/autofill-guide/) could now be done with the CLI.
