Export

GET /diagrams/{id}/export returns the raw file, not JSON. Pass the format as a query parameter.
format defaults to drawio. On Free, always pass format=svg. A Free call that asks for drawio, or leaves format out, returns 403 with code UPGRADE_REQUIRED.
On Paid, the xml returned on generate, edit, and fix is already the native draw.io format, so you only need export when you want SVG or a standalone file. On Free those replies have xml: null and an export_url that points here with format=svg. Confirm the current format list via Meta → formats.

Plans and the watermark

Exports are unlimited on both plans. On Free, the SVG carries a Diagrams.so watermark. On Paid it has none, and drawio is available too. The X-Export-Fidelity response header on an SVG export is full for the real draw.io render, or degraded when the server fell back to a simpler built-in renderer.