Download OpenAPI specification:Download
A lightweight self-hosted file manager API
Returns the admin configuration settings, decrypting the configuration file and providing default values if not set.
{- "header_title": "FileRise",
- "oidc": {
- "clientId": "YOUR_CLIENT_ID",
- "clientSecret": "YOUR_CLIENT_SECRET",
}, - "loginOptions": {
- "disableFormLogin": false,
- "disableBasicAuth": false,
- "disableOIDCLogin": false
}, - "globalOtpauthUrl": ""
}Updates the admin configuration settings. Requires admin privileges and a valid CSRF token.
| header_title required | string |
required | object |
required | object |
| globalOtpauthUrl | string |
{- "header_title": "FileRise",
- "oidc": {
- "clientId": "YOUR_CLIENT_ID",
- "clientSecret": "YOUR_CLIENT_SECRET",
}, - "loginOptions": {
- "disableFormLogin": false,
- "disableBasicAuth": false,
- "disableOIDCLogin": false
}, - "globalOtpauthUrl": ""
}{- "success": "Configuration updated successfully."
}Handles user authentication via OIDC or form-based credentials. For OIDC flows, processes callbacks; otherwise, performs standard authentication with optional TOTP verification.
| username required | string |
| password required | string |
| remember_me | boolean |
| totp_code | string |
{- "username": "johndoe",
- "password": "secretpassword",
- "remember_me": true,
- "totp_code": "123456"
}{- "status": "ok",
- "success": "Login successful",
- "username": "johndoe",
- "isAdmin": true
}Checks if the current session is authenticated. If the users file is missing or empty, returns a setup flag. Also returns information about admin privileges, TOTP status, and folder-only access.
{- "authenticated": true,
- "isAdmin": true,
- "totp_enabled": false,
- "username": "johndoe",
- "folderOnly": false
}Performs HTTP Basic authentication. If credentials are missing, sends a 401 response prompting for Basic auth. On valid credentials, optionally handles TOTP verification and finalizes session login.
{- "success": "Login successful"
}Copies files from a source folder to a destination folder. It validates folder names, handles file renaming if a conflict exists, and updates metadata accordingly.
| source required | string |
| destination required | string |
| files required | Array of strings |
{- "source": "root",
- "destination": "Documents",
- "files": [
- "example.pdf"
]
}{- "success": "Files copied successfully"
}Moves the specified files from the given folder to the trash and updates metadata accordingly.
| folder | string |
| files required | Array of strings |
{- "folder": "Documents",
- "files": [
- "example.pdf"
]
}{- "success": "Files moved to Trash: file1.pdf, file2.doc"
}Moves files from a source folder to a destination folder, updating metadata accordingly.
| source required | string |
| destination required | string |
| files required | Array of strings |
{- "source": "root",
- "destination": "Archives",
- "files": [
- "report.pdf"
]
}{- "success": "Files moved successfully"
}Renames a file within a specified folder and updates folder metadata. If a file with the new name exists, a unique name is generated.
| folder required | string |
| oldName required | string |
| newName required | string |
{- "folder": "Documents",
- "oldName": "oldfile.pdf",
- "newName": "newfile.pdf"
}{- "success": "File renamed successfully",
- "newName": "newfile.pdf"
}Saves file content to disk in a specified folder and updates metadata accordingly.
| fileName required | string |
| content required | string |
| folder | string |
{- "fileName": "document.txt",
- "content": "File content here",
- "folder": "Documents"
}{- "success": "File saved successfully"
}Downloads a file from a specified folder. The file is served inline for images or as an attachment for other types.
| file required | string Example: file=example.pdf The name of the file to download |
| folder | string Example: folder=Documents The folder in which the file is located. Defaults to root. |
Creates a ZIP archive of the specified files in a folder and serves it for download.
| folder required | string |
| files required | Array of strings |
{- "folder": "Documents",
- "files": [
- "example.pdf"
]
}Extracts ZIP archives from a specified folder and updates metadata. Returns a list of extracted files.
| folder required | string |
| files required | Array of strings |
{- "folder": "Documents",
- "files": [
- "archive.zip"
]
}{- "success": true,
- "extractedFiles": [
- "string"
]
}Restores files from Trash based on provided trash file identifiers and updates metadata.
| files required | Array of strings |
{- "files": [
- "trashedFile_1623456789.zip"
]
}{- "success": "Items restored: file1, file2",
- "restored": [
- "string"
]
}Deletes trash items based on provided trash file identifiers from the trash metadata and removes the files from disk.
| deleteAll required | boolean |
{- "files": [
- "trashedfile_1234567890"
]
}{- "deleted": [
- "string"
]
}Saves tag data for a specified file and updates global tag data. For folder-specific tags, saves to the folder's metadata file.
| file required | string |
| folder | string |
required | Array of objects |
| deleteGlobal | boolean |
| tagToDelete | string |
{- "file": "document.txt",
- "folder": "Documents",
- "tags": [
- {
- "name": "Important",
- "color": "#FF0000"
}
], - "deleteGlobal": false,
- "tagToDelete": "OldTag"
}{- "success": "Tag data saved successfully.",
- "globalTags": [
- { }
]
}Creates a new folder in the upload directory (under an optional parent) and creates an associated empty metadata file.
| folderName required | string |
| parent | string |
{- "folderName": "NewFolder",
- "parent": "Documents"
}{- "success": true
}Deletes a specified folder if it is empty and not the root folder, and also removes its metadata file.
| folder required | string |
{- "folder": "Documents/Subfolder"
}{- "success": true
}Renames an existing folder and updates its associated metadata files.
| oldFolder required | string |
| newFolder required | string |
{- "oldFolder": "Documents/OldFolder",
- "newFolder": "Documents/NewFolder"
}{- "success": true
}Handles file uploads for both chunked and non-chunked (full) uploads. Validates CSRF, user authentication, and permissions, and processes file uploads accordingly. On success, returns a JSON status for chunked uploads or redirects for full uploads.
Multipart form data for file upload. For chunked uploads, include fields like 'resumableChunkNumber', 'resumableTotalChunks', 'resumableIdentifier', 'resumableFilename', etc.
| token required | string Share token or upload token. |
| fileToUpload required | string <binary> The file to upload. |
| resumableChunkNumber | integer Chunk number for chunked uploads. |
| resumableTotalChunks | integer Total number of chunks. |
| resumableFilename | string Original filename. |
| folder | string Target folder (default 'root'). |
{- "success": "File uploaded successfully",
- "newFilename": "5f2d7c123a_example.png",
- "status": "chunk uploaded"
}Removes the temporary directory used for chunked uploads, given a folder name matching the expected resumable pattern.
| folder required | string |
{- "folder": "resumable_myupload123"
}{- "success": true,
- "message": "Temporary folder removed."
}Adds a new user to the system. In setup mode, the new user is automatically made admin.
| username required | string |
| password required | string |
| isAdmin | boolean |
{- "username": "johndoe",
- "password": "securepassword",
- "isAdmin": true
}{- "success": "User added successfully"
}Removes the specified user from the system. Cannot remove the currently logged-in user.
| username required | string |
{- "username": "johndoe"
}{- "success": "User removed successfully"
}Updates permissions for users. Only available to authenticated admin users.
required | Array of objects |
{- "permissions": [
- {
- "username": "johndoe",
- "folderOnly": true,
- "readOnly": false,
- "disableUpload": false
}
]
}{- "success": "User permissions updated successfully."
}Allows an authenticated user to change their password by verifying the old password and updating to a new one.
| oldPassword required | string |
| newPassword required | string |
| confirmPassword required | string |
{- "oldPassword": "oldpass123",
- "newPassword": "newpass456",
- "confirmPassword": "newpass456"
}{- "success": "Password updated successfully."
}Updates user panel settings by disabling TOTP when not enabled. Accessible to authenticated users.
| totp_enabled required | boolean |
{- "totp_enabled": false
}{- "success": "User panel updated: TOTP disabled"
}Verifies a TOTP code and completes login for pending users or validates TOTP for setup verification.
| totp_code required | string |
{- "totp_code": "123456"
}{- "status": "ok",
- "message": "Login successful"
}