Skip to content

API Reference ​

This document is intended for developers. Unless otherwise noted, all endpoints return JSON { success: true, ... }. Admin endpoints require the admin/root role.


Authentication /api/auth ​

MethodPathDescriptionPermission
POST/registerRegister a new userOpen
POST/loginLog in, writes httpOnly CookieOpen
POST/refreshRefresh Access TokenLogged in
POST/logoutLog outLogged in
GET/registration-modeCurrent registration modeOpen
GET/public-settingsPublic settingsOpen
GET/meCurrent user infoLogged in
PATCH/passwordChange passwordLogged in
PATCH/usernameChange usernameroot
POST/avatarUpload avatarLogged in
DELETE/avatarDelete avatarLogged in
POST/guestGet guest tokenOpen

Rooms /api/rooms ​

MethodPathDescriptionPermission
GET/Active room listLogged in
PUT/:roomId/nameChange room nameOwner/root
GET/:roomId/moviesMovie listRoom member
POST/:roomId/moviesAdd movieOwner
POST/:roomId/movies/reorderReorder moviesOwner
PUT/:roomId/movies/:movieIdUpdate movieOwner
DELETE/:roomId/movies/:movieIdDelete movieOwner

Streaming /api/stream ​

MethodPathDescriptionPermission
GET/proxy-imageBilibili image proxy (no auth)Open
GET/bilibili/qrQR code for loginLogged in
GET/bilibili/qr/pollPoll QR code statusLogged in
GET/bilibili/login-statusLogin statusLogged in
POST/bilibili/logoutLog outLogged in
GET/bilibili/user-infoUser infoLogged in
GET/bilibili/following-bangumiFollowed animeLogged in
GET/bilibili/bangumi-episodesAnime episodesLogged in
GET/resolve-bilibiliVideo resolution (NDJSON stream)Logged in
GET/bilibili/danmakuBilibili danmakuLogged in
GET/proxyCDN media proxyLogged in

Danmaku /api/stream/danmaku ​

MethodPathDescriptionPermission
GET/sourcesDanmaku source listLogged in
GET/searchSearch danmakuLogged in
GET/episodesEpisode listLogged in
POST/fetchFetch danmakuLogged in

Anime Sources ​

/anime, /anisubs, /kazumi -- three groups with identical structure:

MethodPathDescriptionPermission
GET/proxyMedia proxyLogged in
GET/sourcesData source listLogged in
GET/searchSearch animeLogged in
GET/episodesEpisode listLogged in
POST/resolveResolve playback URLLogged in

Mount Points /api/webdav, /api/ftp, /api/openlist ​

Three groups with identical structure:

MethodPathDescriptionPermission
GET/mountsMount point listLogged in
POST/mounts/testTest connectionLogged in
POST/mountsAdd mount pointLogged in
PUT/mounts/:idUpdate mount pointLogged in
DELETE/mounts/:idDelete mount pointLogged in
GET/mounts/:id/browseBrowse directoryLogged in
GET/resolveResolve fileLogged in
GET/proxyProxy playbackLogged in

Server Files /api/server-files (root only) ​

MethodPathDescription
GET/rootsRoot directory list
POST/rootsAdd root directory
DELETE/roots/:idDelete root directory
GET/browseBrowse directory
GET/browse-systemBrowse entire disk
POST/uploadUpload file
POST/folderCreate folder
POST/renameRename
DELETE/fileDelete file/folder
GET/resolveResolve playback URL
GET/proxyProxy playback
POST/bilibili-downloadBilibili download (MP4 only, up to 720P)

Admin Panel /api/admin ​

User Management ​

MethodPathDescriptionPermission
GET/usersUser listadmin/root
PATCH/users/:id/roleChange roleroot
POST/users/:id/approveApprove registrationroot
DELETE/users/:idDelete userroot

Room Management ​

MethodPathDescriptionPermission
GET/roomsFull room listadmin/root
DELETE/rooms/:roomIdForce close roomadmin/root
POST/rooms/batch-deleteBatch deleteroot
POST/rooms/delete-allClear all roomsroot
POST/rooms/cleanup-unusedClean up unused roomsadmin/root

System Settings ​

MethodPathDescriptionPermission
GET/settingsGet settingsadmin/root
PUT/settingsUpdate settingsroot

System Updates /api/system/update (root only) ​

MethodPathDescription
GET/checkCheck for updates
POST/applyDownload and apply update
POST/uploadUpload archive update

Other ​

MethodPathDescriptionPermission
GET/api/stream-push/obs-config/:roomIdDownload OBS configOwner
POST/api/client-logsReport frontend logsOpen
GET/healthHealth checkOpen

Response Format ​

Success ​

json
{ "success": true, "data": { ... } }

Error ​

json
{ "success": false, "error": { "message": "Error description", "code": "ERROR_CODE" } }

Stream Response (Bilibili Resolution) ​

{"type":"progress","message":"Resolving..."}
{"type":"result","data":{...}}
{"type":"error","message":"Resolution failed"}

This project is licensed under CC BY-NC-SA.