File Manager
File Manager
Browse & manipulate files in the user's home. Base:
/api/v1/files Β· Auth: Authorization: Bearer wsp_β¦
Error envelope:
{ "success": false, "code": "VALIDATION_ERROR", "error": "Path is required", "message": "Path is required", "status": 400 }
List β GET /api/v1/files/list?path=/
Response 200 (verified live):
[ { "name": "Maildir", "path": "/Maildir", "is_dir": true,
"size": 4096, "permission": "770", "owner": "admin",
"mod_time": "2026-05-11 06:46:35" } ]
Read / write
GET /api/v1/files/read?path=/notes.txt β 200 (verified live):
{ "content": "hello", "path": "/notes.txt", "size": 5 }
POST /api/v1/files/write Request:
{ "path": "/notes.txt", "content": "hello world" } β 200:
{ "message": "File saved successfully" }
400 (verified live): β¦ "error": "Path is required" β¦
Delete & trash
POST /api/v1/files/delete Request: { "path": "/notes.txt" }
β 200 (verified live β soft delete):
{ "is_trashed": true, "message": "Moved to trash" }
GET /api/v1/files/trash β 200 (verified live):
{ "items": [ { "trash_path": "_bt_notes.txt_t_1779101076682378120",
"original_path": "/notes.txt", "name": "notes.txt",
"is_dir": false, "size": 5,
"deleted_at": "2026-05-18 17:44:36" } ] }
POST /files/trash/restore; DELETE /api/v1/files/trash empties it
β { "message": "Deleted N items permanently" } (verified live).
Other ops
POST /files/mkdir { "path": "/new" }; /rename
{ "path": "/a", "new_path": "/b" }; /copy Β· /move
{ "source": "/a", "destination": "/b" }; /compress
{ "paths": ["/a"], "archive": "/a.zip" }; /extract; /chmod
{ "path": "/x", "mode": "0644" }. GET /files/config β
{ "recycle_bin_enabled": true, "editor_font_size": 14, "editor_theme": "vs-dark" }. GET /files/upload-limits β
{ "max_upload_mb": 500 }. Upload, share, search, history β see the
API reference.
Conventions β Authentication, Error Handling.