create_design | Create a new design (blank designs never edited are deleted by Canva after 7 days). Arguments: design_type (object, optional) — either { type: “preset”, name: “doc” | “email” | “presentation” | “whiteboard” } or { type: “custom”, width: integer 40-8000 px, height: integer 40-8000 px, width × height ≤ 25,000,000 }; title (string 1-255, optional); asset_id (string, optional — an image asset to place in the design). At least one of design_type or asset_id is required. |
create_design_export_job | Start exporting a design to a file; poll get_design_export_job with the returned job.id. Arguments: design_id (string, required); format (object, required), by format.type — “pdf”: export_quality (“regular”|“pro”), size (“a4”|“a3”|“letter”|“legal”, Canva Docs only), pages; “jpg”: quality (integer 1-100, REQUIRED), export_quality, width/height (integer 40-25000 px), pages; “png”: export_quality, width/height, lossless (boolean), transparent_background (boolean), as_single_image (boolean), pages; “pptx”: pages; “gif”: export_quality, width/height, pages; “mp4”: quality (REQUIRED: horizontal_480p|horizontal_720p|horizontal_1080p|horizontal_4k|vertical_480p|vertical_720p|vertical_1080p|vertical_4k), export_quality, pages; “html_bundle” / “html_standalone”: pages (one page); “csv”: pages. pages = array of integers ≥ 1, omitted = all pages. |
create_folder | Create a folder. Arguments: name (string 1-255, required); parent_folder_id (string, required — “root” = top level of Projects, “uploads” = Uploads folder, or a folder ID). |
create_url_import_job | Import a publicly reachable file (PDF, PowerPoint, Word, Keynote, Illustrator…) from a URL as a new Canva design; poll get_url_import_job with the returned job.id. Arguments: title (string 1-255, required); url (string ≤ 2048, required — public URL); mime_type (string, optional — auto-detected when omitted). |
move_folder_item | Move a design, folder or image into another folder. Arguments: item_id (string, required — video assets not supported); to_folder_id (string, required — “root” = top level of Projects). Fails with item_in_multiple_folders if the item sits in several folders. |
update_asset | Rename an asset and/or replace its tags. Arguments: assetId (string, required); name (string ≤ 50, optional); tags (array of strings ≤ 50 chars, max 50, optional — REPLACES all existing tags). |
update_folder | Rename a folder. Arguments: folderId (string, required); name (string 1-255, required — new name). |