Download the contract folder of the latest release (owner only)
The author-side contract of the latest Release as a zip: same
source as GET /data-apps//manifest (file references resolved
inline), split into the canonical contract-folder form (see POST
/data-apps/contract/split) and packed server-side. The zip carries one
<app_name>/ shell directory; the response sets Content-Disposition
with <app_name>.zip.
Zero Release (a never-published draft) → 404 release-not-found: the
semantics are “latest Release”, with no fallback to the workspace
draft. _editor_state.json and other non-slot files are never
included — the editor companion state travels only through the
workspace channel and is regenerated by the editing frontend on the
next save, so a download → edit → import round trip is lossless for
api kind.
When the app has translations, the zip also carries i18n.json
({source, locales}) — the current translations, not the ones
at the time this Release was published (translations hang off the
app identity, not the Release).