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
Asset
Media, PDFs, files
Blocks
Modular content blocks
Relations
Reference, Link
Values
Number, Boolean, Date, Select
Advanced
Array, JSON
At a glance
| Type | Category | Localized | Required | Multiple | Special config |
|---|---|---|---|---|---|
📝 Text text | Basic | Yes | Yes | No | None |
📄 Rich Text richtext | Rich Content | Yes | Yes | No | Model targetsAllowed blocks |
🔗 Slug slug | Basic | Yes | Yes | No | Source field |
🔢 Number number | Basic | Yes | Yes | No | None |
✅ Boolean boolean | Basic | Yes | Yes | No | None |
📅 Date & Time datetime | Basic | Yes | Yes | No | Date-only mode |
🎯 Select select | Basic | Yes | Yes | Optional | Options |
🖼️ Asset asset | Rich Content | Yes | Yes | No | None |
📊 Array array | Advanced | Yes | Yes | No | None |
🔗 Reference reference | Relationships | Yes | Yes | Optional | Model targets |
🌐 Link link | Relationships | Yes | Yes | No | Model targets |
🧱 Blocks blocks | Advanced | No | Yes | Optional | Allowed blocks |
{ } JSON json | Advanced | Yes | Yes | No | None |
📝 Text
Short text string (single line)
text- Titles, names, labels, short summaries, and button text.
- Use this for content that stays single-line and easy to scan in summaries.
"title": {
"type": "text"
}📄 Rich Text
Rich text with embedded blocks, content links, and assets (AST-based)
richtext- Editorial body content with paragraphs, inline links, embedded blocks, and asset embeds.
- Used for articles, docs, landing page sections, and long-form journal entries.
"content": {
"type": "richtext",
"allowedBlocks": [
"callout-block"
],
"allowedModels": [
"article"
]
}🔗 Slug
URL-friendly identifier (auto-generated from source field)
slug- Public URL segments and fast lookup keys.
- Pair this with routing and optional fast lookup indexing.
"slug": {
"type": "slug",
"sourceField": "title"
}🔢 Number
Integer or floating point value
number- Pricing, durations, ordering, counters, and numeric metadata.
- Useful for list indexes when you need numeric sorting.
"price": {
"type": "number"
}✅ Boolean
True/false toggle
boolean- Feature flags, toggles, visibility switches, and on/off content states.
- Prefer this over string values like "yes" or "no".
"featured": {
"type": "boolean"
}📅 Date & Time
Date with optional time component
datetime- Publish dates, event dates, schedules, and date-based list indexes.
- Use date-only mode when time is irrelevant to the content model.
"publishedAt": {
"type": "datetime",
"dateOnly": true
}🎯 Select
Dropdown or checkboxes with predefined options
select- Status, category, tags, format, or any field with predefined allowed values.
- Use `multiple` for fields that accept several options.
"category": {
"type": "select",
"options": [
"news",
"guide",
"release"
]
}🖼️ Asset
Image, video, or file URL
asset- Images, videos, audio, PDFs, and downloadable files from the asset library.
- Summaries store the asset reference, and clients resolve it against the asset catalog.
"coverImage": {
"type": "asset"
}📊 Array
List of strings or numbers
array- 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.
"tags": {
"type": "array"
}🔗 Reference
Link to other content items
reference- Authors, categories, related content, linked entries, and cross-space content relationships.
- Supports single and multiple references, depending on the model design.
"author": {
"type": "reference",
"model": "author"
}🌐 Link
Internal link (to content) or external URL
link- Internal content links, external URLs, or call-to-action destinations.
- Good for buttons and navigation-like fields outside rich text.
"ctaLink": {
"type": "link",
"models": [
"page",
"article"
]
}🧱 Blocks
Modular content blocks for page building
blocks- Page builders, modular sections, and richer content layouts using block instances.
- The blocks field itself is not localized; fields inside each block can be.
"sections": {
"type": "blocks",
"allowedBlocks": [
"hero-block",
"quote-block"
]
}{ } JSON
Free-form JSON data (escape hatch)
json- 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.
"config": {
"type": "json"
}