Every API here is available over the APIs.io API and to AI agents over MCP.
{"openapi":"3.0.3","info":{"title":"Cito API","version":"1.0.0","description":"Utilities API — QR code generation and sports/esports data (Fortnite, CoD, LoL, Apex, Dota 2, CS2, UFC, Tennis, RAF Wrestling, BKFC).","contact":{"name":"Cito API Support","url":"https://citoapi.com"},"x-logo":{"url":"https://citoapi.com/logo.png"}},"servers":[{"url":"https://api.citoapi.com/api/v1","description":"Production"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your Cito API key. Get one at https://citoapi.com"}},"schemas":{"Error":{"type":"object","properties":{"success":{"type":"boolean","example":false},"error":{"type":"string","example":"Validation error message"}}},"QrGenerateBody":{"type":"object","required":["data"],"properties":{"data":{"type":"string","description":"Text or URL to encode into the QR code.","example":"https://citoapi.com","maxLength":2048},"size":{"type":"integer","description":"Output image size in pixels (width = height).","default":300,"minimum":100,"maximum":2000,"example":400},"format":{"type":"string","description":"Output format.","enum":["png","svg","base64"],"default":"png"},"foreground":{"type":"string","description":"Foreground (dark module) hex color.","default":"#000000","example":"#000000"},"background":{"type":"string","description":"Background hex color.","default":"#ffffff","example":"#ffffff"},"margin":{"type":"integer","description":"Quiet zone width in modules.","default":4,"minimum":0,"maximum":10},"errorCorrection":{"type":"string","description":"Error correction level. Automatically forced to H when a logo is provided.","enum":["L","M","Q","H"],"default":"M"},"logo":{"type":"object","description":"Optional logo to overlay in the center of the QR code. Requires error correction H (set automatically).","required":["image"],"properties":{"image":{"type":"string","description":"Base64-encoded image with data URL prefix (e.g. data:image/png;base64,...).","example":"data:image/png;base64,iVBORw0KGgo..."},"sizeRatio":{"type":"number","description":"Logo size as a fraction of the QR code size. Capped at 0.35 to preserve scannability.","default":0.25,"minimum":0.1,"maximum":0.35},"padding":{"type":"integer","description":"White padding around the logo in pixels.","default":8,"minimum":0,"maximum":50}}}}},"TennisAllTimeTitleLeader":{"properties":{"player_id":{"type":"string","title":"Player Id","description":"Player ID"},"player_name":{"type":"string","title":"Player Name","description":"Player full name"},"titles":{"type":"integer","title":"Titles","description":"Titles count"}},"type":"object","required":["player_id","player_name","titles"],"title":"AllTimeTitleLeader","description":"Player with most titles at a tournament."},"TennisCalendarTournamentItem":{"properties":{"id":{"type":"string","title":"Id","description":"Tournament edition ID"},"name":{"type":"string","title":"Name","description":"Tournament name"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year","description":"Edition year; this route requires year as a query parameter and did not return it"},"tour":{"type":"string","title":"Tour","description":"ATP or WTA"},"level":{"type":"string","title":"Level","description":"Tier code"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category","description":"Canonical event category: grand_slam, masters_1000, wta_1000, tour_finals, atp_tour, wta_tour, challenger, itf, davis_cup, billie_jean_king_cup, other. ATP 250 and ATP 500 both report atp_tour because the source does not separate them"},"tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier","description":"Tier name"},"surface":{"type":"string","title":"Surface","description":"Surface"},"start_date":{"type":"string","title":"Start Date","description":"Start date (YYYY-MM-DD)"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date","description":"End date (YYYY-MM-DD)"},"draw_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Draw Size","description":"Draw size","default":32},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"Host city"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code","description":"Country code"},"is_live_shell":{"type":"boolean","title":"Is Live Shell","description":"True for a live-feed container (s365_*) or a tour_year_code alias resolving to one; the archive has not caught up to this edition yet","default":false}},"type":"object","required":["id","name","tour","level","surface","start_date"],"title":"CalendarTournamentItem","description":"Tournament calendar event item."},"TennisCareerSummary":{"properties":{"matches_played":{"type":"integer","title":"Matches Played","description":"Total official matches played"},"matches_won":{"type":"integer","title":"Matches Won","description":"Total matches won"},"matches_lost":{"type":"integer","title":"Matches Lost","description":"Total matches lost"},"win_percentage":{"type":"number","title":"Win Percentage","description":"Career win percentage (0.0 to 100.0)"},"titles_count":{"type":"integer","title":"Titles Count","description":"Singles titles won"},"grand_slam_titles":{"type":"integer","title":"Grand Slam Titles","description":"Grand Slam singles titles won","default":0},"masters_titles":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Masters Titles","description":"Masters 1000 singles titles where computed; null when not"},"finals_reached":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Finals Reached","description":"Singles finals reached where computed; null when not"},"prize_money_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prize Money Usd","description":"Not held by this dataset; always null"}},"type":"object","required":["matches_played","matches_won","matches_lost","win_percentage","titles_count"],"title":"CareerSummary","description":"Aggregated career singles win-loss and title statistics."},"TennisClutchStats":{"properties":{"tiebreaks_played":{"type":"integer","title":"Tiebreaks Played","description":"Total tiebreaks played","default":0},"tiebreaks_won":{"type":"integer","title":"Tiebreaks Won","description":"Total tiebreaks won","default":0},"tiebreak_win_pct":{"type":"number","title":"Tiebreak Win Pct","description":"Tiebreak win percentage","default":0},"deciding_set_matches":{"type":"integer","title":"Deciding Set Matches","description":"Matches that went to a deciding set","default":0},"deciding_set_wins":{"type":"integer","title":"Deciding Set Wins","description":"Deciding set matches won","default":0},"deciding_set_win_pct":{"type":"number","title":"Deciding Set Win Pct","description":"Deciding set win percentage","default":0},"after_winning_first_set_win_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"After Winning First Set Win Pct","description":"Win % after winning 1st set"},"after_losing_first_set_win_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"After Losing First Set Win Pct","description":"Win % after losing 1st set"},"vs_top_10_matches":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vs Top 10 Matches","description":"Matches played against Top 10 ranked players","default":0},"vs_top_10_wins":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vs Top 10 Wins","description":"Matches won against Top 10 ranked players","default":0},"vs_top_10_win_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vs Top 10 Win Pct","description":"Win % against Top 10 ranked players","default":0}},"type":"object","title":"ClutchStats","description":"Clutch situational and tiebreak metrics."},"TennisDrawMatch":{"properties":{"match_id":{"type":"string","title":"Match Id","description":"Match ID"},"match_num":{"type":"integer","title":"Match Num","description":"Match order number"},"player1":{"$ref":"#/components/schemas/TennisDrawPlayer","description":"Top / First player in bracket slot"},"player2":{"$ref":"#/components/schemas/TennisDrawPlayer","description":"Bottom / Second player in bracket slot"},"score":{"type":"string","title":"Score","description":"Scoreline"},"next_match_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Match Id","description":"Target match ID in subsequent round"}},"type":"object","required":["match_id","match_num","player1","player2","score"],"title":"DrawMatch","description":"Match node in tournament draw bracket."},"TennisDrawPlayer":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Player ID"},"name":{"type":"string","title":"Name","description":"Player display name"},"ioc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ioc","description":"Country IOC code, the same key the match and h2h participant objects use"},"seed":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seeding number"},"entry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entry","description":"Entry type (WC, Q, LL)"},"is_winner":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Winner","description":"Whether player advanced from this match"}},"type":"object","required":["name"],"title":"DrawPlayer","description":"Player participant node in bracket draw."},"TennisDrawRound":{"properties":{"round_code":{"type":"string","title":"Round Code","description":"Round code (e.g. F, SF, QF, R16, R32, R64, R128)"},"round_name":{"type":"string","title":"Round Name","description":"Human-readable round name"},"matches":{"items":{"$ref":"#/components/schemas/TennisDrawMatch"},"type":"array","title":"Matches","description":"Matches in this round"}},"type":"object","required":["round_code","round_name"],"title":"DrawRound","description":"Round grouping in bracket tree."},"TennisGrandSlamBreakdown":{"properties":{"australian_open":{"$ref":"#/components/schemas/TennisGrandSlamTournamentRecord"},"roland_garros":{"$ref":"#/components/schemas/TennisGrandSlamTournamentRecord"},"wimbledon":{"$ref":"#/components/schemas/TennisGrandSlamTournamentRecord"},"us_open":{"$ref":"#/components/schemas/TennisGrandSlamTournamentRecord"}},"type":"object","required":["australian_open","roland_garros","wimbledon","us_open"],"title":"GrandSlamBreakdown","description":"Career performance across the four Grand Slam majors."},"TennisGrandSlamTournamentRecord":{"properties":{"titles":{"type":"integer","title":"Titles","description":"Titles won","default":0},"finals":{"type":"integer","title":"Finals","description":"Finals reached","default":0},"win_loss":{"type":"string","title":"Win Loss","description":"Career win-loss record string","default":"0-0"},"win_pct":{"type":"number","title":"Win Pct","description":"Match win percentage","default":0}},"type":"object","title":"GrandSlamTournamentRecord","description":"Performance metrics for an individual Grand Slam tournament."},"TennisH2HDecidingSetsRecord":{"properties":{"player1_deciding_set_wins":{"type":"integer","title":"Player1 Deciding Set Wins","description":"Deciding set matches won by Player 1","default":0},"player2_deciding_set_wins":{"type":"integer","title":"Player2 Deciding Set Wins","description":"Deciding set matches won by Player 2","default":0},"total_deciding_sets":{"type":"integer","title":"Total Deciding Sets","description":"Total deciding set matches played","default":0}},"type":"object","title":"H2HDecidingSetsRecord","description":"Head-to-head deciding sets tally."},"TennisH2HFormatBreakdown":{"properties":{"best_of_3":{"$ref":"#/components/schemas/TennisH2HLevelItem"},"best_of_5":{"$ref":"#/components/schemas/TennisH2HLevelItem"}},"type":"object","title":"H2HFormatBreakdown","description":"Head-to-head breakdown by match length (best of 3 vs best of 5)."},"TennisH2HLevelBreakdown":{"properties":{"grand_slam":{"$ref":"#/components/schemas/TennisH2HLevelItem"},"masters_1000":{"$ref":"#/components/schemas/TennisH2HLevelItem"},"tour_finals":{"$ref":"#/components/schemas/TennisH2HLevelItem"},"atp_500_250":{"$ref":"#/components/schemas/TennisH2HLevelItem"},"olympics_davis_cup":{"$ref":"#/components/schemas/TennisH2HLevelItem"}},"type":"object","title":"H2HLevelBreakdown","description":"Head-to-head breakdown by tournament tier."},"TennisH2HLevelItem":{"properties":{"player1_wins":{"type":"integer","title":"Player1 Wins","description":"Wins by Player 1 at this level","default":0},"player2_wins":{"type":"integer","title":"Player2 Wins","description":"Wins by Player 2 at this level","default":0},"total":{"type":"integer","title":"Total","description":"Total matches at this level","default":0}},"type":"object","title":"H2HLevelItem","description":"Level-specific head-to-head record."},"TennisH2HMatchSummary":{"properties":{"id":{"type":"string","title":"Id","description":"Match ID"},"date":{"type":"string","title":"Date","description":"Match date"},"tournament_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tournament Name","description":"Tournament name"},"surface":{"type":"string","title":"Surface","description":"Surface"},"level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level","description":"Tournament tier"},"round":{"type":"string","title":"Round","description":"Round code"},"winner_id":{"type":"string","title":"Winner Id","description":"Winning player ID"},"winner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Winner Name","description":"Winning player name"},"score":{"type":"string","title":"Score","description":"Scoreline"}},"type":"object","required":["id","date","surface","round","winner_id","score"],"title":"H2HMatchSummary","description":"Match summary in H2H chronology."},"TennisH2HPlayerSummary":{"properties":{"id":{"type":"string","title":"Id","description":"Player ID"},"name":{"type":"string","title":"Name","description":"Player full name"},"ioc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ioc","description":"Country IOC code"},"current_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Rank","description":"Current rank"},"career_high_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Career High Rank","description":"Peak career rank"},"wins":{"type":"integer","title":"Wins","description":"Total wins against opponent"}},"type":"object","required":["id","name","wins"],"title":"H2HPlayerSummary","description":"Player summary for H2H rivalry comparison."},"TennisH2HSummary":{"properties":{"total_matches":{"type":"integer","title":"Total Matches","description":"Total encounters between the two players"},"player1_wins":{"type":"integer","title":"Player1 Wins","description":"Encounters won by Player 1"},"player2_wins":{"type":"integer","title":"Player2 Wins","description":"Encounters won by Player 2"},"player1_lead":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player1 Lead","description":"Net lead in wins by Player 1 (can be negative)"},"finals_matches":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Finals Matches","description":"Encounters in finals","default":0},"player1_finals_wins":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player1 Finals Wins","description":"Finals won by Player 1","default":0},"player2_finals_wins":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player2 Finals Wins","description":"Finals won by Player 2","default":0},"grand_slam_matches":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Grand Slam Matches","description":"Encounters at Grand Slams","default":0},"player1_grand_slam_wins":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player1 Grand Slam Wins","description":"Grand Slam matches won by Player 1","default":0},"player2_grand_slam_wins":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player2 Grand Slam Wins","description":"Grand Slam matches won by Player 2","default":0}},"type":"object","required":["total_matches","player1_wins","player2_wins"],"title":"H2HSummary","description":"Head-to-head overall tallies."},"TennisH2HSurfaceBreakdown":{"properties":{"hard":{"$ref":"#/components/schemas/TennisH2HSurfaceItem"},"clay":{"$ref":"#/components/schemas/TennisH2HSurfaceItem"},"grass":{"$ref":"#/components/schemas/TennisH2HSurfaceItem"},"carpet":{"$ref":"#/components/schemas/TennisH2HSurfaceItem"}},"type":"object","title":"H2HSurfaceBreakdown","description":"Head-to-head surface breakdown across Hard, Clay, Grass, Carpet."},"TennisH2HSurfaceItem":{"properties":{"player1_wins":{"type":"integer","title":"Player1 Wins","description":"Wins by Player 1 on this surface","default":0},"player2_wins":{"type":"integer","title":"Player2 Wins","description":"Wins by Player 2 on this surface","default":0},"total":{"type":"integer","title":"Total","description":"Total matches on this surface","default":0}},"type":"object","title":"H2HSurfaceItem","description":"Surface-specific head-to-head record."},"TennisH2HTiebreakRecord":{"properties":{"player1_tiebreaks_won":{"type":"integer","title":"Player1 Tiebreaks Won","description":"Tiebreaks won by Player 1","default":0},"player2_tiebreaks_won":{"type":"integer","title":"Player2 Tiebreaks Won","description":"Tiebreaks won by Player 2","default":0},"total_tiebreaks":{"type":"integer","title":"Total Tiebreaks","description":"Total tiebreaks played between the two","default":0}},"type":"object","title":"H2HTiebreakRecord","description":"Head-to-head tiebreak tally."},"TennisHTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/TennisValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"TennisHeadToHeadMatrixResponse":{"properties":{"players":{"items":{"$ref":"#/components/schemas/TennisH2HPlayerSummary"},"type":"array","title":"Players","description":"List of compared players"},"matrix":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object","title":"Matrix","description":"H2H win-loss grid indexed by player ID pairs"}},"type":"object","required":["players","matrix"],"title":"HeadToHeadMatrixResponse","description":"Multi-player Head-to-Head comparison grid."},"TennisHeadToHeadResponse":{"properties":{"player1":{"$ref":"#/components/schemas/TennisH2HPlayerSummary","description":"Player 1 summary"},"player2":{"$ref":"#/components/schemas/TennisH2HPlayerSummary","description":"Player 2 summary"},"summary":{"$ref":"#/components/schemas/TennisH2HSummary","description":"Overall tally and key milestones"},"surface_breakdown":{"$ref":"#/components/schemas/TennisH2HSurfaceBreakdown","description":"Surface breakdown"},"level_breakdown":{"anyOf":[{"$ref":"#/components/schemas/TennisH2HLevelBreakdown"},{"type":"null"}],"description":"Tournament tier breakdown"},"format_breakdown":{"anyOf":[{"$ref":"#/components/schemas/TennisH2HFormatBreakdown"},{"type":"null"}],"description":"Best-of-3 / Best-of-5 breakdown"},"tiebreak_record":{"anyOf":[{"$ref":"#/components/schemas/TennisH2HTiebreakRecord"},{"type":"null"}],"description":"Tiebreak record"},"deciding_sets":{"anyOf":[{"$ref":"#/components/schemas/TennisH2HDecidingSetsRecord"},{"type":"null"}],"description":"Deciding sets record"},"matches":{"items":{"$ref":"#/components/schemas/TennisH2HMatchSummary"},"type":"array","title":"Matches","description":"Chronological match list"}},"type":"object","required":["player1","player2","summary","surface_breakdown"],"title":"HeadToHeadResponse","description":"Complete Head-to-Head rivalry dossier."},"TennisListResponse_CalendarTournamentItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TennisCalendarTournamentItem"},"type":"array","title":"Items","description":"The rows"},"total":{"type":"integer","title":"Total","description":"Rows matching the filter, not rows in this response"},"page":{"type":"integer","title":"Page","description":"Current page; these routes return a single page","default":1},"page_size":{"type":"integer","title":"Page Size","description":"Rows requested for this page","default":0},"total_pages":{"type":"integer","title":"Total Pages","description":"Total pages available","default":1},"has_next":{"type":"boolean","title":"Has Next","description":"Whether a subsequent page exists","default":false},"has_prev":{"type":"boolean","title":"Has Prev","description":"Whether a preceding page exists","default":false}},"type":"object","required":["items","total"],"title":"ListResponse[CalendarTournamentItem]"},"TennisListResponse_Dict_str__Any__":{"properties":{"items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Items","description":"The rows"},"total":{"type":"integer","title":"Total","description":"Rows matching the filter, not rows in this response"},"page":{"type":"integer","title":"Page","description":"Current page; these routes return a single page","default":1},"page_size":{"type":"integer","title":"Page Size","description":"Rows requested for this page","default":0},"total_pages":{"type":"integer","title":"Total Pages","description":"Total pages available","default":1},"has_next":{"type":"boolean","title":"Has Next","description":"Whether a subsequent page exists","default":false},"has_prev":{"type":"boolean","title":"Has Prev","description":"Whether a preceding page exists","default":false}},"type":"object","required":["items","total"],"title":"ListResponse[Dict[str, Any]]"},"TennisListResponse_LiveMatchSummary_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TennisLiveMatchSummary"},"type":"array","title":"Items","description":"The rows"},"total":{"type":"integer","title":"Total","description":"Rows matching the filter, not rows in this response"},"page":{"type":"integer","title":"Page","description":"Current page; these routes return a single page","default":1},"page_size":{"type":"integer","title":"Page Size","description":"Rows requested for this page","default":0},"total_pages":{"type":"integer","title":"Total Pages","description":"Total pages available","default":1},"has_next":{"type":"boolean","title":"Has Next","description":"Whether a subsequent page exists","default":false},"has_prev":{"type":"boolean","title":"Has Prev","description":"Whether a preceding page exists","default":false}},"type":"object","required":["items","total"],"title":"ListResponse[LiveMatchSummary]"},"TennisListResponse_PlayerListItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TennisPlayerListItem"},"type":"array","title":"Items","description":"The rows"},"total":{"type":"integer","title":"Total","description":"Rows matching the filter, not rows in this response"},"page":{"type":"integer","title":"Page","description":"Current page; these routes return a single page","default":1},"page_size":{"type":"integer","title":"Page Size","description":"Rows requested for this page","default":0},"total_pages":{"type":"integer","title":"Total Pages","description":"Total pages available","default":1},"has_next":{"type":"boolean","title":"Has Next","description":"Whether a subsequent page exists","default":false},"has_prev":{"type":"boolean","title":"Has Prev","description":"Whether a preceding page exists","default":false}},"type":"object","required":["items","total"],"title":"ListResponse[PlayerListItem]"},"TennisListResponse_str_":{"properties":{"items":{"items":{"type":"string"},"type":"array","title":"Items","description":"The rows"},"total":{"type":"integer","title":"Total","description":"Rows matching the filter, not rows in this response"},"page":{"type":"integer","title":"Page","description":"Current page; these routes return a single page","default":1},"page_size":{"type":"integer","title":"Page Size","description":"Rows requested for this page","default":0},"total_pages":{"type":"integer","title":"Total Pages","description":"Total pages available","default":1},"has_next":{"type":"boolean","title":"Has Next","description":"Whether a subsequent page exists","default":false},"has_prev":{"type":"boolean","title":"Has Prev","description":"Whether a preceding page exists","default":false}},"type":"object","required":["items","total"],"title":"ListResponse[str]"},"TennisLiveMatchDetail":{"properties":{"id":{"type":"string","title":"Id","description":"Canonical match identifier (same value as match_id)"},"match_id":{"type":"string","title":"Match Id","description":"Unique live match ID"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At","description":"When the match went in-play (ISO 8601)"},"round_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Round Name","description":"Human label for the round code"},"tour":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tour","description":"ATP or WTA"},"tournament_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tournament Id","description":"Tournament id once this match is reconciled to a tournament; null while it is still on the live feed"},"tournament_name":{"type":"string","title":"Tournament Name","description":"Tournament name"},"court":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Court","description":"Court name"},"best_of":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Best Of","description":"Best of 3 or 5","default":3},"round":{"type":"string","title":"Round","description":"Round"},"surface":{"type":"string","title":"Surface","description":"Surface","default":"Hard"},"status":{"type":"string","title":"Status","description":"Status","default":"IN_PROGRESS"},"player1":{"$ref":"#/components/schemas/TennisLivePlayerState","description":"Player 1 state"},"player2":{"$ref":"#/components/schemas/TennisLivePlayerState","description":"Player 2 state"},"winner_side":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Winner Side","description":"1 or 2 once decided; null while in progress"},"current_set":{"type":"integer","title":"Current Set","description":"Current set number","default":1},"game_score":{"type":"string","title":"Game Score","description":"Current game point score","default":"0-0"},"server":{"type":"integer","title":"Server","description":"Current server index (1 or 2)","default":1},"tiebreak_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiebreak Score","description":"Active tiebreak score"},"sets":{"items":{"$ref":"#/components/schemas/TennisLiveSetScore"},"type":"array","title":"Sets","description":"Set scores"},"point_history":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Point History","description":"Recent point timeline"},"stats":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Stats","description":"Per-side match statistics"}},"type":"object","required":["id","match_id","tournament_name","round","player1","player2"],"title":"LiveMatchDetail","description":"Detailed live match state snapshot."},"TennisLiveMatchSummary":{"properties":{"id":{"type":"string","title":"Id","description":"Canonical match identifier (same value as match_id)"},"match_id":{"type":"string","title":"Match Id","description":"Unique live match ID"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At","description":"When the match went in-play (ISO 8601)"},"round_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Round Name","description":"Human label for the round code"},"tour":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tour","description":"ATP or WTA"},"tournament_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tournament Id","description":"Tournament id once this match is reconciled to a tournament; null while it is still on the live feed"},"tournament_name":{"type":"string","title":"Tournament Name","description":"Tournament name"},"court":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Court","description":"Court name"},"surface":{"type":"string","title":"Surface","description":"Court surface","default":"Hard"},"round":{"type":"string","title":"Round","description":"Round code"},"best_of":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Best Of","description":"Best of 3 or 5","default":3},"status":{"type":"string","title":"Status","description":"State: NOT_STARTED, IN_PROGRESS, FINISHED","default":"IN_PROGRESS"},"outcome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outcome","description":"Decided-match outcome (COMPLETED, RETIREMENT, ...); null while in progress (TENNIS-25 canonical-shape parity)"},"player1":{"$ref":"#/components/schemas/TennisLivePlayerState","description":"Player 1 live state"},"player2":{"$ref":"#/components/schemas/TennisLivePlayerState","description":"Player 2 live state"},"winner":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Winner","description":"Winning side once decided; null while in progress (TENNIS-25 canonical-shape parity)"},"loser":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Loser","description":"Losing side once decided; null while in progress (TENNIS-25 canonical-shape parity)"},"winner_side":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Winner Side","description":"1 or 2 once decided; null while in progress"},"current_set":{"type":"integer","title":"Current Set","description":"Current active set number","default":1},"game_score":{"type":"string","title":"Game Score","description":"Current game point score","default":"0-0"},"server":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Server","description":"Current server: 1 for Player 1, 2 for Player 2","default":1},"sets":{"items":{"$ref":"#/components/schemas/TennisLiveSetScore"},"type":"array","title":"Sets","description":"Set-by-set scores"},"stats":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Stats","description":"Per-side match statistics"},"source":{"type":"string","title":"Source","description":"Origin of this live record.","default":"simulator"}},"type":"object","required":["id","match_id","tournament_name","round","player1","player2"],"title":"LiveMatchSummary","description":"Live match summary in active feed list."},"TennisLivePlayerState":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Player ID"},"name":{"type":"string","title":"Name","description":"Player display name"},"ioc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ioc","description":"Country IOC code, the same key the match and h2h participant objects use"},"seed":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Tournament seed"},"sets_won":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sets Won","description":"Completed sets won in this match","default":0},"current_game_score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Game Score","description":"Current point score (0, 15, 30, 40, AD)","default":"0"},"is_serving":{"type":"boolean","title":"Is Serving","description":"Whether this player is currently serving","default":false}},"type":"object","required":["name"],"title":"LivePlayerState","description":"Player status in an active live match."},"TennisLiveSetScore":{"properties":{"set_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Set Num","description":"Set number"},"set_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Set Number","description":"Canonical set number (same value as set_num)"},"score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Score","description":"Set score string"},"player1_games":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player1 Games","description":"Games won by Player 1"},"player2_games":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Player2 Games","description":"Games won by Player 2"},"tiebreak":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tiebreak","description":"Tiebreak score if applicable"},"is_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Completed","description":"Whether this set is concluded"}},"type":"object","title":"LiveSetScore","description":"Set score item in live match.\n\n``set_number`` is the canonical field name (shared with the match\narchive, which otherwise calls this ``winner_games``/``loser_games``'s\ncounterpart ``set_number``); ``set_num`` stays for back-compat."},"TennisMatchDetailResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Unique match identifier"},"tournament_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tournament Id","description":"Tournament ID"},"tournament":{"anyOf":[{"$ref":"#/components/schemas/TennisTournamentSummaryInfo"},{"type":"null"}],"description":"Tournament metadata"},"match_date":{"type":"string","title":"Match Date","description":"Match date (YYYY-MM-DD)"},"tour":{"anyOf":[{"type":"string"},
# --- truncated at 32 KB (703 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/citoapi/refs/heads/main/openapi/_original/citoapi-v1-openapi.json