Documentation

Content modeling

Shape your content once and every entry, API response, and personalization variant follows the same structure.

Collections, singles & components

CollectionMany entries of the same shape — posts, pages, products. Listed and fetched by slug via the API.
SingleExactly one entry — site config, homepage, footer. Created once and edited in place.
ComponentA 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.