Canva · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canva Connect Design API

9 actions 9 updates phrasing extends openapi/canva-design-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Canva's API. It is a proposal applied on top of the contract, not a document Canva publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/v1/designs'].get
$.paths['/v1/designs'].post
$.paths['/v1/designs/{designId}'].get
$.paths['/v1/designs/{designId}/pages'].get
$.paths['/v1/designs/{designId}/export-formats'].get
$.paths['/v1/designs/{designId}/dataset'].get
$.paths['/v1/print-partner/designs'].post
$.paths['/v1/print-partner/designs/{designId}'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Canva Connect Design API
  version: 1.0.0
extends: openapi/canva-design-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 8
- target: $.paths['/v1/designs'].get
  update:
    x-apievangelist-phrasing:
      intent: List or search my designs
      effect: read
      questions:
      - How do I list all the designs in my Canva projects?
      - Can I show only designs shared with me rather than ones I created?
      - Which designs match a search term, sorted by last edit?
      instructions:
      - text: List my designs.
      - text: Search my designs for {query}.
        slots:
          query: query.query
      - text: List designs with ownership {ownership} sorted by {sort_by}.
        slots:
          ownership: query.ownership
          sort_by: query.sort_by
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/designs'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new design
      effect: write
      questions:
      - How do I create a blank presentation or custom-size design?
      - What is the maximum size for a custom design?
      - Can I start a new design with one of my assets already inserted?
      instructions:
      - text: Create a new presentation design.
      - text: Create a custom 1080 by 1080 pixel design.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/designs/{designId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a design's metadata
      effect: read
      questions:
      - How do I get the edit and view URLs for a design?
      - Who owns a design and what does its thumbnail look like?
      instructions:
      - text: Get design {designId}.
        slots:
          designId: path.designId
      - text: Show the edit link and owner of design {designId}.
        slots:
          designId: path.designId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/designs/{designId}/pages'].get
  update:
    x-apievangelist-phrasing:
      intent: List the pages in a design
      effect: read
      questions:
      - Can I get thumbnails for each page of a design?
      - How do I fetch only a range of pages from a long presentation?
      - Do Canva docs have pages I can list?
      instructions:
      - text: List the pages of design {designId}.
        slots:
          designId: path.designId
      - text: Show {limit} pages of design {designId} starting at page {offset}.
        slots:
          limit: query.limit
          designId: path.designId
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/designs/{designId}/export-formats'].get
  update:
    x-apievangelist-phrasing:
      intent: List export formats available for a design
      effect: read
      questions:
      - Which file formats can I export this design to?
      - Can every page of my design be exported as MP4 or only some?
      instructions:
      - text: List the export formats available for design {designId}.
        slots:
          designId: path.designId
      - text: Check which pages of design {designId} support each export format.
        slots:
          designId: path.designId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/designs/{designId}/dataset'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a design's autofill data fields
      effect: read
      questions:
      - Does my design contain autofill data fields, and what types do they take?
      - How do I see the dataset definition of a regular design, not a template?
      instructions:
      - text: Get the dataset definition of design {designId}.
        slots:
          designId: path.designId
      - text: List the autofill fields in design {designId}.
        slots:
          designId: path.designId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/print-partner/designs'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a design for a print product
      effect: write
      questions:
      - As a print partner, how do I create a design from a product ID?
      - Can I set bleed and page limits when creating a print design?
      instructions:
      - text: Create a print partner design from {design_source}.
        slots:
          design_source: requestBody.design_source
      - text: Create print design {title} from {design_source} with bleed {bleed}.
        slots:
          title: requestBody.title
          design_source: requestBody.design_source
          bleed: requestBody.bleed
      - text: Create a print design from {design_source} allowing {min_pages} to {max_pages} pages.
        slots:
          design_source: requestBody.design_source
          min_pages: requestBody.min_pages
          max_pages: requestBody.max_pages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/print-partner/designs/{designId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a print partner design with proofing
      effect: read
      questions:
      - How does a print partner fetch a design's URLs with proofing settings applied?
      - Why do I have to pass bleed again when reading a print design?
      instructions:
      - text: Get print partner design {designId}.
        slots:
          designId: path.designId
      - text: Get print design {designId} with bleed {bleed} and at most {max_pages} pages.
        slots:
          designId: path.designId
          bleed: query.bleed
          max_pages: query.max_pages
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/canva-design-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.