Real-time VPS metrics (CPU/RAM/disk/net)
GET/services/:id/status
Real-time metric via a Virtualizor act=vpsstat call. NO cache — every call goes to the Virtualizor master. A dedicated rate limit bucket is allocated for high-frequency polling.
Rate limit: services_status_300rpm bucket — 300 req/min per key. ISOLATED from the default bucket; the reseller can poll concurrently with /auth/balance, the counters are separate.
Error behavior: If Virtualizor is down it returns 502 (NO graceful degradation — a partial response is meaningless for a real-time metric).
Cache: NONE (at 300 RPM capacity, 1-2 seconds of stale data has no value).
Request
Responses
- 200
- 401
- 403
- 404
- 429
- 502
Real-time metrics
Response Headers
Limit defined for the services_status_300rpm bucket
Number of requests remaining in the current window
Unix epoch of the start of the next window (UTC seconds)
Authentication failed — missing header, wrong credential, outside the IP whitelist, or a revoked key. No detail is leaked; all cases return a single message.
Response Headers
RFC 7617 Basic Auth challenge
Insufficient authorization — the reseller tried to access another reseller's service_id, or has insufficient scope for an endpoint requiring admin scope. The message is kept generic (ServiceOwnershipMiddleware prevents leakage).
Service not found OR no Virtualizor mapping
Per-minute limit exceeded
Response Headers
Seconds to wait before retrying after a 429 (RFC 7231 §7.1.3)
The per-minute limit defined for this key
Unix epoch of the start of the next window (UTC seconds)
Virtualizor master upstream error (timeout / 5xx)