Skip to content

API Reference

Admin endpoints require an admin session unless noted.

MethodPathAuthDescription
GET/api/healthnoneHealth check
POST/api/uploadsessionUpload file; CORS / OPTIONS supported
GET/api/directoriessessionDirectory autocomplete
GET/api/auth/setupnoneWhether bootstrap is needed
POST/api/auth/bootstrapnone*Create first admin (only if no users)
POST/api/auth/loginnoneLogin
POST/api/auth/logoutsessionLogout
GET/api/auth/sessionsessionCurrent session
GET/api/admin/filesadminList / search / filter
DELETE/api/admin/files/:idadminDelete one file
PATCH/api/admin/files/:idadminRename / change directory
POST/api/admin/files/batch-deleteadminBatch delete
POST/api/admin/files/batch-moveadminBatch move
GET/api/admin/statsadminCounts / storage / 7-day uploads
GET/api/admin/directoriesadminDirectory list
GET/api/admin/usersadminUser list
POST/api/admin/usersadminCreate user

* bootstrap returns 409 after the system is initialized.

Upload contract

  • Content-Type: multipart/form-data
  • Field file: binary
  • Field directory: optional
  • Auth: browser session cookie (xhr.withCredentials = true)

Success returns JSON including the public URL; failures use explicit HTTP statuses (400 / 403 / 413 / 503, etc.).

Released under the MIT License