Skip to content

API Overview

All endpoints are prefixed with /api/.

http://localhost:8080/api/

Most endpoints require authentication. Two methods are accepted:

Terminal window
# Bearer token in Authorization header
Authorization: Bearer <token>
# HttpOnly cookie (set by login endpoint)
Cookie: rustyfile_token=<token>

Public endpoints (no auth required): health check, setup status, login, logout.

  • Content-Type: application/json for JSON bodies
  • Content-Type: application/offset+octet-stream for TUS chunk uploads
  • Path parameters use URL-encoded segments

All responses return JSON with consistent structure:

// Success
{ "entries": [...], "total": 42, "truncated": false }
// Error
{ "error": "Human-readable error message" }
GroupPrefixAuth RequiredDescription
Auth/api/auth/VariesLogin, logout, token refresh
Setup/api/setup/NoFirst-run admin creation
Filesystem/api/fs/YesBrowse, create, edit, delete, download, search
Uploads/api/tus/YesTUS resumable upload protocol
Media/api/thumbs/, /api/hls/YesThumbnails, HLS streaming
Health/api/health/NoService health check