LEAF++ / GETTING STARTED
Content, in plain JSON.
Leaf++ stores structured JSON and generates an editor from its shape. Your application owns the markup, styling, and behavior.
Edit a document
Sign in with your operator-provided account, choose a project, and open a document. Form and JSON views edit the same content. Save changes with the button or Ctrl/Cmd+S.
Fetch content
Content reads are public. The homepage uses project Leaf-Plus-Plus.
GET /api/projects/Leaf-Plus-Plus/content/home/hero
GET /api/projects/Leaf-Plus-Plus/collection?prefix=/homeA document returns its raw JSON and an ETag. Collections return descendant documents as {path, data} entries; the parent document is fetched separately.
Order and activate
The homepage renders items with isActive: true and orders siblings by numeric sortKey. An inactive parent hides its descendants. Use these fields on root documents and nested objects.
Save safely
Management APIs require an authenticated session and an X-CSRF-TOKEN header. Create with If-None-Match: *; update with the current ETag in If-Match. A 412 response means content changed elsewhere: fetch the current version before reconciling.
When edits appear
The editor reads saved documents immediately. Public content and this homepage use an in-memory snapshot refreshed about every 30 seconds after each load attempt. A slow database can extend that delay.
Keep a copy
Use Import / export project in the editor to export JSON or preview an import. Existing documents are skipped by default. Projects organize content; they do not provide account-level permissions.
Open the editor ↗