EaserixDocs
DevelopersAPI referenceNotesPages

Delete a trashed page permanently

Only a page that is already in the trash (archived) can be deleted forever; a live page returns 409. The page goes with its trashed sub-pages. A sub-page that is still live is kept and moved up to the deleted page's parent (or the space root if that parent is trashed).

View as Markdown
DELETE
/v1/pages/{id}
AuthorizationBearer <token>

In: header

Path Parameters

id*string
Formatuuid

Response Body

application/json

application/json

curl -X DELETE "https://example.com/v1/pages/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "message": "string"}

Update page metadata (title, icon, move, archive, change space)

Setting workspaceId moves the page to another space the caller can access — the entire subtree moves with it and the page becomes a root of the target space unless the same request also names a parent inside it. A sidebar drag sends all three move fields at once (space, parent, position), so parentId is validated: - the parent must be a page the caller can see (404 otherwise — never a confirmation that an id exists in another org) - the parent must be in the space the page ends up in, so a page is never nested under a parent that space's readers cannot open (400) - the parent must not be the page itself or one of its own descendants (400) — a cycle detaches the whole branch from every root and it stops appearing in the tree archived=true trashes the page and every live sub-page with the same timestamp; archived=false restores the page and exactly that batch (sub-pages trashed separately stay in the trash). A page restored under a parent that is still trashed comes back at the space root. `parentId: ""` clears the parent, putting the page at the top level of its space. `position` is a float, so a page can be dropped between two siblings by writing one row instead of renumbering the list. A move into a space with a wider audience — Private to a team or everyone, a team to everyone, or one team to another — exposes the page and its sub-pages to people who could not read them before. It needs the same authority as changing a space's audience: the owner of the space the page is leaving, or a workspace owner/admin (403 `widening_move` otherwise). Callers who have that authority must also send `confirmWiden: true` (409 `confirm_widen` otherwise, with the target space so the client can name it in a prompt). Narrowing and same-audience moves need neither. Every cross-space move is written to the platform audit log as `notes.page.moved`.

Get the rich document

Returns the Tiptap JSON doc, converting legacy blocks on first read.