{"openapi":"3.1.0","info":{"title":"WC2026 Prediction Engine","version":"2.4.0","description":"Probabilistic match intelligence for FIFA World Cup 2026. Feed it two team codes, get back Poisson-modelled win probabilities, expected goals, BTTS odds, correct-score distributions, halftime splits, live in-play updates, head-to-head history, form profiles, upset ratings, parlay combiners, and outright winner forecasts — all for $0.002 USDC.e per call. 12 endpoints · 48 nations · pay-per-request via Tempo MPP.","contact":{"email":"afelay0@gmail.com","url":"https://wc2026mpp.xyz"},"x-guidance":"Call any endpoint with two FIFA codes (e.g. BRA, ARG, FRA) and get structured betting intelligence instantly. POST with JSON body or GET with query params. Pay $0.002 USDC.e per call via Tempo MPP — run `tempo request \"URL\"` to get started."},"servers":[{"url":"https://wc2026mpp.xyz","description":"Production"}],"security":[],"x-discovery":{"ownershipProofs":["did:pkh:eip155:4217:0x21d012bd1227691a865274b493bed44b5398d5a8"]},"x-service-info":{"categories":["sports","data","prediction","ai","betting"],"tags":["football","world-cup","wc2026","soccer","prediction","betting"],"networks":["tempo"],"docs":{"homepage":"https://wc2026mpp.xyz","apiReference":"https://wc2026mpp.xyz/openapi.json","llms":"https://wc2026mpp.xyz/llms.txt"}},"paths":{"/api/service":{"get":{"operationId":"getMatchPrediction","summary":"Full ensemble match prediction","description":"Weighted ensemble: Poisson 45% + market 35% + H2H 20%.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"security":[],"responses":{"200":{"description":"Ensemble prediction with probabilities and recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postMatchPrediction","summary":"Full ensemble match prediction","description":"Weighted ensemble: Poisson 45% + market 35% + H2H 20%. Returns home/draw/away %, key factors, confidence.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away"],"properties":{"home":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"BRA"},"away":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"ARG"}}},"example":{"home":"BRA","away":"ARG"}}}},"responses":{"200":{"description":"Ensemble prediction with probabilities and recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/btts":{"get":{"operationId":"getBtts","security":[],"summary":"Both Teams To Score probability","description":"BTTS Yes/No using Poisson goal models.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"responses":{"200":{"description":"btts_yes, btts_no, scoring probabilities, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postBtts","summary":"Both Teams To Score probability","description":"BTTS Yes/No using Poisson goal models.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away"],"properties":{"home":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"BRA"},"away":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"ARG"}}},"example":{"home":"FRA","away":"ENG"}}}},"responses":{"200":{"description":"btts_yes, btts_no, home_scoring_probability, away_scoring_probability, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/goals":{"get":{"operationId":"getTotalGoals","security":[],"summary":"Total goals over/under prediction","description":"Expected goals and over/under for 0.5–4.5 thresholds.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"responses":{"200":{"description":"expected_goals, over_0_5 through over_4_5, most_likely_total, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postTotalGoals","summary":"Total goals over/under prediction","description":"Expected goals and over/under for 0.5, 1.5, 2.5, 3.5, 4.5 thresholds.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away"],"properties":{"home":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"BRA"},"away":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"ARG"}}},"example":{"home":"ESP","away":"GER"}}}},"responses":{"200":{"description":"expected_goals, over_0_5 through over_4_5, most_likely_total, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/correct-score":{"get":{"operationId":"getCorrectScore","security":[],"summary":"Top 8 exact scoreline probabilities","description":"Most likely scorelines with individual probabilities.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"responses":{"200":{"description":"top_scores [{score, probability}], most_likely, home_clean_sheet, away_clean_sheet"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postCorrectScore","summary":"Top 8 exact scoreline probabilities","description":"Most likely scorelines with individual probabilities and clean sheet chances.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away"],"properties":{"home":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"BRA"},"away":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"ARG"}}},"example":{"home":"BRA","away":"ARG"}}}},"responses":{"200":{"description":"top_scores [{score, probability}], most_likely, home_clean_sheet, away_clean_sheet"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/halftime":{"get":{"operationId":"getHalftime","security":[],"summary":"Half-time result prediction","description":"Predicts half-time result separately from full-time.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"responses":{"200":{"description":"halftime {home_win,draw,away_win}, fulltime {home_win,draw,away_win}, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postHalftime","summary":"Half-time result prediction","description":"Predicts H/D/A at half-time separately from full-time using 42% WC goal allocation model.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away"],"properties":{"home":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"BRA"},"away":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"ARG"}}},"example":{"home":"FRA","away":"ENG"}}}},"responses":{"200":{"description":"halftime {home_win,draw,away_win}, fulltime {home_win,draw,away_win}, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/live":{"get":{"operationId":"getLiveInPlay","security":[],"summary":"In-play win probability","description":"Recalculates win probabilities given current score and elapsed minute.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"},{"name":"score","in":"query","required":true,"schema":{"type":"string"},"example":"1-0"},{"name":"minute","in":"query","required":true,"schema":{"type":"integer","minimum":1,"maximum":90},"example":65}],"responses":{"200":{"description":"win_probability {home,draw,away}, momentum, comeback_probability, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postLiveInPlay","summary":"In-play win probability","description":"Recalculates win/draw/loss probabilities given current score and elapsed minute.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away","score","minute"],"properties":{"home":{"type":"string","description":"Home team code","example":"ESP"},"away":{"type":"string","description":"Away team code","example":"GER"},"score":{"type":"string","description":"Current score HOME-AWAY","example":"1-0"},"minute":{"type":"integer","minimum":1,"maximum":90,"description":"Match minute elapsed","example":65}}},"example":{"home":"ESP","away":"GER","score":"1-0","minute":65}}}},"responses":{"200":{"description":"win_probability {home,draw,away}, momentum, comeback_probability, recommendation"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/form":{"get":{"operationId":"getTeamForm","security":[],"summary":"Team form and stats profile","description":"Attack/defence ratings, form label, goals per game, strengths.","parameters":[{"name":"team","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"MAR"}],"responses":{"200":{"description":"form_pct, attack_rating, defence_rating, overall_rating, strengths"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postTeamForm","summary":"Team form and stats profile","description":"Full team profile: attack/defence ratings, form label, goals per game, strengths.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["team"],"properties":{"team":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"MAR"}}},"example":{"team":"MAR"}}}},"responses":{"200":{"description":"form_pct, attack_rating, defence_rating, overall_rating, strengths"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/h2h":{"get":{"operationId":"getHeadToHead","security":[],"summary":"Head-to-head history","description":"WC H2H record, win rates, dominance, current form comparison.","parameters":[{"name":"team1","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"team2","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"responses":{"200":{"description":"record, win_rates, dominance, current_form_trend, form_comparison"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postHeadToHead","summary":"Head-to-head history","description":"WC head-to-head record, win rates, dominance summary, current form comparison.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["team1","team2"],"properties":{"team1":{"type":"string","description":"First team code","example":"BRA"},"team2":{"type":"string","description":"Second team code","example":"ARG"}}},"example":{"team1":"BRA","team2":"ARG"}}}},"responses":{"200":{"description":"record, win_rates, dominance, current_form_trend, form_comparison"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/upset":{"get":{"operationId":"getUpsetProbability","security":[],"summary":"Upset / underdog probability","description":"Identifies favourite and underdog, returns upset probability.","parameters":[{"name":"home","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"BRA"},{"name":"away","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"ARG"}],"responses":{"200":{"description":"favourite, underdog, upset_probability, upset_rating, value_rating"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postUpsetProbability","summary":"Upset / underdog probability","description":"Identifies favourite and underdog, returns upset probability and value rating.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["home","away"],"properties":{"home":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"BRA"},"away":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"ARG"}}},"example":{"home":"JPN","away":"GER"}}}},"responses":{"200":{"description":"favourite, underdog, upset_probability, upset_rating, value_rating"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/winner":{"get":{"operationId":"getTournamentWinner","security":[],"summary":"Tournament winner probabilities","description":"Win probabilities for all 48 teams. Optional ?top=N (3–48, default 10).","parameters":[{"name":"top","in":"query","required":false,"schema":{"type":"integer","default":10,"minimum":3,"maximum":48}}],"responses":{"200":{"description":"top_contenders [{team,code,confederation,probability}], dark_horse"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postTournamentWinner","summary":"Tournament winner probabilities","description":"Win probabilities for all 48 WC2026 teams. Optional top field (3–48, default 10).","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"top":{"type":"integer","minimum":3,"maximum":48,"default":10,"description":"Number of teams to return"}}},"example":{"top":10}}}},"responses":{"200":{"description":"top_contenders [{team,code,confederation,probability}], dark_horse"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/final":{"get":{"operationId":"getDeepRunProbability","security":[],"summary":"Team knockout / deep-run probabilities","description":"Probability of reaching R16, QF, SF, Final, and winning.","parameters":[{"name":"team","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR"},"example":"MAR"}],"responses":{"200":{"description":"knockout_probabilities {reach_round_of_16, reach_quarterfinal, reach_semifinal, reach_final, win_tournament}, assessment"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postDeepRunProbability","summary":"Team knockout / deep-run probabilities","description":"Probability of a team reaching R16, QF, SF, Final and winning the tournament.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["team"],"properties":{"team":{"type":"string","minLength":2,"maxLength":3,"description":"FIFA 3-letter country code, e.g. BRA, ARG, FRA, ENG, ESP, GER, MAR, USA, JPN, SEN, CRO, MEX, POR, NED, ITA, BEL, URU, COL, NGA, KOR, MAR","example":"MAR"}}},"example":{"team":"MAR"}}}},"responses":{"200":{"description":"knockout_probabilities {reach_round_of_16, reach_quarterfinal, reach_semifinal, reach_final, win_tournament}, assessment"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}},"/api/parlay":{"get":{"operationId":"getParlayAnalysis","security":[],"summary":"Parlay / accumulator analyser","description":"Submit 2–8 matches as HOME-AWAY pairs (comma-separated).","parameters":[{"name":"matches","in":"query","required":true,"schema":{"type":"string"},"example":"BRA-ARG,FRA-ENG,ESP-GER"}],"responses":{"200":{"description":"legs [], summary {combined_probability, implied_decimal_odds, assessment}"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}},"post":{"operationId":"postParlayAnalysis","summary":"Parlay / accumulator analyser","description":"Submit 2–8 match pairs (HOME-AWAY). Returns individual predictions, combined probability and implied odds.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c000000000000000000000b9537d11c60e8b50"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["matches"],"properties":{"matches":{"type":"string","description":"Comma-separated HOME-AWAY pairs","example":"BRA-ARG,FRA-ENG,ESP-GER"}}},"example":{"matches":"BRA-ARG,FRA-ENG,ESP-GER"}}}},"responses":{"200":{"description":"legs [], summary {combined_probability, implied_decimal_odds, assessment}"},"400":{"description":"Bad request — unknown team code or missing parameter"},"402":{"description":"Payment Required — pay via Tempo MPP"}}}}}}