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'