Skip to content

Panel API (/api/v1)

The panel API serves the browser UI and uses user-session JWT + RBAC.

Authentication

  • POST /auth/login returns access + refresh tokens
  • Subsequent requests carry Authorization: Bearer <access_token>
  • Refresh the access token with the refresh token when it expires
  • Login is rate-limited; with 2FA enabled, login requires POST /auth/mfa/verify first

Unified Response

{ "code": 0, "message": "ok", "data": { } }

Endpoints

Auth & Users

Method Path Description
POST /auth/login Login (rate-limited)
POST /auth/refresh Refresh token
POST /auth/logout Logout
POST /auth/mfa/verify Verify MFA code at login
GET /auth/mfa/status Current user's MFA binding status
POST /auth/mfa/setup Generate MFA binding QR/secret
POST /auth/mfa/enable Verify and enable MFA
POST /auth/mfa/disable Unbind MFA
GET/PUT /profile Personal profile (nickname / avatar / email)
POST /profile/password Change password
GET/POST/PUT/DELETE /users User CRUD
GET/POST/PUT/DELETE /roles Role CRUD
GET /roles/groups Permission groups
GET /permissions Current user's permissions

Panel Settings

Method Path Description
GET /settings Read all non-sensitive settings (settings.view)
PUT /settings Batch-update settings (settings.edit)

Sensitive items (jwt_secret, metrics_pass) are not returned; write-protected items (jwt_secret) cannot be overwritten. See Panel Settings.

Monitoring & Alerts

Method Path Description
GET /dashboard/overview Dashboard overview
GET /dashboard/metrics Dashboard metrics
GET /system/monitor Monitor summary
CRUD /alert-rules Alert rules
GET /alert-events Alert events

Notifications

Method Path Description
GET /notifications Notification list
GET /notifications/unread-count Unread count
PUT /notifications/read-all Mark all read
PUT /notifications/:id/read Mark one read
DELETE /notifications/:id / /notifications Delete one / clear all

Resources

Method Path Description
CRUD /websites Websites
CRUD /databases Databases
GET/POST /apps /app-categories App store & categories
GET/POST /containers /images /volumes /networks Docker resources
GET/POST /files Files
CRUD /cron-jobs Cron jobs
GET /logs /logs/tail Logs

System & Security

Method Path Description
GET /system/info /processes /ports /disks /network /users /groups /firewall System resources
GET/POST /security/... Host security (baseline / FIM / threat / firewall / login)
GET /audit-logs /access-logs Audit / access logs

AI & Integration

Method Path Description
POST /ai/chat AI chat (function calling)
POST /ai/chat/stream AI chat (streaming SSE)
GET/POST/PUT/DELETE /mcp MCP config
GET/POST/DELETE /skills and more AI skills (SkillHub search/install/upload)

Terminal

Method Path Description
GET /terminal WebSocket terminal (query-token auth)
GET /containers/:id/exec Container WebSocket terminal

Notes

  • All write operations are guarded by RBAC permission points (e.g. website.create, container.edit, settings.edit).
  • Critical operations are written to the audit log; authenticated requests to the access log.