Skip to content

Content Lifecycle

Draft ─▶ edit ─▶ revision saved ─▶ preview ─▶ Published ─▶ unpublish (back to Draft)
└─ optional: schedule a publish time
  • An entry or page is draft or published.
  • Only published items are returned by the public API. A draft’s public URL returns 404, identical to a slug that does not exist.
  • Every write creates a revision, which can be restored. For entries this includes create, update, restore and scheduled publish.
  • A draft can carry a scheduled publish time. A Cron Trigger runs every 5 minutes and publishes anything that is due; API traffic triggers the same check at most every 30 seconds, so publishing usually happens within about a minute of the chosen time and at most five minutes after.
  • Public responses are edge cached (Cache-Control: public, max-age=300 for entries) and the affected cache entries are invalidated when content changes. Media files are cached for a year because they are immutable.
  • Webhooks can be sent on entry.created, entry.updated, entry.published, entry.unpublished and entry.deleted.

For drafts, use signed Live Preview rather than the public API.