API Documentation

Integrate WisPanel with your applications using our comprehensive REST API.

Base URL

https://your-server-ip:2083/api/v1

All API endpoints are relative to this base URL.

Server Info, Dashboard & Stats

Server Info, Dashboard & Stats

Read-only telemetry. No /api/v1/server-info route — use these (all verified live). Auth: Authorization: Bearer wsp_…


Version

GET /api/v1/version/info → { "version": "1.4.2", "channel": "stable", "build_time": "unknown", "git_commit": "unknown", "info": "WisPanel v1.4.2" }

GET /api/v1/version/check (verified live):

{ "update_available": false, "current_version": "1.4.2",
  "latest_version": "1.4.2", "changelog": "## WisPanel 1.4.2 …" }

Dashboard — /api/v1/dashboard

GET /dashboard/resources (current user's cgroup, verified live):

{ "username": "admin", "cpu_quota_pct": 100, "cpu_used_pct": 0,
  "ram_max_mb": 512, "ram_used_mb": 0.19, "swap_max_mb": 0,
  "tasks_max": 200, "tasks_current": 1, "io_weight": 100,
  "mysql_max_queries_hour": 0, "mysql_max_user_connections": 0 }

GET /dashboard/metrics (host, verified live):

{ "type": "metrics", "cpu": 15.66, "memory": 22.89,
  "memory_used": 474189824, "memory_total": 2071937024,
  "disk": 25.50, "network_in": 16699434584,
  "load_avg_1": 0.07, "load_avg_5": 0.16, "load_avg_15": 0.11 }

GET /dashboard/admin-stats → { "total_users": 10, "total_domains": 7, "total_databases": 2, "total_emails": 0, "total_ftp": 0, "total_ssl_certs": 0 }. GET /dashboard/user-usage → { "disk_used": 1, "disk_limit": -1, "bandwidth_used": 0, "domains_used": 0, "inodes_used": 41, … }. Also /dashboard/system-detail · /dashboard/services-stats · /dashboard/resources/top (admin).

/dashboard/stats is not a route (returns the SPA shell).

Locales (public, no auth)

GET /api/v1/locales/ · /locales/manifest.json · /locales/:lang/:namespace.


Conventions → Authentication, Error Handling.

Rate Limiting

API requests are limited to 60 requests per minute per API token.

  • X-RateLimit-Limit: Maximum requests per minute
  • X-RateLimit-Remaining: Remaining requests
  • X-RateLimit-Reset: Unix timestamp when limit resets