Field types
Compare field settings, value shapes, localization, and delivery behavior.
Every field belongs to one Field Set. Stored field values follow an array convention; generated delivery fields use a scalar or list shape when the field type exposes cardinality.
Field reference
| Field | Configuration and value | Supported validation |
|---|---|---|
| ShortText | Single or multiple strings; text, URL, choice, or tags appearance; may be a title field | Required, unique, character/word size, regex, allowed values |
| LongText | Plain or Markdown string, or structured rich-text JSON | Required, character/word size, regex |
| Number | Integer, decimal, or float; single or multiple numeric values and numeric options | Required, unique, minimum, maximum, allowed values |
| Boolean | One Boolean; checkbox, toggle, or radio appearance | Required |
| DateTime | One date, date-time without timezone, or date-time with timezone | Required, date range |
| Slug | One string; optional automatic generation and title marker | Required, unique, character/word size, regex |
| Reference | One or more entry IDs from allowed Content types | Required, unique |
| Asset | One or more asset IDs from allowed Asset types | Required, unique, allowed values, image dimensions/orientation |
| Component | One or more embedded values from allowed Components | Required |
| Json | One opaque JSON value, which may be an object, array, or scalar | Required; not filtered, sorted, or indexed |
| Geo | Point, Circle, LineString, or Polygon; legacy point input is accepted | Required; coordinate and geometry shape checks apply |
| Taxonomy | One or more exact Term IDs from one Vocabulary | Required, unique |
Markdown and rich text can add a sanitized HTML delivery projection; canonical storage remains Markdown or structured rich text. GraphQL can populate permitted Reference, Asset, and Taxonomy targets, while REST keeps their IDs. A restricted reference never grants access to its target.
A Taxonomy field’s target Vocabulary cannot change after creation. New assignments accept only Active Terms. Geo coordinate arrays use longitude, then latitude.
Access
Reading field definitions requires backend.read and model.read. Adding, changing, reordering, or removing fields on an existing owner uses model.update with matching scope.