Odds endpoints mix unrelated outcomes into a single event response (event 318)
Summary For Crystal Palace vs Newcastle United (event 318), the odds responses contain outcomes from completely different matches (for example Cesena, Reggiana, Padova, Catanzaro, Virtus Entella), even though event_info.id is 318. This causes wrong bookmaker 1X2 prices for the target match. Environment API base: https://sports.bzzoiro.com/api Timestamp of reproduction: 2026-04-12T13:08:50Z Auth: Token auth Target event: 318 (Crystal Palace vs Newcastle United) Reproduction Steps Call GET https://sports.bzzoiro.com/api/events/318/ Call GET https://sports.bzzoiro.com/api/odds/compare/?event=318 Call GET https://sports.bzzoiro.com/api/odds/?event=318&market=1x2&page_size=50 Expected Only outcomes for this match should appear in 1x2: Crystal Palace Draw Newcastle (or Newcastle United) Bookmaker prices should correspond to this exact event. Actual Compare endpoint returns foreign team outcomes in 1x2: 1x2 keys count: 13 Foreign outcomes include: Virtus Entella, Empoli, Reggiana, Padova, Catanzaro, Juve Stabia, Cesena, Palermo Raw odds endpoint also contains foreign outcomes while event_info is still event 318: Example rows from GET /api/odds/?event=318&market=1x2 outcome_name: Cesena, bookmaker: Eurobet, decimal_odds: 5.2, event_info.id: 318 outcome_name: Virtus Entella, bookmaker: Stake Sport Italia, decimal_odds: 3.8, event_info.id: 318 outcome_name: Reggiana, bookmaker: Bwin Italia, decimal_odds: 3.6, event_info.id: 318 outcome_name: Catanzaro, bookmaker: AdmiralBet, decimal_odds: 3.25, event_info.id: 318 Event-level odds from event detail look coherent: GET /api/events/318/ odds_home: 2.9 odds_draw: 3.25 odds_away: 2.4 But compare/bookmaker values for Bwin Spain are very different: Crystal Palace: 2.00 Draw: 2.25 Newcastle: 1.71 User impact Incorrect bookmaker lines are shown for 1X2. End users see odds that do not match bookmaker websites. Any app relying on compare or raw event-filtered odds may display wrong data.