Fundamentals
Models and references
Model reusable documents with JSON Schema, Markdown, media, and explicit content relationships.
PeopleTide Content · HTTP integration guides
A small, explicit document contract.
Every content document has type, slug, title, and fields. The type’s JSON Schema validates fields. Register the type before saving documents of that type.
{
"type": "article", "slug": "welcome", "title": "Welcome to our journal",
"fields": { "body": "Useful information for your readers." }
}Describe the fields editors need.
Site administrators manage content types. The x-cms-field hints select specialised editors; JSON Schema supplies validation.
{
"type": "object",
"properties": {
"body": { "type": "string", "title": "Body", "x-cms-field": "markdown" }
},
"required": ["body"], "additionalProperties": false
}Choose the relationship deliberately.
A composition reference is a dependency that must be published with the document. A derived reference tracks a source while retaining independent copy and creates review tasks when the source changes. Missing dependencies and composition cycles block publication.
{
"product": { "$content": "CONTENT_UUID", "relationship": "composition" },
"source": { "$content": "SOURCE_UUID", "relationship": "derived" },
"image": { "$media": "MEDIA_UUID" }
}Render according to the field type.
Treat plain text as text. Use a Markdown renderer with HTML disabled or sanitised for Markdown fields. The framework examples deliberately render body text safely rather than injecting arbitrary HTML.