API Documentation

Integrate WisPanel with your applications using our comprehensive REST API.

Base URL

https://your-server-ip:2083/api/v1

All API endpoints are relative to this base URL.

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.

Rate Limiting

API requests are limited to 60 requests per minute per API token.

  • X-RateLimit-Limit: Maximum requests per minute
  • X-RateLimit-Remaining: Remaining requests
  • X-RateLimit-Reset: Unix timestamp when limit resets