Re-layout (async)

Re-arranging a complex diagram runs as a background job. POST /diagrams/{id}/relayout?confirm=true starts the job and returns 202 with a job_id. A re-layout moves every element, so the API asks you to opt in. Without confirm=true you get a 200 with status: "confirmation_required" and nothing starts. GET /diagrams/{id}/relayout/{job_id} reports the job. Poll it with the job_id until it finishes.
Poll with a short backoff, for example every 1 to 2 seconds, until status is done or failed. When it is done and applied, the reply carries the new xml, warnings and score. On Free, xml is null and the reply has xml_withheld, export_url and upgrade_url instead. See Free plan replies.

Versions

Every edit and fix creates a version, so you can review history and roll back.