API Dokumentation
Vollständige REST API Referenz für TREVLIX v1.9.4. Alle Endpunkte erfordern JWT-Authentifizierung.
Base-URL: http://localhost:5000/api/v1
Alle Endpunkte erfordern einen Authorization: Bearer <JWT> Header, sofern nicht anders angegeben.
🔒 Authentifizierung
TREVLIX nutzt JWT (JSON Web Tokens) zur Authentifizierung. Nach dem Login erhalten Sie einen Token, der bei jedem API-Request im Header mitgesendet wird.
Login
POST /api/v1/login // Request Body: { "username": "admin", "password": "your_password", "totp": "123456" // optional, wenn 2FA aktiviert } // Response: { "token": "eyJhbGci...", "role": "admin", "expires_in": 1800 }
Token erneuern
POST /api/v1/token Authorization: Bearer <JWT> // Response: { "token": "eyJhbGci...", "label": "dashboard" }
📈 Status & System
💰 Trading
Order-Beispiel
POST /api/v1/order Authorization: Bearer <JWT> { "symbol": "BTC/USDT", "side": "buy", "amount": 0.001, "type": "limit", "price": 92000 }
🧠 KI & Analyse
🧬 Trade DNA & Smart Exits
Die Trade DNA Engine erkennt wiederkehrende Muster in Ihren Trades und bewertet deren Erfolgsrate. Smart Exits passen Stop-Loss und Take-Profit dynamisch an das aktuelle Marktregime an. v1.7.1
Trade DNA Status
GET /api/v1/trade-dna Authorization: Bearer <JWT> // Response: { "enabled": true, "total_patterns": 42, "total_trades": 318, "avg_win_rate": 0.61, "top_patterns": [ ... ], "worst_patterns": [ ... ] }
DNA-Muster abrufen
GET /api/v1/trade-dna/patterns Authorization: Bearer <JWT> // Response: { "top_patterns": [ { "fingerprint": "RSI_OB+MACD_CROSS", "win_rate": 0.78, "wins": 18, "total": 23 } ], "worst_patterns": [ { "fingerprint": "VOL_SPIKE+FOMO", "win_rate": 0.22, "wins": 2, "total": 9 } ] }
Smart Exit Konfiguration
GET /api/v1/smart-exits Authorization: Bearer <JWT> // Response: { "enabled": true, "regime_multipliers": { "sl": { "trending": 1.2, "ranging": 0.8, "volatile": 1.5 }, "tp": { "trending": 1.5, "ranging": 0.9, "volatile": 1.3 } }, "config": { "atr_sl_mult": 2.0, "reward_ratio": 2.5 }, "last_adjustments": [ ... ] }
💚 Auto-Healing & Health
Der Auto-Healing Agent ueberwacht Prozesse, APIs und Datenbank. Bei Fehlern erfolgt automatische Wiederherstellung mit Eskalation. v1.5.0
💰 Revenue Tracking
Echtzeit-PnL-Berechnung nach Gebuehren und Slippage. Tages-, Wochen- und Monatszusammenfassungen. v1.5.0
🌐 Multi-Server Cluster
Verwalte mehrere TREVLIX-Instanzen als Cluster. Remote-Monitoring, Start/Stop/Deploy, aggregierte Metriken. v1.5.0
🚨 Alert Escalation
Mehrstufiges Alert-System mit automatischer Eskalation (INFO → WARNING → CRITICAL → EMERGENCY). v1.5.0
📈 Performance Attribution & Adaptive Weights
Hedge-Fund-Style Profit/Loss-Analyse und selbstlernende Strategie-Gewichtung. v1.5.0
🌎 Marktdaten
⚙ Konfiguration
🛠 Admin
Hinweis: Admin-Endpunkte erfordern die Rolle admin. Normale User haben keinen Zugriff.
📡 WebSocket Events
TREVLIX nutzt Socket.IO fuer Echtzeit-Updates im Dashboard. Verbinde dich mit io('http://localhost:5000').
| Event | Richtung | Beschreibung |
|---|---|---|
| connect | Client → Server | Verbindung herstellen |
| status_update | Server → Client | Bot-Status (Running/Stopped/Paused) |
| portfolio_update | Server → Client | Portfolio-Daten mit Balance |
| trade_update | Server → Client | Neuer Trade ausgefuehrt |
| signal_update | Server → Client | Neues Trading-Signal |
| ai_update | Server → Client | KI-Modell Status-Update |
| error | Server → Client | Fehlermeldung |
WebSocket Beispiel
const socket = io('http://localhost:5000', { auth: { token: 'eyJhbGci...' } }); socket.on('portfolio_update', (data) => { console.log('Balance:', data.total_balance); console.log('P&L:', data.pnl_percent + '%'); }); socket.on('trade_update', (trade) => { console.log('Neuer Trade:', trade.symbol, trade.side, trade.amount); });
⚡ Rate Limits
| Endpunkt-Gruppe | Limit | Fenster |
|---|---|---|
| Login / Register | 5 Requests | pro Minute |
| Trading (Order/Close) | 30 Requests | pro Minute |
| Allgemeine API | 60 Requests | pro Minute |
| Admin-Endpunkte | 30 Requests | pro Minute |
Bei Ueberschreitung erhalten Sie einen 429 Too Many Requests Status. Warten Sie das Zeitfenster ab oder erhoehen Sie das Limit in der .env-Datei.
🚫 Fehlercodes
| Code | Bedeutung | Loesung |
|---|---|---|
| 401 | Nicht authentifiziert | JWT Token erneuern oder neu einloggen |
| 403 | Keine Berechtigung | Admin-Rolle erforderlich |
| 404 | Nicht gefunden | Endpunkt oder Ressource pruefen |
| 422 | Validierungsfehler | Request-Body pruefen |
| 429 | Rate Limit | Weniger Requests senden |
| 500 | Server-Fehler | Logs pruefen, ggf. GitHub Issue erstellen |
| 503 | Exchange nicht erreichbar | Exchange-API Status pruefen |