Skip to main content
The CMS API turns any list of structured data on your site into a managed collection. Define a schema once, then create, update, and list items via a single set of endpoints. Every collection is a namespaced bucket scoped to your organization. Items inside a collection are JSON objects validated against the collection’s schema before they are stored.

Why use it

  • No new tables. Add a sponsors page, a courses catalogue, or a directory in minutes — no migration required.
  • Validation built-in. Each field has a type (text, image, url, select, date, …). Bad data is rejected at the API boundary.
  • Public read out of the box. Public collections are cached at the edge for 60 seconds and revalidate automatically when you write.
  • Monetizable. Pair a collection with a payment_plan whose purpose is cms_item and visitors can pay to add an entry (sponsorships, classifieds, featured listings, …).

Authentication

All CMS endpoints accept an API key via the x-api-key header. Required permission scopes: Wildcard keys (* permission) work for every CMS endpoint.
Get your API key from Dashboard → Settings → API Keys. When creating a key for CMS automation, scope it to cms:read and cms:write only.

Field types

Quickstart