File and folder operations. List, search, create folders, copy, move, delete, rename, restore from trash, transfer (copy or move) between containers, manage file versions, acquire/release file locks, and get preview/transform URLs. Works on both workspaces and shares. Destructive action: purge permanently destroys a trashed node (irreversible). delete moves to trash (recoverable via restore).
Actions & required params:
- list: node_id (+ optional: sort_by, sort_dir, page_size, cursor)
- recent: lists most recently modified files/folders across the entire workspace or share (not scoped to a specific folder) (+ optional: type, page_size, cursor)
- details: node_id (single) OR node_ids (1-25 IDs, all in the same workspace/share). Bulk requests return {format:'multi', nodes, errors} with per-id errors; >25 IDs is rejected — chunk client-side.
- search: query (+ optional: files_scope, folders_scope, details, limit, offset)
- trash-list: (workspace-only, + optional: limit, offset)
- create-folder: parent_node_id, name
- copy: node_id or node_ids, target_parent_id
- move: node_id or node_ids, target_parent_id
- delete: node_id or node_ids [DESTRUCTIVE]
- rename: node_id, new_name
- purge: node_id [DESTRUCTIVE]
- restore: node_id or node_ids
- add-file: parent_node_id, name, upload_id
- add-link: parent_node_id, share_id (workspace-only)
- transfer: node_id, dest_instance_id, dest_parent_id (+ optional: transfer_mode)
- version-list: node_id
- version-restore: node_id, version_id
- lock-acquire: node_id
- lock-status: node_id
- lock-release: node_id
- preview-url: node_id, preview_type
- preview-transform: node_id, transform_name (+ optional: width, height, output_format, size)
- read-content: node_id — Read file content directly (max 1MB). Returns content_type='text' (UTF-8) for textual MIME types and for `application/octet-stream` / unknown-MIME content that decodes cleanly as UTF-8 (defensive sniff for mislabeled text uploads); content_type='base64' otherwise (genuine binary files or text MIMEs with non-UTF-8 bytes) (+ optional: max_size)