Understanding drafts, publishing, and production isolation

How SCHMA isolates work-in-progress drafts from public delivery APIs, ensuring live applications only receive reviewed, published content.

Content Management5 min read·Updated October 2026

Understanding drafts, publishing, and production isolation

How SCHMA isolates work-in-progress drafts from public delivery APIs, ensuring live applications only receive reviewed, published content.

Before you begin

  • A content model created in SCHMA Studio
  • At least one entry created in your workspace

In modern web applications, editorial workflows require the freedom to create, edit, and iterate on content without risking accidental exposure to public visitors. SCHMA implements strict separation between draft staging and live delivery.

Content lifecycle: Draft vs Published

Every content entry in SCHMA moves through distinct operational states:

  • Draft: The entry is currently being created or edited. Changes are saved to your database, but the entry is not visible to public visitors or standard delivery requests.
  • Published: The entry has been reviewed and explicitly published. It is globally indexed, cached on edge networks, and served by the Delivery API.
  • Modified (Draft Changes): A published entry that has pending, unsaved or staged updates. The live application continues to receive the previously published version until the new changes are published.

Production isolation and delivery safety

When your frontend queries SCHMA's Delivery API (GET /v1/delivery/entries) using a standard Delivery API key, the delivery service automatically applies a strict filter: only entries with status: 'published' are queried and returned. Draft entries are completely excluded at the database query layer.

The editorial publishing workflow

In the entry editor, clicking Save Draft persists your field values immediately. When the entry satisfies all schema validation rules and is ready for public release, click the Publish button in the header bar.

Publishing validates all required fields, writes the publication timestamp, updates the delivery index, and notifies connected edge caches.

Edge cache invalidation on publish

SCHMA's Delivery API is distributed via a global edge caching layer. When an entry is published, SCHMA triggers automatic surrogate-key cache invalidation. Subsequent frontend requests immediately receive the updated published version without requiring a manual deployment or server restart.