{"service":"dispatcher-api","version":"0.1.0","git_sha":null,"started_at":"2026-10-25T10:23:30Z","timezone":"Europe/Vilnius","endpoints":["GET    /healthz","GET    /health","GET    /ready","GET    /version","POST   /api/v1/auth/register","POST   /api/v1/auth/login","POST   /api/v1/auth/refresh","POST   /api/v1/auth/logout","GET    /api/v1/auth/me","POST   /api/v1/auth/password","GET    /api/v1/auth/prefs","PATCH  /api/v1/auth/prefs","GET    /api/v1/accounts/current","PATCH  /api/v1/accounts/current","GET    /api/v1/accounts/current/audit","GET    /api/v1/accounts/current/api-keys","POST   /api/v1/accounts/current/api-keys","DELETE /api/v1/accounts/current/api-keys/{id}","GET    /api/v1/users","POST   /api/v1/users","GET    /api/v1/users/{id}","PATCH  /api/v1/users/{id}","DELETE /api/v1/users/{id}","GET    /api/v1/sites","POST   /api/v1/sites","GET    /api/v1/sites/{siteId}","GET    /api/v1/sites/{siteId}/plan-vs-actual","GET    /api/v1/sites/{siteId}/configuration","PATCH  /api/v1/sites/{siteId}/configuration","GET    /api/v1/sites/{siteId}/now","PATCH  /api/v1/sites/{siteId}","DELETE /api/v1/sites/{siteId}","POST   /api/v1/sites/{siteId}/command","GET    /api/v1/commands","GET    /api/v1/commands/{requestId}","GET    /api/v1/telemetry/live","GET    /api/v1/telemetry/live/{siteId}","GET    /api/v1/telemetry/history/{siteId}","GET    /api/v1/telemetry/summary","GET    /api/v1/telemetry/stream","GET    /api/v1/telemetry/starred","WS     /api/v1/telemetry/ws","GET    /api/v1/telemetry/prices","GET    /api/v1/telemetry/balancing","GET    /api/v1/groups","POST   /api/v1/groups","PATCH  /api/v1/groups/{groupId}","DELETE /api/v1/groups/{groupId}","GET    /api/v1/devices","POST   /api/v1/devices","GET    /api/v1/devices/{deviceId}","PATCH  /api/v1/devices/{deviceId}","DELETE /api/v1/devices/{deviceId}","POST   /api/v1/devices/{deviceId}/star","POST   /api/v1/devices/{deviceId}/command","GET    /api/v1/decisions","POST   /api/v1/decisions","POST   /api/v1/decisions/cycle","POST   /api/v1/decisions/cycle-batch","POST   /api/v1/decisions/shadow","GET    /api/v1/decisions/kpis","GET    /api/v1/decisions/compare","GET    /api/v1/decisions/{decisionId}","GET    /api/v1/decisions/{decisionId}/slots","GET    /api/v1/decisions/{decisionId}/explain","GET    /api/v1/decisions/{decisionId}/uncertainty-impact","GET    /api/v1/decisions/{decisionId}/diagnostics","GET    /api/v1/decisions/{decisionId}/transitions","POST   /api/v1/decisions/{decisionId}/transition","POST   /api/v1/decisions/{decisionId}/override","POST   /api/v1/decisions/{decisionId}/rescore","GET    /api/v1/pv-forecast","GET    /api/v1/pv-forecast/{siteId}","GET    /api/v1/load-forecast","GET    /api/v1/load-forecast/{siteId}","GET    /api/v1/agent/status","GET    /api/v1/operations/status","GET    /api/v1/operations/policy","GET    /api/v1/operations/execution-audit","GET    /api/v1/operations/heartbeat","GET    /api/v1/operations/stamp-coverage","GET    /api/v1/operations/glance","POST   /api/v1/operations/emergency-stop","GET    /api/v1/fleet/board","GET    /api/v1/fleet/exceptions","POST   /api/v1/fleet/exceptions/ack","POST   /api/v1/fleet/exceptions/mute","POST   /api/v1/fleet/exceptions/clear","GET    /api/v1/health/market-autoprocesses","GET    /api/v1/health/forecast-quality","GET    /api/v1/health/forecast-residuals","GET    /api/v1/health/forecast-horizon","POST   /api/v1/health/market-autoprocesses/{processId}/run","GET    /brains-docs"]}