Persistence
Compiled DDL creates real, typed Postgres tables with system columns, indexes and join tables.
Schema-driven · Enterprise-ready
Define a schema once and derive persistence, validation, admin UI, REST, OpenAPI 3.2, GraphQL, permissions and events from the same canonical definition.
Start with the portal: architecture, step-by-step guides and copy-paste REST, GraphQL, webhook and SDK examples.
Registry, compiler, delivery layer, tenancy and the account hierarchy that scopes every contract.
Guides for modelling, publishing, localisation, permissions and release promotion.
Runnable REST, JSON:API, GraphQL, webhook, SDK and MCP examples with tokens and scopes.
Live reference contract
The documents below are generated from this site's own shared reference registry — the models behind the blog and use cases. They are not, and never contain, another tenant's schema: a request scoped with an API token or the x-account header returns only that account's models. Your own endpoints, tokens and event streams are listed in the Interface Explorer.
Compiled DDL creates real, typed Postgres tables with system columns, indexes and join tables.
Server-authoritative coercion and rules — required, unique, ranges, regex, components.
Lists, filters and forms generated per model. No handwritten screens.
One query language: filter, sort, fields, include, cursor pagination.
A live document regenerated on every schema publication.
SDL and executable resolvers built from the same registry.
Role-based access down to individual field reads and writes.
Append-only audit trail plus a domain-event outbox for webhooks.
Schemas are versioned. Publishing previews the diff, reports destructive changes, then compiles migrations and regenerates every downstream contract.
{
"key": "alarm_definition",
"kind": "collection",
"localized": true,
"fields": [
{ "name": "code", "kind": "text", "required": true, "unique": true },
{ "name": "severity", "kind": "enumeration",
"validation": { "enumValues": ["info", "warning", "critical"] } },
{ "name": "category", "kind": "relation",
"relation": { "target": "alarm_category", "cardinality": "manyToOne" } },
{ "name": "seo", "kind": "component", "component": { "target": "seo_meta" } }
]
}These posts are stored as article entries and rendered through the platform delivery layer — the site is its own reference implementation.
Architecture · 4 June 2026
Why a single canonical schema definition should generate persistence, validation, admin UI, REST, OpenAPI, GraphQL and permissions instead of each being written by hand.
Engineering · 18 June 2026
A walkthrough of how the published schema registry produces a consistent query language across REST, JSON:API and GraphQL, with an OpenAPI document that can never fall behind.
Governance · 2 July 2026
How object-level roles, grant and restrict permission sets, record conditions and field-level security combine into a single, auditable access decision.
Read next
Three short reads that explain the model-once approach end to end.