Design Schema
The design schema is how Unlayer represents a design — an email, landing page, popup, or document — as structured JSON. It's a single tree that captures the whole design: the layout (rows and columns), the content blocks inside them (text, images, buttons, and more), and the styling applied at every level.
That JSON is the shared contract across the platform: the embedded builder reads and writes it as users drag and drop, the Cloud API exports, converts, and validates it, and the AI Assistant generates and edits it. Learn it once and the same shape carries a design through storage, server-side transforms, AI generation, and HTML rendering. This section is the reference — each object gets its own page with typed fields and examples.
Top-level objects
- Design object — the root JSON object the editor reads and writes. Wraps a single
body, plus counters and a schema version. - Block object — the containers inside a body: rows, columns, and the content items inside them.
- Content types — the leaf content blocks: text, image, button, heading, divider, HTML, video, social, menu, timer, and the
customslot for embedder-defined tools.
Full and Simple schemas
Every design exists in two interchangeable forms: a verbose Full schema the embedded editor manipulates in memory, and a compact Simple schema — the one the AI Assistant reads and writes, and the form Unlayer ships over the wire.
See Full vs Simple for what each form looks like side by side, how they convert (and round-trip losslessly), and why AI generation works in the Simple schema.
Validation
Use POST /v3/templates/validate to check whether a payload conforms to the schema before it lands in storage or in front of the editor — much better DX than letting a malformed design crash a render.
Related
- Cloud API — the REST surface that consumes and produces these structures.
- Cloud API reference — the v2 export and template APIs that operate on designs.
- AI Assistant — generates and edits these structures in place inside the embedded editor.