{"version":"1.0.0","guideUrl":"/guide.html","endpoints":[{"method":"POST","authRequired":false,"summary":"Create a new account with an email and password (min 8 chars).","path":"/api/auth/register"},{"method":"POST","authRequired":false,"summary":"Exchange credentials for a JWT access token.","path":"/api/auth/login"},{"method":"GET","authRequired":true,"summary":"Return the authenticated user's profile (id, email, roles, join date).","path":"/api/auth/me"},{"method":"GET","authRequired":true,"summary":"List the files owned by the authenticated user.","path":"/api/files"},{"method":"POST","authRequired":true,"summary":"Upload a file (multipart/form-data field 'file').","path":"/api/files/upload"},{"method":"GET","authRequired":true,"summary":"Download one of your files by id.","path":"/api/files/{id}"},{"method":"DELETE","authRequired":true,"summary":"Delete one of your files by id.","path":"/api/files/{id}"},{"method":"GET","authRequired":true,"summary":"List every file in the system (ADMIN role only).","path":"/api/files/all"},{"method":"GET","authRequired":false,"summary":"This usage guide.","path":"/api/info"},{"method":"GET","authRequired":false,"summary":"Liveness probe; returns {\"status\":\"ok\"}.","path":"/health"}],"limits":{"maxFileSize":"50 MB","allowedExtensions":["pdf","png","jpg","jpeg","txt","doc","docx","xlsx","zip"]},"description":"SecShare is a self-hosted, authenticated file-sharing service. Users register an account, sign in to receive a JWT, and then upload, list, download and delete their own files over a REST API. Files are private to the owner; nobody else can read or delete them.","name":"SecShare","mailEnabled":true,"authentication":{"tokenLifetimeMinutes":60,"howTo":"Call POST /api/auth/login and send the returned accessToken as an 'Authorization: Bearer <token>' header on every protected request.","type":"Bearer JWT"}}