{"openapi":"3.1.0","info":{"title":"PitchIntel API","version":"1.1.0","description":"World Cup 2026 tactical probability (wc-prob-v5), live FIFA data, standings, and multi-source news intelligence."},"servers":[{"url":"https://wcstat.orangecloud.vn/api"},{"url":"https://wcstat.orangecloud.vn/api/v1","description":"Public API v1 (integrations)"}],"paths":{"/v1/feed":{"get":{"summary":"Delta event feed for third-party polling","operationId":"getPublicFeed","parameters":[{"name":"cursor","in":"query","schema":{"type":"integer","default":0}},{"name":"limit","in":"query","schema":{"type":"integer","default":50}}]}},"/v1/matches/{ref}/snapshot":{"get":{"summary":"Combined match snapshot (score, stats, recap)","operationId":"getMatchSnapshot","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/webhooks":{"post":{"summary":"Register webhook (requires X-API-Key)","operationId":"createWebhook"},"get":{"summary":"List webhooks","operationId":"listWebhooks"}},"/health":{"get":{"summary":"Health and pipeline status","operationId":"getHealth"}},"/home":{"get":{"summary":"Homepage bundle (dashboard, schedule, standings, probabilities)","operationId":"getHome"}},"/dashboard":{"get":{"summary":"Featured match and tournament snapshot","operationId":"getDashboard"}},"/schedule":{"get":{"summary":"WC 2026 match schedule (104 fixtures)","operationId":"getSchedule"}},"/tournaments/{year}/standings":{"get":{"summary":"Group standings and third-place ranking","operationId":"getStandings"},"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}}]},"/tournaments/{year}/bracket":{"get":{"summary":"Knockout bracket","operationId":"getBracket"},"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}}]},"/tournaments/{year}/match-probabilities":{"get":{"summary":"Bulk match probabilities with automatic gap-fill","operationId":"getMatchProbabilities"},"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}}]},"/tournaments/{year}/champion-odds":{"get":{"summary":"Monte Carlo champion odds","operationId":"getChampionOdds"},"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}}]},"/tournaments/{year}/prediction-accuracy":{"get":{"summary":"Model accuracy on completed matches","operationId":"getPredictionAccuracy"},"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer"}}]},"/matches/{matchId}":{"get":{"summary":"Match detail (slug or legacy id)","operationId":"getMatch"},"parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}}]},"/matches/{matchId}/stats":{"get":{"summary":"Live match statistics","operationId":"getMatchStats"},"parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}}]},"/matches/{matchId}/recap":{"get":{"summary":"Match recap and commentary","operationId":"getMatchRecap"},"parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}}]},"/matches/{matchId}/pitch-map":{"get":{"summary":"Pitch map with player positions","operationId":"getPitchMap"},"parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}}]},"/matches/{matchId}/probability":{"get":{"summary":"Model probability snapshot (wc-prob-v5)","operationId":"getMatchProbability"},"parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}}]},"/matches/{matchId}/history":{"get":{"summary":"World Cup head-to-head history","operationId":"getMatchHistory"},"parameters":[{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}}]},"/news":{"get":{"summary":"News articles (paginated, 24+ RSS sources)","operationId":"listNews"}},"/news/{docId}":{"get":{"summary":"Single news article","operationId":"getNewsArticle"},"parameters":[{"name":"docId","in":"path","required":true,"schema":{"type":"string"}}]},"/teams":{"get":{"summary":"WC 2026 team list","operationId":"listTeams"}},"/teams/{teamId}/wc-h2h":{"get":{"summary":"Team World Cup H2H by opponent","operationId":"getTeamWcH2h"},"parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"string"}}]}}}