📚 API Documentation

50+ endpoints REST pour intégrer BetRecord dans tes outils — gratuit, pas de clé requise sur les routes publiques.

🏆 Sports 🌍 WC2026 💰 Sharp Money ⚖️ Arbitrage 🎯 RLM Signals 📡 Tipsters 🧮 EV Calc 🔍 Analyse 🔐 Auth ⚖️ RGPD 📊 Monitoring

🏆 Sports — Catalogue

GET/api/sports Try → Liste les 8 sports premium 10/10 (football, tennis, rugby, basket, baseball, hockey, handball, volleyball) avec stats sections/chars/ligues
GET/api/sports/counts Try → Counts live fixtures upcoming (cache 5 min)

🌍 FIFA World Cup 2026 (12 juin - 19 juillet 2026)

GET/api/wc2026/summary Try → Dashboard summary : top picks + counts matchs/articles/odds
GET/api/wc2026/winner-odds?limit=20 Try → Top N pays Polymarket Winner odds (probas crypto $1.2B liquidity)
GET/api/wc2026/upcoming-matches?days=14 Matchs WC à venir avec odds 1X2 BetRecord (jusqu'à 60 jours)
GET/api/wc2026/press?limit=20&lang=fr Articles presse FR/EN ingérés via 20 RSS feeds

💰 Sharp Money Feed

GET/api/sharp/feed?hours=24&limit=50 Try → Détection mouvements cotes anormaux (cron */15min, ~336 alerts/7j)
GET/api/sharp/stats Try → Stats agrégées : nb alerts par sport, top bookmakers, last update

⚖️ Arbitrage Finder

GET/api/arbitrage/find?min_roi_pct=0.5&max_age_h=12 Try → Scan 51 bookmakers, opportunités arbitrage 1X2 avec ROI garanti
GET/api/arbitrage/health Try → Freshness des odds (alerte si données stale)

🎯 RLM Signals (Reverse Line Movement)

GET/api/rlm/signals?min_drift_pct=2.0&max_age_h=48 Matchs où la cote bouge à l'inverse du %public (proxy sharp money)
GET/api/rlm/explain Try → Doc inline : signal types (sharp_fade, sharp_take), interprétation

📡 Tipsters Leaderboard

GET/api/tipsters/leaderboard?window_days=30 Classement 20 sources foot par winrate (Wilson lower bound 30j)
GET/api/tipsters/consensus?min_tipsters=3&days=7 Picks consensus matchs avec ≥3 tipsters d'accord
GET/api/tipsters/sources Try → Liste 20 sources tipsters + dernière collecte

🧮 EV Calculator + Kelly

POST/api/ev/quick Body : {book_odds:[1.8,3.6,4.5], fair_odds:[2.0,3.5,4.0], devig_method:"multiplicative"}. Retourne EV+ outcomes + Kelly fraction.

🔍 Deep Analyst + Chat IA + Regime

POST/api/deep-analyst/analyze "Pourquoi tu as perdu ?" → classification 5 verdicts (MALCHANCE/RISQUE_ASSUMÉ/MAUVAIS_CHOIX/COUVERTURE_RATÉE/FACTEUR_EXTERNE) + recommandation
POST/api/chat/ask Chatbot Kimi cascade FR anti-hallu 0.996. Body : {question, match_id?}
GET/api/regime/detect?user_id=X 7 régimes marché (CALME/BULL/VOLATIL/DRAWDOWN_PROFOND/BEAR/RECOVERY) + VaR/ES forecast

🔐 Auth (token UUID, simple)

POST/api/auth/register Body : {email} → retourne token UUID. Welcome email automatique si RESEND_API_KEY actif.
GET/api/auth/validate?token=XYZ Vérifie validité d'un token

⚖️ RGPD (art.17 delete + art.20 export)

DELETE/api/auth/delete-account RGPD art.17 — Suppression compte + données. Body : {email, token}. Purge async dans 30j.
GET/api/rgpd/export-data?email=X&token=Y RGPD art.20 — Portabilité : exporte toutes les données utilisateur en JSON

📊 Monitoring

GET/health Try → Uptime check léger
GET/health/full Try → DB connectivity + counts + version
GET/metrics Try → Prometheus text format 0.0.4 : uptime, db_size, table_counts, supervisor_issues_4h, anti_hallu_score_24h

📋 Conventions générales