Templates Edit
Edit · Invoice layout Draft v5
Structured editor and raw JSON stay in sync. Only drafts are editable.
Layout blocks
Header band
Containerblock.header
Invoice table
Datablock.table
Totals summary
Computedblock.totals
Footer note
Staticblock.footer
Block properties
Visible to tenant
About this page
Build pages by dragging blocks into place — no code required. Work saves as drafts; nothing reaches a live product until published. Every block keeps a stable identity behind the scenes, which is what makes selective upgrades possible later.
Behind this page/templates/:templateVersionId/edit · CanManageTemplates
Retrieve
sp_GetTemplateVersionPayload loads the draft payload, CSS variables, and metadata into both panes.Save
Save →sp_SaveTemplateVersion (payload + css + metadata + notes); publish → sp_PublishTemplateVersion.Success
- Only Draft versions are editable.
- Structured and JSON views stay in sync.
- Publish is blocked until validation passes.
CLI handoff
Implement this scaffold from the structured contract, then remove hard-coded preview rows. The source of truth is CLI Handoff and admin-cli-manifest.json.
Page IDtemplate-editor
Route/templates/:templateVersionId/edit
AccessCanManageTemplates
Statuscatalog-schema-ready-content-not-seeded
Server-inject identity and scope values; never trust browser-supplied account, app, tenant, user, entitlement, price, or permission identifiers. Preserve the loading, empty, forbidden, failed, retrying, and completed states shown by the preview.