Skip to main content
Each space has a hierarchical file tree. Nodes are either files or folders. The REST endpoints below cover tree navigation, metadata management, and file creation. Real-time collaborative editing uses a separate WebSocket connection documented at the bottom of this page.

List file nodes

Returns the immediate children of a folder (or the space root), optionally filtered by name. Pass scope=space with q to search across the entire space. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
Query parameters
string
UUID of a folder node. Omit to list the space root.
string
Name filter (case-insensitive substring match).
string
Set to "space" together with q to search the entire space tree instead of just the current folder.
Example — list the root
Example — search across the whole space
Response 200 OK
string
Node UUID.
string
Parent space UUID.
string
UUID of the parent folder, or null for root-level nodes.
string
"file" or "folder".
string
File or folder name.
string
MIME type (files only), or null.
integer
File size in bytes (files only), or null.
string
SHA-256 hex checksum of file content (files only), or null.
string
UUID of the user who created this node.
string
Populated when the node has been deleted, otherwise null.

Get the full tree

Returns all non-deleted nodes in the space in a flat list. Suitable for building a client-side tree. Example
Response 200 OK
Same node shape as the list response above.

Get a file node

Returns a single node’s metadata. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
string
required
Node UUID.
Example
Response 200 OK

Create a folder

Creates a new folder node. Requires the files.write permission. Request body
string
required
Folder name. Leading/trailing whitespace is stripped.
string
UUID of the parent folder. Omit or set to null to create at the space root.
Example
Response 201 Created

Rename or move a node

Renames and/or moves a file or folder. Requires the files.write permission. Both fields are optional; supply at least one. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
string
required
Node UUID.
Request body
string
New name. Cannot be empty if provided.
string
New parent folder UUID. Pass null to move to the space root. Omit entirely to leave the parent unchanged.
Example — rename
Response 200 OK Returns the updated node object wrapped in {"node": {...}}.

Delete a file node

Soft-deletes the node (sets deleted_at). Requires the files.write permission. Path parameters
string
required
Organization UUID.
string
required
Space UUID.
string
required
Node UUID.
Response 204 No Content

Collaborative editing

Real-time collaborative document editing uses a WebSocket connection at:
The REST endpoints above manage the file tree structure and metadata. Document content is synchronized over the WebSocket using the Yjs CRDT protocol. Authenticate the WebSocket upgrade by passing your token as a query parameter: ?token=YOUR_TOKEN.