{"endpoints":["GET /healthz","GET /api/v1/instruments?kind=lme_metal_outright","GET /api/v1/lives/latest","GET /api/v1/lives/history?instrument=155.3.CADF1-R3M&minutes=60","GET /api/v1/spreads/history?instrument=155.13.CA123793&minutes=60","GET /api/v1/forex/history?instrument=240.20.EURUSDCOMP&minutes=60","GET /api/v1/precious/history?instrument=XAU_USD&hours=24","GET /api/v1/ferrous/history?instrument=155.3.SCDF1-D2726G&hours=24","GET /api/v1/premiums/latest","GET /api/v1/premiums/history?instrument=155.3.EADF1-D3026J&hours=24","GET /api/v1/officials/latest","GET /api/v1/officials/history?instrument=155.3.CADF2-RCASH&days=30","GET /api/v1/bars/intraday?instrument=155.3.CADF1-R3M&hours=24","GET /api/v1/bars/historical?instrument=155.3.CADF1-R3M&days=30","GET /api/v1/ecb-rates?days=30","GET /api/v1/fixings/latest","GET /api/v1/fixings/history?instrument=155.20.EURUSDE-DYSPOT&days=30","GET /api/v1/forward-quotes/latest","GET /api/v1/grabber-state","POST /api/v1/auth/login   — body: {email,password,device_id} → returns bearer token + password_must_change flag","GET  /api/v1/auth/me      — returns current user (Bearer + x-device-id required)","POST /api/v1/auth/logout  — revokes current session","POST /api/v1/auth/change-password — body: {old_password, new_password}, clears password_must_change, revokes other sessions","POST /api/v1/auth/accept-terms — body: {version}, records T&Cs acceptance for LME audit","POST /api/admin/users/:id/tier — body: {tier: free|delayed|live}, sets subscriber tier","GET  /api/admin/entitlement-report?from=…&to=… — aggregated subscriber data accesses (LME monthly report)","POST /api/admin/users     — admin creates user (partner-token admin scope)","POST /api/v1/scrap-prices/calculate — body: ScrapConfig JSON (user auth required)","POST /api/v1/scrap-prices/configs — save formula (user auth)","GET  /api/v1/scrap-prices/configs — list saved formulas","GET  /api/v1/scrap-prices/configs/:id — fetch one + latest result","PUT  /api/v1/scrap-prices/configs/:id — update + recompute","DELETE /api/v1/scrap-prices/configs/:id — remove","GET  /api/v1/scrap-prices/stream — SSE: realtime result updates for this user","GET /api/brugg  (customer parity)","GET /api/myne   (customer parity)","WS  /api/v1/stream — subscribe to live tick events"],"service":"mq-api","version":"0.0.1"}