Reference

Field Types

Blobify models are built from a small set of field types. This page shows what each type is for, which options it supports, and how each type fits page building, references, media, and structured data.

📝

Text

Text, Slug, Rich Text

textslugrichtext
🖼️

Asset

Media, PDFs, files

asset
🧱

Blocks

Modular content blocks

blocks
🔗

Relations

Reference, Link

referencelink
🔢

Values

Number, Boolean, Date, Select

numberbooleandatetimeselect
{ }

Advanced

Array, JSON

arrayjson

At a glance

TypeCategoryLocalizedRequiredMultipleSpecial config
📝 Text
text
BasicYesYesNo
None
📄 Rich Text
richtext
Rich ContentYesYesNo
Model targetsAllowed blocks
🔗 Slug
slug
BasicYesYesNo
Source field
🔢 Number
number
BasicYesYesNo
None
Boolean
boolean
BasicYesYesNo
None
📅 Date & Time
datetime
BasicYesYesNo
Date-only mode
🎯 Select
select
BasicYesYesOptional
Options
🖼️ Asset
asset
Rich ContentYesYesNo
None
📊 Array
array
AdvancedYesYesNo
None
🔗 Reference
reference
RelationshipsYesYesOptional
Model targets
🌐 Link
link
RelationshipsYesYesNo
Model targets
🧱 Blocks
blocks
AdvancedNoYesOptional
Allowed blocks
{ } JSON
json
AdvancedYesYesNo
None
Basic

📝 Text

Short text string (single line)

text
LocalizedRequired allowedSingle value
Use cases
  • Titles, names, labels, short summaries, and button text.
  • Use this for content that stays single-line and easy to scan in summaries.
Starter schema
"title": {
  "type": "text"
}
Rich Content

📄 Rich Text

Rich text with embedded blocks, content links, and assets (AST-based)

richtext
LocalizedRequired allowedSingle valueModel-awareBlock restrictions
Use cases
  • Editorial body content with paragraphs, inline links, embedded blocks, and asset embeds.
  • Used for articles, docs, landing page sections, and long-form journal entries.
Starter schema
"content": {
  "type": "richtext",
  "allowedBlocks": [
    "callout-block"
  ],
  "allowedModels": [
    "article"
  ]
}
Basic

🔗 Slug

URL-friendly identifier (auto-generated from source field)

slug
LocalizedRequired allowedSingle valueAuto-generate
Use cases
  • Public URL segments and fast lookup keys.
  • Pair this with routing and optional fast lookup indexing.
Starter schema
"slug": {
  "type": "slug",
  "sourceField": "title"
}
Basic

🔢 Number

Integer or floating point value

number
LocalizedRequired allowedSingle value
Use cases
  • Pricing, durations, ordering, counters, and numeric metadata.
  • Useful for list indexes when you need numeric sorting.
Starter schema
"price": {
  "type": "number"
}
Basic

Boolean

True/false toggle

boolean
LocalizedRequired allowedSingle value
Use cases
  • Feature flags, toggles, visibility switches, and on/off content states.
  • Prefer this over string values like "yes" or "no".
Starter schema
"featured": {
  "type": "boolean"
}
Basic

📅 Date & Time

Date with optional time component

datetime
LocalizedRequired allowedSingle valueDate-only
Use cases
  • Publish dates, event dates, schedules, and date-based list indexes.
  • Use date-only mode when time is irrelevant to the content model.
Starter schema
"publishedAt": {
  "type": "datetime",
  "dateOnly": true
}
Basic

🎯 Select

Dropdown or checkboxes with predefined options

select
LocalizedRequired allowedMultiple supportedOptions array
Use cases
  • Status, category, tags, format, or any field with predefined allowed values.
  • Use `multiple` for fields that accept several options.
Starter schema
"category": {
  "type": "select",
  "options": [
    "news",
    "guide",
    "release"
  ]
}
Rich Content

🖼️ Asset

Image, video, or file URL

asset
LocalizedRequired allowedSingle value
Use cases
  • Images, videos, audio, PDFs, and downloadable files from the asset library.
  • Summaries store the asset reference, and clients resolve it against the asset catalog.
Starter schema
"coverImage": {
  "type": "asset"
}
Advanced

📊 Array

List of strings or numbers

array
LocalizedRequired allowedSingle value
Use cases
  • Simple lists of strings or numbers such as keywords, bullet values, or external IDs.
  • Use references instead of arrays of objects for repeatable structured items.
Starter schema
"tags": {
  "type": "array"
}
Relationships

🔗 Reference

Link to other content items

reference
LocalizedRequired allowedMultiple supportedModel-aware
Use cases
  • Authors, categories, related content, linked entries, and cross-space content relationships.
  • Supports single and multiple references, depending on the model design.
Starter schema
"author": {
  "type": "reference",
  "model": "author"
}
Relationships

🌐 Link

Internal link (to content) or external URL

link
LocalizedRequired allowedSingle valueModel-aware
Use cases
  • Internal content links, external URLs, or call-to-action destinations.
  • Good for buttons and navigation-like fields outside rich text.
Starter schema
"ctaLink": {
  "type": "link",
  "models": [
    "page",
    "article"
  ]
}
Advanced

🧱 Blocks

Modular content blocks for page building

blocks
Not localizableRequired allowedMultiple supportedBlock restrictions
Use cases
  • Page builders, modular sections, and richer content layouts using block instances.
  • The blocks field itself is not localized; fields inside each block can be.
Starter schema
"sections": {
  "type": "blocks",
  "allowedBlocks": [
    "hero-block",
    "quote-block"
  ]
}
Advanced

{ } JSON

Free-form JSON data (escape hatch)

json
LocalizedRequired allowedSingle value
Use cases
  • Escape hatch for dynamic integrations or unusual structures that do not deserve full schema.
  • Use sparingly. If editors need structure, model it with normal fields instead.
Starter schema
"config": {
  "type": "json"
}