# 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 Asset API version: 1.0.0 extends: openapi/canva-asset-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: 7 - target: $.paths['/v1/assets/{assetId}'].get update: x-apievangelist-phrasing: intent: Get an asset's metadata effect: read questions: - How do I look up the name, tags and thumbnail of an uploaded asset? - What details can I retrieve for an image in my content library? instructions: - text: Get the metadata for asset {assetId}. slots: assetId: path.assetId - text: Show the name and tags of asset {assetId}. slots: assetId: path.assetId method: generated generated: '2026-09-26' - target: $.paths['/v1/assets/{assetId}'].delete update: x-apievangelist-phrasing: intent: Delete an asset effect: destructive questions: - Can I remove an asset from my Canva library through the API? - Does deleting an asset remove it from designs that already use it? - Where does a deleted asset go, is it permanent? instructions: - text: Delete asset {assetId}. slots: assetId: path.assetId - text: Move asset {assetId} to the trash. slots: assetId: path.assetId method: generated generated: '2026-09-26' - target: $.paths['/v1/assets/{assetId}'].patch update: x-apievangelist-phrasing: intent: Rename or retag an asset effect: write questions: - How do I rename an asset in my content library? - Does updating an asset's tags replace the tags it already has? instructions: - text: Rename asset {assetId} to {name}. slots: assetId: path.assetId name: requestBody.name - text: Replace the tags on asset {assetId} with {tags}. slots: assetId: path.assetId tags: requestBody.tags method: generated generated: '2026-09-26' - target: $.paths['/v1/asset-uploads'].post update: x-apievangelist-phrasing: intent: Upload a file as an asset effect: write questions: - How do I upload an image file from disk into a user's content library? - Where do I put the asset name when uploading raw file bytes? - Which file types can I upload as assets? instructions: - text: Upload this file to my content library with metadata {metadata}. slots: metadata: header.Asset-Upload-Metadata - text: Start an upload job for the file bytes I attach, using metadata header {metadata}. slots: metadata: header.Asset-Upload-Metadata method: generated generated: '2026-09-26' - target: $.paths['/v1/asset-uploads/{jobId}'].get update: x-apievangelist-phrasing: intent: Check a file asset upload job effect: read questions: - Has my file upload to Canva finished yet? - How do I find out whether a direct file upload succeeded or failed? instructions: - text: Check the status of file upload job {jobId}. slots: jobId: path.jobId - text: Get the uploaded asset from upload job {jobId} once it succeeds. slots: jobId: path.jobId method: generated generated: '2026-09-26' - target: $.paths['/v1/url-asset-uploads'].post update: x-apievangelist-phrasing: intent: Upload an asset from a URL effect: write questions: - Can I add an image to the content library straight from a public URL? - What is the size limit for uploading a video asset from a URL? instructions: - text: Upload the file at {url} as an asset named {name}. slots: url: requestBody.url name: requestBody.name - text: Import {url} into my content library and call it {name}. slots: url: requestBody.url name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/v1/url-asset-uploads/{jobId}'].get update: x-apievangelist-phrasing: intent: Check a URL asset upload job effect: read questions: - Did my asset upload from a URL complete? - What status does a URL-based asset upload job report while it is running? instructions: - text: Check the status of URL upload job {jobId}. slots: jobId: path.jobId - text: Poll URL asset upload job {jobId} until it succeeds or fails. slots: jobId: path.jobId method: generated generated: '2026-09-26'