v1

latestOpenAPI 3.1.02026-07-223261135.0 KB
canvases

Get Export Status

Poll the status of an asynchronous export task.

Returns is_terminal=False while the export is still running (with a suggested retry_after_seconds); is_terminal=True once it completes or fails. The signed url is set on completion.

The canvas_id in the path must match the canvas that the task targets — mismatches return 404 (we don't leak which canvas a task actually belongs to).

get/canvases/{canvas_id}/export-status

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

Query parameters

task_idstring required

Export task ID returned by /export when status='in_progress'.

Export task ID returned by /export when status='in_progress'.

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.

Response

Successful Response

task_idstring required

The export task ID.

statusstring required

queued, running, completed, or failed.

is_terminalboolean required

True when status is completed or failed.

canvas_idstring required

Prefixed canvas identifier the export targets.

canvas_urlstring required

Full URL to open the source canvas in the Moda editor.

formatstring required

Delivered format — png, jpeg, pdf, pptx, or zip. Multi-page PNG/JPEG exports surface as zip (per-page files inside).

urlstring nullable

Signed download URL once the export completes. null while running.

errorstring nullable

Failure detail when status='failed'.

retry_after_secondsinteger nullable

Set while is_terminal is False — suggested poll interval.

total_pagesinteger nullable

Total page count for the source canvas (set on completion).

Example response

{
  "canvas_id": "cvs_01HT9WK8N3M2J4A5Z6P7Q8R9TV"
}