v1

latestOpenAPI 3.1.02026-07-223261135.0 KB
canvases

Update Canvas

Update a canvas's name, description, or template_type.

patch/canvases/{canvas_id}

Path parameters

canvas_idstring required

Prefixed cvs_ wire ID (Crockford base32 body) — the canonical, recommended form. For back-compat, a bare UUID string is also accepted in both path parameters and JSON request bodies (older integrations that stored raw UUIDs keep working). Both are permanent, supported inputs.

Example:cvs_01HT9WK8N3M2J4A5Z6P7Q8R9TV

Headers

Moda-Version'2026-04-12' | '2026-05-01'
Example:2026-05-01

Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.

Request body

namestring nullable

New display name.

descriptionstring nullable

New description. Send null to clear.

template_type'template' | 'theme' nullable

Mark as 'template' (any canvas) or 'theme' (slides canvases only). Send null to clear.

Response

Successful Response

idstring required

Unique canvas identifier (prefixed cvs_...).

namestring required

Display name of the canvas.

urlstring required

Full URL to open the canvas in the Moda editor.

categorystring nullable

Canvas format category — one of slides, social, carousel, pdf, diagram, ui, animation, prints, web-ads, other, or null when unset. Use this to distinguish slide decks from social posts etc. in list UIs.

visibilitystring nullable

Canvas visibility — team (visible to everyone on the team) or private (only the creator and explicit shares).

created_atstring nullable

ISO 8601 timestamp when the canvas was created.

updated_atstring nullable

ISO 8601 timestamp of the last modification.

template_typestring nullable

'template', 'theme', or null.

Example response

{
  "id": "cvs_01HT9WK8N3M2J4A5Z6P7Q8R9TV"
}