Content & publishing
Content & publishing
The content API manages CMS pages across app namespaces — these docs included. Each namespace holds an isolated tree of pages; a page has a draft body, an optional published body, a version history, and a node in the navigation tree that gives it a URL and an access level.
| Concept | Meaning |
|---|---|
| Namespace | One app's isolated content tree |
| Draft | The working body; edits always land here |
| Published | The promoted copy readers see |
| Nav node | URL segment, ordering, access level, draft/published state |
| Access | public, auth, membership, or inherit (from parent) |
Create and edit
POST /api/v1/content/{namespace} creates a page; PATCH …/{id} edits — and only ever touches the draft, so editing never disturbs what's live.
curl -X POST "https://api.falcata.io/api/v1/content/example-app" \
-H "Authorization: Bearer $FURNACE_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Welcome", "body": "# Welcome\n\nFirst page." }'
Publish
Publishing is an explicit step, not a save:
POST …/{id}/publish— promote draft to publishedPOST …/{id}/schedule— publish at a future timePOST …/{id}/unpublish— take it back to draft-only
Versions
Every publish snapshots a version; POST …/{id}/checkpoint snapshots manually, and POST …/{id}/restore rolls back (stashing the current draft first).
Structure
Pages form a tree: PATCH …/{id}/move reparents (descendants follow), …/{id}/reorder repositions among siblings, …/{id}/url-segment renames the slug, and …/{id}/access sets the visibility gate.
Everything else — reads and tree queries, layouts, duplication, deletion — in the full reference.