Version history
Before every save of a page (including its CSS/JS assignment), a snippet, a CSS/JS file, a workflow, a custom workflow node or a global block, the server backs up the previous state – likewise before an import overwrites a page or file (author Import).
- Merging: If the same author saves again within 2 minutes, no new version is created – the state before this editing round is kept. Unchanged states are not saved twice.
- Scope: at most 100 versions per object; deleted objects lose their versions. Not included in bundles.
- Author: username,
Token „Name“orImport.
GET /revisions?kind={page|snippet|asset|workflow}&id={id} 🔑
Versions of an object (kind also flownode, globalblock), newest first: [{ "id": 12, "kind": "page", "object_id": 5, "author": "admin", "created_at": 1791223332, "size": 4810 }].
GET /revisions/{id} 🔑
A version including data – the saved object in the same format as GET /pages/{id}, /snippets/{id}, /assets/{id} or /workflows/{id}.
POST /revisions/{id}/restore ✏️
Resets the object to this state and returns it (like PUT). The current state is first saved as a version itself – so restoring can be undone. For pages, slug, domains, default website and publication status remain unchanged (no URL change, no unintended taking offline); CSS/JS assignments to files deleted in the meantime are dropped. For pages, the block tree (blocks) is included. For snippets, content, description and block type schema are reset (not the name, which includes and blocks depend on; versions without schema leave it in place); for global blocks, blocks and description (not name and folder); for CSS/JS, the content; for workflows, flow and description (not name and enabled).