Key Concepts
Content Structure
Define expected content structure through a layout component and specify which components can be used via an allow list.
Status Management
Support draft and published status with iterative development and version history.
Version Control
Independent versioning from packages with complete version history and rollback support.
Package Binding
Reference specific package versions to ensure component stability across content.
The ContentType Object
Unique identifier (UUID)
Display name of the type (e.g., “Article”)
Structured markdown description for semantic search and LLM understanding
Current status:
draft, modified, published, unpublished, or deletedCurrent version number (increments on publish)
Last published version number (null if never published)
Reference to the layout Component that defines the structure
Array of component IDs or component groups that can be used within this content type
Version of package to use for component resolution
JSON Schema auto-generated from layout and allowed components (system-managed)
Array of pre-built content example IDs
Access control settings
Additional type metadata
Creation timestamp (ISO format)
Last update timestamp (ISO format)
Example ContentType
Component Allow List
ThecomponentIdsAllowList field supports two formats:
Simple Component IDs
Grouped Components
Group related components with optional display names:| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier for the group |
name | string | No | Display name for the group |
componentIds | string[] | Yes | Component IDs within this group |
Group IDs must be unique within the content type. Component IDs can appear in multiple groups. Both formats can be mixed in the same array.
Schema Generation
ContentTypes automatically generate a comprehensive JSON Schema that:- Includes complete component definitions using the
oneOfpattern - Provides full property schemas for each allowed component
- Enables LLM understanding with complete structural information
- Fetches the layout component schema
- Fetches schemas for all allowed components
- Generates a
oneOfarray for component options - Uses the schema to validate content on creation and update
Description Best Practices
The description field follows a structured markdown format optimized for semantic search:Aim for 400-600 characters. Maximum is 800 characters.
