The Parts That Actually Matter to You
A developer-first CMS means the API came before the admin UI, not after — schema-validated responses, real field types, webhooks on the events you'd expect, and branching that works like source control.
10 field types, nested to depth 5
4 webhook lifecycle events
47-tool MCP server
SCHEMA
Validation on Write, Not a Defensive Parser in Your Frontend
Content is validated against its schema when it's written, not left to whatever shape happened to get saved. Every entry of a content type returns the same structure, so your frontend doesn't need to guard against fields that might not be there.
Predictable Shape
Predictable response shape per content type, every time
Server-Side References
References resolve server-side, not through manual ID lookups
A JSON Escape Hatch
A freeform json field for the genuinely unusual cases
Publish Fires a Webhook, Not a Full Rebuild
Four lifecycle events dispatch webhooks — create, publish, unpublish, delete — which is what makes targeted revalidation possible instead of rebuilding a static site on every content change.
Webhooks scoped to specific lifecycle events, not a firehose
Per-branch deployment targets and secrets
A pending-changes diff before you publish, labeled new or modified
When You Want to Automate the CMS Itself
An MCP server exposes 47 tools covering content types, entries, pages, forms, media, keys, webhooks, and the intelligence layer — callable by Claude or any MCP-compatible client.
stdio and HTTP transport
Local tools like Claude Code, or remote clients over HTTP.
get_project_brief
A tool that hands an agent your architecture rules first.
Common Questions
What field types does the content model support?
Ten — text, richtext, number, boolean, date, media, select, json, reference, repeater, and blocks — covering typed primitives, relationships, and nested repeating or dynamic structures.
How does branching actually work under the hood?
Creating a branch clones content types, entries, and pages from a source branch into an isolated copy. Nothing on that branch affects the live main branch until it's explicitly merged.
How are permissions modeled?
Five roles with granular, per-area view and edit permissions. Editing content and editing the content model are separate rights, so a content writer can publish an entry without being able to alter the schema.
What webhook events are available?
Four content entry lifecycle events — create, publish, unpublish, and delete — which is what enables targeted, on-demand revalidation instead of full-site rebuilds on every change.
Is there a way to automate content operations from outside the admin?
Yes, through Zunoy's MCP server, which exposes 47 tools across content types, entries, pages, forms, media, keys, webhooks, and search — usable by Claude or any other MCP-compatible client over stdio or HTTP.
Read the Docs, Then Judge For Yourself
A typed API, real webhooks, branching that works like source control, and an MCP server that isn't an afterthought.