Documentation
Content modeling
Shape your content once and every entry, API response, and personalization variant follows the same structure.
Collections, singles & components
| Collection | Many entries of the same shape — posts, pages, products. Listed and fetched by slug via the API. |
| Single | Exactly one entry — site config, homepage, footer. Created once and edited in place. |
| Component | A reusable group of fields (e.g. Hero, CTA) you nest inside other types via a component field. |
Fields & API names
Every field has a display name and an API name — the JSON key your site reads. Under the hood, entry values are stored against a stable internal id, not the API name, so renaming a field is safe: existing entries keep their values and the API instantly serves the new key.
Field types cover text, rich text, numbers, booleans, dates, files & images, JSON, references to other entries, and nested components.
Drafts vs published
Editing always writes the draft. Publishing copies the draft to the live version — the only version the public API serves. You can keep iterating on the draft after publishing; the live version stays untouched until you publish again.
Validation
Fields can be required, length-bounded (minLength/maxLength), range-bounded, pattern-matched, or validated as email/URL. The editor shows inline errors as you type.
Drafts save even while invalid — you never lose work — but publish is blocked until the entry passes validation.