For Agents
Create, autofill, export, and comment on Canva designs from an external app. Useful for content automation, brand-template factories, and asset management workflows acting on behalf of a Canva user.
Get started with Canva Connect API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"autofill a Canva brand template"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Canva Connect API API.
Autofill a brand template with row data to generate hundreds of on-brand designs
Export a design to PNG, PDF, MP4, or other formats and poll the export job to completion
Upload assets via direct upload or URL ingest and reference them inside designs
Create, retrieve, and list designs and their pages programmatically
GET STARTED
Use for: Autofill a Canva brand template with a row of campaign data, I want to export a design as a PDF and download the result, Upload a logo asset and reference it inside a design, Find all designs in a specific Canva folder
Not supported: Does not handle billing, team admin, or print fulfilment — use for design creation, autofill, asset upload, comments, and export only.
Jentic publishes the only available OpenAPI document for Canva Connect API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Canva Connect API, keeping it validated and agent-ready. The Canva Connect API lets external applications build directly on Canva — creating designs, importing source files, exporting in multiple formats, autofilling brand templates with structured data, uploading and managing assets, and reading or writing comments inside designs. It supports OAuth 2.0 user-context flows so apps can act on behalf of a Canva account, plus a Basic auth path for connect-key management. Marketing automation, content factories, and embedded design tools use it to programmatically produce on-brand assets at scale.
Post and reply to comments on a design or comment thread to coordinate review
Import source files into Canva and convert them into editable designs
Patterns agents use Canva Connect API API for, with concrete tasks.
★ Programmatic Brand Template Autofill
Marketing teams maintain a Canva brand template for ads or product cards and need to generate hundreds of variants per campaign. POST /v1/autofills accepts a brand template id and a row of field data, then returns a job that produces the rendered design. Polling /v1/autofills/{jobId} returns the design id once ready, which can then be exported to PNG or PDF.
POST /v1/autofills with brand_template_id and a row of field values, poll GET /v1/autofills/{jobId} until status is success, then call POST /v1/exports for the resulting design id.
Content Pipeline Export
A content pipeline needs final assets out of Canva in a downstream-friendly format. POST /v1/exports kicks off an export with the requested format and quality settings, and GET /v1/exports/{exportId} returns the download URLs once the job finishes. The same flow handles single-page PNG exports and multi-page PDF deliverables.
POST /v1/exports with the design_id and format=pdf, then poll GET /v1/exports/{exportId} until the job returns a download URL.
Asset Library Sync
Apps that manage brand assets sync logos, photography, and product imagery into Canva so designers can drop them into templates. POST /v1/asset-uploads handles direct uploads, while POST /v1/url-asset-uploads ingests by URL for assets already hosted elsewhere. Both return a jobId to poll, and the resulting asset id can be referenced inside designs.
POST /v1/url-asset-uploads with the asset URL and name fields, then poll GET /v1/url-asset-uploads/{jobId} until the asset is registered.
AI Agent Design Generation
An agent that writes ad copy and selects imagery hands the final spec to Canva via Jentic to render a finished design. The agent searches for the autofill operation, loads the schema, supplies the brand template id and copy fields, and exports the result — all without storing Canva OAuth tokens itself.
Search Jentic for 'autofill a Canva brand template', load the createDesignAutofillJob schema, and execute POST /v1/autofills with brand_template_id and the data row.
46 endpoints — jentic publishes the only available openapi specification for canva connect api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/v1/autofills
Start a brand template autofill job
/v1/exports
Submit a design export job
/v1/designs
Create a new design
/v1/asset-uploads
Upload an asset directly
/v1/url-asset-uploads
Upload an asset from a URL
/v1/brand-templates
List brand templates
/v1/designs/{designId}/comments
Comment on a design
/v1/autofills
Start a brand template autofill job
/v1/exports
Submit a design export job
/v1/designs
Create a new design
/v1/asset-uploads
Upload an asset directly
/v1/url-asset-uploads
Upload an asset from a URL
Three things that make agents converge on Jentic-routed access.
Credential isolation
Canva OAuth 2.0 access and refresh tokens are stored encrypted in the Jentic vault and refreshed automatically by MAXsystem. Agents call Canva via scoped tokens and never receive the raw OAuth secret.
Intent-based discovery
Agents search Jentic by intent (e.g., 'autofill a brand template' or 'export a design as PDF') and Jentic returns the matching Canva operation with its input schema, so the agent picks the right one of the 46 endpoints without browsing docs.
Time to first call
Direct Canva Connect integration: 3-5 days for OAuth setup, asset upload polling, and export job handling. Through Jentic: under 2 hours — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
CanvasFlare
Templated image generation via API without a full design tool
Choose CanvasFlare when you only need server-side image rendering from templates; choose Canva Connect when you also need editable designs and brand templates.
Cantrip API
Publish Canva-exported assets into a CMS as featured images
Use Canva to export the asset, then Cantrip to publish a post that references it.
Captivated
Send Canva-generated assets to customers through messaging
Use Canva to produce the asset; Captivated to deliver it via a customer conversation.
Specific to using Canva Connect API API through Jentic.
Why is there no official OpenAPI spec for Canva Connect API?
Canva does not publish the Connect API as an OpenAPI specification on their developer site. Jentic generates and maintains this spec so that AI agents and developers can call Canva Connect API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Canva Connect API use?
Canva Connect uses OAuth 2.0 authorization code flow for user-scoped operations and Basic auth for connect key management. Through Jentic, the OAuth tokens are stored encrypted in the vault and refreshed automatically, so the agent never sees the raw access token.
Can I autofill a brand template with the Canva Connect API?
Yes. POST /v1/autofills with a brand_template_id and a data row containing the field values. The endpoint returns a jobId; poll GET /v1/autofills/{jobId} until the status is success and use the returned design id.
How do I export a design as a PDF through Jentic?
Search Jentic for 'export a Canva design', load the createDesignExportJob operation, and execute POST /v1/exports with the design_id and the desired format. Poll GET /v1/exports/{exportId} until the download URLs are returned.
What are the rate limits for the Canva Connect API?
Canva applies per-integration rate limits that are not enumerated in the spec. Most autofill and export endpoints are job-based, so design at one job per request and back off on 429 responses. Check the Canva developer dashboard for your app's quotas.
Can I upload an asset from a URL?
Yes. POST /v1/url-asset-uploads with the asset URL and metadata kicks off an ingest job. Poll GET /v1/url-asset-uploads/{jobId} for completion, and reference the returned asset id when creating or autofilling designs.
/v1/brand-templates
List brand templates
/v1/designs/{designId}/comments
Comment on a design