API-Referenz

Versionshistorie

Vor jedem Speichern einer Seite (auch der CSS/JS-Zuordnung), eines Snippets, einer CSS/JS-Datei, eines Workflows, eines eigenen Workflow-Nodes oder eines globalen Blocks sichert der Server den bisherigen Stand – ebenso bevor ein Import eine Seite oder Datei überschreibt (Autor Import).

  • Zusammenfassen: Speichert derselbe Autor innerhalb von 2 Minuten erneut, entsteht keine neue Version – erhalten bleibt der Stand vor dieser Bearbeitungsrunde. Unveränderte Stände werden nicht doppelt gespeichert.
  • Umfang: höchstens 100 Versionen je Objekt; gelöschte Objekte verlieren ihre Versionen. Nicht in Bundles enthalten.
  • Autor: Benutzername, Token „Name“ oder Import.

GET /revisions?kind={page|snippet|asset|workflow}&id={id} 🔑

Versionen eines Objekts (kind auch flownode, globalblock), neueste zuerst: [{ "id": 12, "kind": "page", "object_id": 5, "author": "admin", "created_at": 1791223332, "size": 4810 }].

GET /revisions/{id} 🔑

Eine Version samt data – dem gespeicherten Objekt im selben Format wie GET /pages/{id}, /snippets/{id}, /assets/{id} bzw. /workflows/{id}.

POST /revisions/{id}/restore ✏️

Setzt das Objekt auf diesen Stand zurück und liefert es (wie PUT). Der aktuelle Stand wird vorher selbst als Version gesichert – das Zurücksetzen ist also rückgängig zu machen. Bei Seiten bleiben Slug, Domains, Standard-Website und Veröffentlichung unverändert (keine URL-Änderung, kein unbeabsichtigtes Offline-Nehmen); CSS/JS-Zuordnungen auf inzwischen gelöschte Dateien entfallen. Bei Seiten gehört der Blockbaum (blocks) dazu. Bei Snippets werden Inhalt, Beschreibung und Baustein-Schema zurückgesetzt (nicht der Name, an dem includes und Blöcke hängen; Versionen ohne schema lassen es stehen), bei globalen Blöcken Blöcke und Beschreibung (nicht Name und Ordner), bei CSS/JS der Inhalt, bei Workflows Flow und Beschreibung (nicht Name und enabled).