Content Types
Define, structure, and scale your data models with FlowCMS’s flexible, API-first schema system. Content types are the backbone of your digital experience platform.
Try Content TypesWhat are Content Types?
Content Types act as blueprints for your content. Just like database tables or classes in programming, they define the structure, fields, and relationships for each piece of content you create. Whether you're building blog posts, product catalogs, or event listings, Content Types give you full control over data modeling without writing infrastructure code.
With FlowCMS, you can define schemas visually through our dashboard or programmatically via JSON/YAML configuration, then sync them instantly to your team and APIs.
Pro Tip: Content Types are version-controlled. Every schema change is tracked, auditable, and can be rolled back if needed.
Schema Definition
Define your Content Type using a structured JSON schema. FlowCMS supports nested objects, arrays, and complex relationships out of the box.
{
"name": "Blog Post",
"identifier": "blog_post",
"version": "1.0.0",
"fields": [
{
"name": "title",
"type": "single_line_text",
"required": true,
"maxLength": 120
},
{
"name": "slug",
"type": "slug",
"source": "title"
},
{
"name": "content",
"type": "rich_text",
"required": true
},
{
"name": "author",
"type": "relation",
"target": "user"
}
]
}
Once saved, FlowCMS automatically generates:
- A dedicated admin UI for content entry
- REST & GraphQL endpoints for delivery
- TypeScript/Python SDK types (optional)
Supported Field Types
FlowCMS provides a comprehensive set of field types to model any data structure. Each field supports validation, localization, and custom UI components.
Single Line Text
Short strings like titles, names, or slugs. Supports max length & regex patterns.
Rich Text
Block-based editor with markdown, images, embeds, and custom components.
Media
Image, video, or document upload. Auto-optimization & CDN delivery included.
Relation
Link to other content types. Supports 1:1, 1:many, and many:many relationships.
Number
Integers or floats with min/max constraints and formatting options.
Date & Time
ISO-8601 timestamps, date pickers, and timezone-aware storage.
Select / Multi-Select
Dropdowns, tags, or radio groups with custom options and sorting.
JSON / Custom
Flexible key-value storage with schema validation or free-form JSON.
Validation & Constraints
Ensure data integrity before it ever reaches your API. FlowCMS supports built-in and custom validation rules at the field level.
{
"name": "email",
"type": "single_line_text",
"required": true,
"validation": {
"format": "email",
"custom": "validateDomain",
"error": "Please enter a valid company email."
}
}
Custom Validators: Write validators in JavaScript/TypeScript and deploy them as plugins. They run in the edge layer before persistence.
API & Delivery
Every Content Type automatically maps to API endpoints. Query, filter, paginate, and transform your content with standard GraphQL or REST syntax.
query GetBlogPosts { "auto-generated from your schema"
blogPosts(limit: 10, status: "published") {
id
title
slug
excerpt
author {
name
avatar # auto-resolved relation
}
publishedAt
}
}
Content is delivered globally via FlowCMS Edge CDN with automatic caching, invalidation hooks, and webhook support for build triggers.
Best Practices
- Keep schemas lean: Split large content types into smaller, composable types linked via relations.
- Use localization early: Enable multi-language support at the schema level before publishing content.
- Version strategically: Treat schema changes like code deployments. Use staging environments for testing.
- Leverage relations over duplication: Normalize your data to maintain consistency across your platform.
- Define validation constraints: Catch errors at entry time, not at API runtime.
Need more? Explore our complete Schema Reference Guide or join our Developer Discord.
Ready to structure your content?
Create your first Content Type in under 2 minutes. No credit card required.
Define Your First Schema →