{
  "components": {
    "schemas": {
      "ActivityInfo": {
        "additionalProperties": false,
        "properties": {
          "lastGameWithTeam": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "startedLastGame": {
            "type": "boolean"
          }
        },
        "required": [
          "startedLastGame",
          "lastGameWithTeam"
        ],
        "type": "object"
      },
      "AwayTeamStruct": {
        "additionalProperties": false,
        "properties": {
          "id": {},
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "BasketballBoxScore": {
        "additionalProperties": false,
        "properties": {
          "assists": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "blocks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "blocksReceived": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "defensiveRebounds": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "effectiveFieldGoalPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "efficiencyRating": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "fantasyScore": {
            "format": "double",
            "type": "number"
          },
          "fieldGoalsMade": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "flagrantFouls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fouledOut": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "foulsDrawn": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "freeThrowsMade": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "minutesPlayed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "offensiveRebounds": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "personalFouls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "plusMinus": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "points": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "pointsAssists": {
            "format": "int64",
            "type": "integer"
          },
          "pointsRebounds": {
            "format": "int64",
            "type": "integer"
          },
          "pointsReboundsAssists": {
            "format": "int64",
            "type": "integer"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "reboundsAssists": {
            "format": "int64",
            "type": "integer"
          },
          "steals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "stealsBlocks": {
            "format": "int64",
            "type": "integer"
          },
          "teamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "technicalFouls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "threePointersMade": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalRebounds": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "trueShootingPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "turnovers": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "usage": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "eventId",
          "playerId",
          "teamId",
          "minutesPlayed",
          "points",
          "fieldGoalsMade",
          "threePointersMade",
          "freeThrowsMade",
          "offensiveRebounds",
          "defensiveRebounds",
          "totalRebounds",
          "assists",
          "steals",
          "blocks",
          "turnovers",
          "personalFouls",
          "plusMinus",
          "efficiencyRating",
          "effectiveFieldGoalPercentage",
          "trueShootingPercentage",
          "usage",
          "blocksReceived",
          "foulsDrawn",
          "technicalFouls",
          "flagrantFouls",
          "fouledOut",
          "position",
          "pointsReboundsAssists",
          "pointsAssists",
          "pointsRebounds",
          "reboundsAssists",
          "stealsBlocks",
          "fantasyScore"
        ],
        "type": "object"
      },
      "BasketballPlayerLine": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "stats": {
            "additionalProperties": {
              "$ref": "#/components/schemas/BasketballBoxScore"
            },
            "type": "object"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "position",
          "stats"
        ],
        "type": "object"
      },
      "BasketballTeamSummary": {
        "additionalProperties": false,
        "properties": {
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shortname": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortname",
          "countrySlug"
        ],
        "type": "object"
      },
      "BasketballTournamentGroup": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "isFavorite": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shouldShow": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "uniqueTournamentId",
          "country",
          "isFavorite",
          "shouldShow"
        ],
        "type": "object"
      },
      "BatchCardOdds": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "type": "string"
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "overOdds": {
            "type": [
              "string",
              "null"
            ]
          },
          "underOdds": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "line",
          "overOdds",
          "underOdds",
          "bookmaker"
        ],
        "type": "object"
      },
      "CardLine": {
        "additionalProperties": false,
        "properties": {
          "lambda": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "oddsDifference": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "overOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "underOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "line",
          "overOdds",
          "underOdds",
          "oddsDifference",
          "lambda"
        ],
        "type": "object"
      },
      "CategoryBody": {
        "additionalProperties": false,
        "properties": {
          "alpha2": {
            "type": [
              "string",
              "null"
            ]
          },
          "flag": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "flag",
          "alpha2"
        ],
        "type": "object"
      },
      "CountryBody": {
        "additionalProperties": false,
        "properties": {
          "alpha2": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "slug",
          "alpha2"
        ],
        "type": "object"
      },
      "DataVisualizerEvent": {
        "additionalProperties": false,
        "properties": {
          "awayScore": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeam": {
            "type": "string"
          },
          "awayTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "corruptedPlayerStatsCount": {
            "format": "int64",
            "type": "integer"
          },
          "hasCorruptedPlayerStats": {
            "type": "boolean"
          },
          "hasCorruptedTeamStats": {
            "type": "boolean"
          },
          "hasPlayerStats": {
            "type": "boolean"
          },
          "hasStats": {
            "type": "boolean"
          },
          "homeScore": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeam": {
            "type": "string"
          },
          "homeTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "isUnsupportedTournament": {
            "type": "boolean"
          },
          "league": {
            "type": "string"
          },
          "matchDate": {
            "type": "string"
          },
          "matchTime": {
            "type": "string"
          },
          "playerStatsCount": {
            "format": "int64",
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "statsCount": {
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "homeTeam",
          "awayTeam",
          "homeTeamId",
          "awayTeamId",
          "league",
          "matchDate",
          "matchTime",
          "status",
          "homeScore",
          "awayScore",
          "hasStats",
          "statsCount",
          "hasCorruptedTeamStats",
          "hasPlayerStats",
          "playerStatsCount",
          "hasCorruptedPlayerStats",
          "corruptedPlayerStatsCount",
          "isUnsupportedTournament",
          "slug"
        ],
        "type": "object"
      },
      "Events": {
        "additionalProperties": false,
        "properties": {
          "awayScoreCurrent": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayScoreNormaltime": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "coverage": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "customId": {
            "type": [
              "string",
              "null"
            ]
          },
          "defaultOvertimeLength": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "defaultPeriodCount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "defaultPeriodLength": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fanRatingEvent": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "hasGlobalHighlights": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "homeScoreCurrent": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeScoreNormaltime": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "injuryTime1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "injuryTime2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "lineupConfirmed": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "nextAutoPlayerUpdate": {
            "type": [
              "string",
              "null"
            ]
          },
          "period1Away": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "period1Home": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "period2Away": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "period2Home": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "refereeId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "roundInfo": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "roundSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "seasonId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "timeCurrentPeriodStartTimestamp": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "timeStartTimestamp": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "venueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "winnerCode": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "slug",
          "customId",
          "status",
          "winnerCode",
          "roundInfo",
          "roundSlug",
          "timeCurrentPeriodStartTimestamp",
          "timeStartTimestamp",
          "venueId",
          "homeTeamId",
          "awayTeamId",
          "homeScoreCurrent",
          "awayScoreCurrent",
          "homeScoreNormaltime",
          "awayScoreNormaltime",
          "coverage",
          "fanRatingEvent",
          "hasGlobalHighlights",
          "defaultPeriodCount",
          "defaultPeriodLength",
          "defaultOvertimeLength",
          "period1Home",
          "period1Away",
          "period2Home",
          "period2Away",
          "injuryTime1",
          "injuryTime2",
          "tournamentId",
          "refereeId",
          "uniqueTournamentId",
          "seasonId",
          "lineupConfirmed",
          "nextAutoPlayerUpdate"
        ],
        "type": "object"
      },
      "GlmBet": {
        "additionalProperties": false,
        "properties": {
          "bestOverBookmaker": {
            "type": [
              "string",
              "null"
            ]
          },
          "bestOverEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestUnderBookmaker": {
            "type": [
              "string",
              "null"
            ]
          },
          "bestUnderEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/GlmBookmakerQuote"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "fairOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "fairUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "probOver": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "probUnder": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "line",
          "fairOverOdds",
          "fairUnderOdds",
          "probOver",
          "probUnder",
          "bookmakers",
          "bestOverOdds",
          "bestOverBookmaker",
          "bestOverEdge",
          "bestUnderOdds",
          "bestUnderBookmaker",
          "bestUnderEdge"
        ],
        "type": "object"
      },
      "GlmBookmakerQuote": {
        "additionalProperties": false,
        "properties": {
          "bookmakerName": {
            "type": "string"
          },
          "overEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "overOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "underEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "underOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "bookmakerName",
          "overOdds",
          "underOdds",
          "overEdge",
          "underEdge"
        ],
        "type": "object"
      },
      "GlmMatch": {
        "additionalProperties": false,
        "properties": {
          "awayBets": {
            "items": {
              "$ref": "#/components/schemas/GlmBet"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "awayLambda": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "homeBets": {
            "items": {
              "$ref": "#/components/schemas/GlmBet"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "homeLambda": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "internalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "leagueName": {
            "type": [
              "string",
              "null"
            ]
          },
          "matchDate": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "totalBets": {
            "items": {
              "$ref": "#/components/schemas/GlmBet"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "totalLambda": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "eventId",
          "matchDate",
          "homeTeamId",
          "homeTeamName",
          "awayTeamId",
          "awayTeamName",
          "uniqueTournamentId",
          "leagueName",
          "slug",
          "internalId",
          "homeLambda",
          "awayLambda",
          "totalLambda",
          "homeBets",
          "awayBets",
          "totalBets"
        ],
        "type": "object"
      },
      "HomeTeamStruct": {
        "additionalProperties": false,
        "properties": {
          "id": {},
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "IncidentBody": {
        "additionalProperties": false,
        "properties": {
          "awayPenaltiesPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayPenaltiesPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayRedCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayRedCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayYellowCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayYellowCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homePenaltiesPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homePenaltiesPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeRedCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeRedCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeYellowCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeYellowCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "eventId",
          "homeYellowCardsPeriod1",
          "awayYellowCardsPeriod1",
          "homeRedCardsPeriod1",
          "awayRedCardsPeriod1",
          "homePenaltiesPeriod1",
          "awayPenaltiesPeriod1",
          "homeYellowCardsPeriod2",
          "awayYellowCardsPeriod2",
          "homeRedCardsPeriod2",
          "awayRedCardsPeriod2",
          "homePenaltiesPeriod2",
          "awayPenaltiesPeriod2"
        ],
        "type": "object"
      },
      "Incidents": {
        "additionalProperties": false,
        "properties": {
          "awayPenaltiesPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayPenaltiesPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayRedCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayRedCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayYellowCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayYellowCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "createdAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "homePenaltiesPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homePenaltiesPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeRedCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeRedCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeYellowCardsPeriod1": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeYellowCardsPeriod2": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "eventId",
          "homeYellowCardsPeriod1",
          "homeYellowCardsPeriod2",
          "awayYellowCardsPeriod1",
          "awayYellowCardsPeriod2",
          "homeRedCardsPeriod1",
          "homeRedCardsPeriod2",
          "awayRedCardsPeriod1",
          "awayRedCardsPeriod2",
          "homePenaltiesPeriod1",
          "homePenaltiesPeriod2",
          "awayPenaltiesPeriod1",
          "awayPenaltiesPeriod2",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "Item": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "uniqueTournamentId",
          "name"
        ],
        "type": "object"
      },
      "Item6": {
        "additionalProperties": false,
        "properties": {
          "matchId": {
            "format": "int64",
            "type": "integer"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "playerId",
          "matchId"
        ],
        "type": "object"
      },
      "LeagueOption": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "uniqueTournamentId",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "LineupEvent": {
        "additionalProperties": false,
        "properties": {
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "lineupType": {
            "type": "string"
          },
          "matchTime": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tournamentName": {
            "type": [
              "string",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "homeTeamName",
          "awayTeamName",
          "homeTeamId",
          "awayTeamId",
          "matchTime",
          "tournamentName",
          "uniqueTournamentId",
          "lineupType"
        ],
        "type": "object"
      },
      "LineupPlayer": {
        "additionalProperties": false,
        "properties": {
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "categoryFlag": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "internalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "jerseyNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "matchTime": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "playerFullName": {
            "type": [
              "string",
              "null"
            ]
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerInternalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "playerName": {
            "type": [
              "string",
              "null"
            ]
          },
          "playerSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": "string"
          },
          "positionChange": {
            "$ref": "#/components/schemas/PositionChangeInfo"
          },
          "predictedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "predictionType": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "teamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "tournamentName": {
            "type": [
              "string",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "viewPriority": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "playerId",
          "playerName",
          "playerFullName",
          "playerSlug",
          "playerInternalId",
          "jerseyNumber",
          "position",
          "predictionType",
          "predictedAt",
          "teamId",
          "teamName",
          "eventId",
          "internalId",
          "eventSlug",
          "matchTime",
          "homeTeamId",
          "homeTeamName",
          "awayTeamId",
          "awayTeamName",
          "tournamentName",
          "uniqueTournamentId",
          "categoryFlag",
          "viewPriority",
          "positionChange"
        ],
        "type": "object"
      },
      "MatchupInsight": {
        "additionalProperties": false,
        "properties": {
          "leagueAvg": {
            "format": "double",
            "type": "number"
          },
          "metricKey": {
            "type": "string"
          },
          "opponentAvg": {
            "format": "double",
            "type": "number"
          },
          "percentDiff": {
            "format": "double",
            "type": "number"
          },
          "position": {
            "type": "string"
          },
          "stat": {
            "type": "string"
          }
        },
        "required": [
          "position",
          "stat",
          "metricKey",
          "percentDiff",
          "opponentAvg",
          "leagueAvg"
        ],
        "type": "object"
      },
      "MessageEnvelope": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "Metadata": {
        "additionalProperties": false,
        "properties": {
          "currentPage": {
            "format": "int64",
            "type": "integer"
          },
          "hasNextPage": {
            "type": "boolean"
          },
          "hasPreviousPage": {
            "type": "boolean"
          },
          "pageSize": {
            "format": "int64",
            "type": "integer"
          },
          "totalCount": {
            "format": "int64",
            "type": "integer"
          },
          "totalPages": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "currentPage",
          "pageSize",
          "totalCount",
          "totalPages",
          "hasNextPage",
          "hasPreviousPage"
        ],
        "type": "object"
      },
      "ModelBody": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "group": {
            "type": [
              "string",
              "null"
            ]
          },
          "lastXMatches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "marketType": {
            "type": [
              "string",
              "null"
            ]
          },
          "minimumMatches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "onlyIfPlayerStarted": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "opponentMultiplier": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "lastXMatches",
          "minimumMatches",
          "onlyIfPlayerStarted",
          "marketType",
          "opponentMultiplier",
          "group",
          "description",
          "status"
        ],
        "type": "object"
      },
      "Models": {
        "additionalProperties": false,
        "properties": {
          "createdAt": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "group": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "lastXMatches": {
            "format": "int64",
            "type": "integer"
          },
          "marketType": {
            "type": "string"
          },
          "minimumMatches": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "onlyIfPlayerStarted": {
            "type": "boolean"
          },
          "opponentMultiplier": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "lastXMatches",
          "minimumMatches",
          "onlyIfPlayerStarted",
          "marketType",
          "opponentMultiplier",
          "status",
          "group",
          "description",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "OpponentRanking": {
        "additionalProperties": false,
        "properties": {
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "isPreviousSeason": {
            "type": "boolean"
          },
          "leagueAverage": {
            "format": "double",
            "type": "number"
          },
          "opponentAverage": {
            "format": "double",
            "type": "number"
          },
          "opponentTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentTeamName": {
            "type": "string"
          },
          "opponentTeamSlug": {
            "type": "string"
          },
          "rank": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "seasonId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "statType": {
            "type": "string"
          },
          "total": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "eventId",
          "opponentTeamId",
          "opponentTeamName",
          "opponentTeamSlug",
          "rank",
          "total",
          "statType",
          "leagueAverage",
          "opponentAverage",
          "seasonId",
          "isPreviousSeason"
        ],
        "type": "object"
      },
      "PlayerMinutes": {
        "additionalProperties": false,
        "properties": {
          "avg": {
            "format": "double",
            "type": "number"
          },
          "n": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "avg",
          "n"
        ],
        "type": "object"
      },
      "PlayerPrice": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "type": "string"
          },
          "ev": {
            "format": "double",
            "type": "number"
          },
          "odds": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "bookmaker",
          "odds"
        ],
        "type": "object"
      },
      "PlayerStatResult": {
        "additionalProperties": false,
        "properties": {
          "avg_value": {
            "format": "double",
            "type": "number"
          },
          "games_count": {
            "format": "int64",
            "type": "integer"
          },
          "last_5_games": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "avg_value",
          "games_count",
          "last_5_games"
        ],
        "type": "object"
      },
      "Players": {
        "additionalProperties": false,
        "properties": {
          "contractuntil": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "dateofbirth": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "deceased": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "height": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "jerseynumber": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "marketvalue": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "nationalTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "preferredfoot": {
            "type": [
              "string",
              "null"
            ]
          },
          "shortname": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamid": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "usercount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "name",
          "slug",
          "shortname",
          "position",
          "jerseynumber",
          "height",
          "preferredfoot",
          "usercount",
          "deceased",
          "gender",
          "countrySlug",
          "dateofbirth",
          "contractuntil",
          "marketvalue",
          "teamid",
          "nationalTeamId"
        ],
        "type": "object"
      },
      "PositionChangeInfo": {
        "additionalProperties": false,
        "properties": {
          "currentPosition": {
            "type": "string"
          },
          "gamesAnalyzed": {
            "format": "int64",
            "type": "integer"
          },
          "isPositionChange": {
            "type": "boolean"
          },
          "rawHistory": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "usualPosition": {
            "type": "string"
          }
        },
        "required": [
          "isPositionChange",
          "usualPosition",
          "currentPosition",
          "rawHistory",
          "gamesAnalyzed"
        ],
        "type": "object"
      },
      "RecentMatch": {
        "additionalProperties": false,
        "properties": {
          "away_goals": {
            "format": "int64",
            "type": "integer"
          },
          "away_odds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "away_shots": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "away_shots_on_target": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "away_team": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "draw_odds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home_goals": {
            "format": "int64",
            "type": "integer"
          },
          "home_odds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home_shots": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home_shots_on_target": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home_team": {
            "type": "string"
          }
        },
        "required": [
          "date",
          "home_team",
          "away_team",
          "home_shots",
          "away_shots",
          "home_shots_on_target",
          "away_shots_on_target",
          "home_goals",
          "away_goals",
          "home_odds",
          "draw_odds",
          "away_odds"
        ],
        "type": "object"
      },
      "RefereeBody": {
        "additionalProperties": false,
        "properties": {
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "firstLeagueDebutTimestamp": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "games": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "countrySlug",
          "games",
          "firstLeagueDebutTimestamp"
        ],
        "type": "object"
      },
      "SavedFilterView": {
        "additionalProperties": false,
        "properties": {
          "createdAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "filters": {},
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updatedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "filters",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "SearchFixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "awayTeamSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "categoryFlag": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeTeamSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "timeStartTimestamp": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tournamentName": {
            "type": [
              "string",
              "null"
            ]
          },
          "tournamentSlug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "slug",
          "homeTeamName",
          "awayTeamName",
          "homeTeamSlug",
          "awayTeamSlug",
          "homeTeamId",
          "awayTeamId",
          "timeStartTimestamp",
          "status",
          "tournamentId",
          "tournamentName",
          "tournamentSlug",
          "categoryFlag"
        ],
        "type": "object"
      },
      "SearchPlayer": {
        "additionalProperties": false,
        "properties": {
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "name",
          "slug",
          "countrySlug"
        ],
        "type": "object"
      },
      "SearchTeam": {
        "additionalProperties": false,
        "properties": {
          "categoryFlag": {
            "type": [
              "string",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "name",
          "slug",
          "countrySlug",
          "categoryFlag"
        ],
        "type": "object"
      },
      "SearchTournament": {
        "additionalProperties": false,
        "properties": {
          "categoryFlag": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "uniqueTournamentId",
          "name",
          "slug",
          "categoryFlag"
        ],
        "type": "object"
      },
      "SeasonBody": {
        "additionalProperties": false,
        "properties": {
          "editor": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "year": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "year",
          "editor",
          "tournamentId"
        ],
        "type": "object"
      },
      "Seasons": {
        "additionalProperties": false,
        "properties": {
          "editor": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "year": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "year",
          "editor",
          "tournamentId",
          "uniqueTournamentId"
        ],
        "type": "object"
      },
      "SorareInsideLineups": {
        "additionalProperties": false,
        "properties": {
          "analysisGeneratedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "analysisModel": {
            "type": [
              "string",
              "null"
            ]
          },
          "awayAnalysis": {
            "type": [
              "string",
              "null"
            ]
          },
          "awayReliability": {
            "type": [
              "string",
              "null"
            ]
          },
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "competition": {
            "type": [
              "string",
              "null"
            ]
          },
          "competitionId": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "gameweek": {
            "type": "string"
          },
          "homeAnalysis": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeReliability": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "kickoffAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "lineupsFetchedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "matchId": {
            "type": "string"
          },
          "payload": {
            "contentEncoding": "base64",
            "type": "string"
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "resolutionMethod": {
            "type": [
              "string",
              "null"
            ]
          },
          "resolutionScore": {
            "type": [
              "string",
              "null"
            ]
          },
          "sorareGameId": {
            "type": [
              "string",
              "null"
            ]
          },
          "sorareMatchKey": {
            "type": [
              "string",
              "null"
            ]
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "gameweek",
          "matchId",
          "sorareMatchKey",
          "sorareGameId",
          "homeTeamId",
          "awayTeamId",
          "homeTeamName",
          "awayTeamName",
          "competition",
          "competitionId",
          "region",
          "kickoffAt",
          "homeReliability",
          "awayReliability",
          "homeAnalysis",
          "awayAnalysis",
          "analysisModel",
          "analysisGeneratedAt",
          "payload",
          "lineupsFetchedAt",
          "resolutionMethod",
          "resolutionScore",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "SubSplit": {
        "additionalProperties": false,
        "properties": {
          "subPct": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "subStat": {
            "format": "double",
            "type": "number"
          },
          "totalStat": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "subPct",
          "subStat",
          "totalStat"
        ],
        "type": "object"
      },
      "SubSplitResponse": {
        "additionalProperties": false,
        "properties": {
          "matches": {
            "format": "int64",
            "type": "integer"
          },
          "playerMinutes": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PlayerMinutes"
            },
            "type": "object"
          },
          "splits": {
            "additionalProperties": {
              "$ref": "#/components/schemas/SubSplit"
            },
            "type": "object"
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "teamId",
          "matches",
          "splits",
          "playerMinutes"
        ],
        "type": "object"
      },
      "TeamByEventBookmaker": {
        "additionalProperties": false,
        "properties": {
          "bookmakerId": {
            "format": "int64",
            "type": "integer"
          },
          "bookmakerName": {
            "type": "string"
          },
          "marketName": {
            "type": "string"
          },
          "odds": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "bookmakerId",
          "bookmakerName",
          "marketName",
          "odds"
        ],
        "type": "object"
      },
      "TeamByEventRow": {
        "additionalProperties": false,
        "properties": {
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/TeamByEventBookmaker"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitRateL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "hitRateL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "hitRateL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "leagueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "leagueName": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "oddsType": {
            "type": "string"
          },
          "opponentHitRateL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "opponentHitRateL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "opponentHitRateL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "opponentTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "opponentTeamSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "statDisplay": {
            "type": "string"
          },
          "statType": {
            "type": "string"
          },
          "teamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "teamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSlug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "teamId",
          "teamName",
          "teamSlug",
          "opponentTeamId",
          "opponentTeamName",
          "opponentTeamSlug",
          "eventId",
          "eventTimestamp",
          "statType",
          "statDisplay",
          "line",
          "oddsType",
          "leagueId",
          "leagueName",
          "bookmakers",
          "hitRateL5",
          "hitRateL10",
          "hitRateL15",
          "opponentHitRateL5",
          "opponentHitRateL10",
          "opponentHitRateL15"
        ],
        "type": "object"
      },
      "TeamExpectedCards": {
        "additionalProperties": false,
        "properties": {
          "allLines": {
            "items": {
              "$ref": "#/components/schemas/CardLine"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "bestLine": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "lambda": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "overOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "teamName": {
            "type": "string"
          },
          "underOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "teamId",
          "teamName",
          "lambda",
          "bestLine",
          "overOdds",
          "underOdds",
          "allLines"
        ],
        "type": "object"
      },
      "TeamScreenerFilters": {
        "additionalProperties": false,
        "properties": {
          "eventIds": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "leagueIds": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "limit": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxHitRateAllL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxHitRateAllL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxHitRateAllL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxHitRateL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxHitRateL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxHitRateL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOpponentHitRateAllL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOpponentHitRateAllL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOpponentHitRateAllL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOpponentHitRateL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOpponentHitRateL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "maxOpponentHitRateL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRateAllL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRateAllL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRateAllL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRateL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRateL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRateL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOpponentHitRateAllL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOpponentHitRateAllL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOpponentHitRateAllL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOpponentHitRateL10": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOpponentHitRateL15": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minOpponentHitRateL5": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "oddsType": {
            "type": "string"
          },
          "offset": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "selectedDates": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "sortColumn": {
            "type": "string"
          },
          "sortDirection": {
            "type": "string"
          },
          "statTypes": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "teamIds": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "eventIds",
          "leagueIds",
          "statTypes",
          "teamIds",
          "oddsType",
          "minOdds",
          "maxOdds",
          "minHitRateL5",
          "maxHitRateL5",
          "minHitRateL10",
          "maxHitRateL10",
          "minHitRateL15",
          "maxHitRateL15",
          "minOpponentHitRateL5",
          "maxOpponentHitRateL5",
          "minOpponentHitRateL10",
          "maxOpponentHitRateL10",
          "minOpponentHitRateL15",
          "maxOpponentHitRateL15",
          "minHitRateAllL5",
          "maxHitRateAllL5",
          "minHitRateAllL10",
          "maxHitRateAllL10",
          "minHitRateAllL15",
          "maxHitRateAllL15",
          "minOpponentHitRateAllL5",
          "maxOpponentHitRateAllL5",
          "minOpponentHitRateAllL10",
          "maxOpponentHitRateAllL10",
          "minOpponentHitRateAllL15",
          "maxOpponentHitRateAllL15",
          "selectedDates",
          "sortColumn",
          "sortDirection",
          "limit",
          "offset"
        ],
        "type": "object"
      },
      "TeamScreenerRow": {
        "additionalProperties": false,
        "properties": {
          "bookmakers": {
            "contentEncoding": "base64",
            "type": "string"
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "hitRateAllL10": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitRateAllL15": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitRateAllL5": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitRateL10": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitRateL15": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitRateL5": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "leagueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "leagueName": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "type": [
              "string",
              "null"
            ]
          },
          "oddsType": {
            "type": "string"
          },
          "opponentHitRateAllL10": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentHitRateAllL15": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentHitRateAllL5": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentHitRateL10": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentHitRateL15": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentHitRateL5": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentTeamName": {
            "type": "string"
          },
          "opponentTeamSlug": {
            "type": "string"
          },
          "statDisplay": {
            "type": "string"
          },
          "statType": {
            "type": "string"
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "teamName": {
            "type": "string"
          },
          "teamSlug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "teamId",
          "teamName",
          "teamSlug",
          "opponentTeamId",
          "opponentTeamName",
          "opponentTeamSlug",
          "eventId",
          "eventTimestamp",
          "statType",
          "statDisplay",
          "line",
          "oddsType",
          "leagueId",
          "leagueName",
          "bookmakers",
          "hitRateL5",
          "hitRateL10",
          "hitRateL15",
          "opponentHitRateL5",
          "opponentHitRateL10",
          "opponentHitRateL15",
          "hitRateAllL5",
          "hitRateAllL10",
          "hitRateAllL15",
          "opponentHitRateAllL5",
          "opponentHitRateAllL10",
          "opponentHitRateAllL15"
        ],
        "type": "object"
      },
      "TeamStatistics": {
        "additionalProperties": false,
        "properties": {
          "accurateCrosses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateCrossesPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "accurateFinalThirdPassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateLongBalls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateLongBallsPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "accurateOppositionHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateOppositionHalfPassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateOppositionHalfPassesPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "accurateOwnHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateOwnHalfPassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateOwnHalfPassesPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "accuratePasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accuratePassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accuratePassesPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "aerialDuelsWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "aerialDuelsWonPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "assists": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "averageBallPossession": {
            "type": [
              "string",
              "null"
            ]
          },
          "avgRating": {
            "type": [
              "string",
              "null"
            ]
          },
          "awardedMatches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "ballRecovery": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChances": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChancesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChancesCreated": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChancesCreatedAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChancesMissed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChancesMissedAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "blockedScoringAttempt": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "blockedScoringAttemptAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "cleanSheets": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "clearances": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "clearancesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "clearancesOffLine": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "corners": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "cornersAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "crossesSuccessfulAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "crossesTotalAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "dribbleAttempts": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "dribbleAttemptsTotalAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "dribbleAttemptsWonAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "duelsWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "duelsWonPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "errorsLeadingToGoal": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "errorsLeadingToGoalAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "errorsLeadingToShot": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "errorsLeadingToShotAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fastBreakGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fastBreakShots": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fastBreaks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fouls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "freeKickGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "freeKickShots": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "freeKicks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalKicks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsConceded": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsFromInsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsFromOutsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsScored": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "groundDuelsWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "groundDuelsWonPercentage": {
            "type": [
              "string",
              "null"
            ]
          },
          "headedGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitWoodwork": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitWoodworkAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "interceptions": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "interceptionsAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "keyPassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "lastManTackles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "leftFootGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "longBallsSuccessfulAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "longBallsTotalAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "matches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "offsides": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "offsidesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "oppositionHalfPassesTotalAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "ownGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "ownHalfPassesTotalAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesCommitted": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesTaken": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltyGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltyGoalsConceded": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "possessionLost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "redCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "redCardsAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "rightFootGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "saves": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "seasonId": {
            "format": "int64",
            "type": "integer"
          },
          "shots": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsBlockedAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsFromInsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsFromInsideTheBoxAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsFromOutsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsFromOutsideTheBoxAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOffTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOffTargetAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOnTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOnTargetAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "successfulDribbles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tackles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tacklesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "throwIns": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalAerialDuels": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalCrosses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalDuels": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalFinalThirdPassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalGroundDuels": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalLongBalls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalOppositionHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalOwnHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalPassesAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "yellowCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "yellowCardsAgainst": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "yellowRedCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "teamId",
          "seasonId",
          "matches",
          "awardedMatches",
          "goalsScored",
          "goalsConceded",
          "ownGoals",
          "assists",
          "shots",
          "penaltyGoals",
          "penaltiesTaken",
          "freeKickGoals",
          "freeKickShots",
          "goalsFromInsideTheBox",
          "goalsFromOutsideTheBox",
          "shotsFromInsideTheBox",
          "shotsFromOutsideTheBox",
          "headedGoals",
          "leftFootGoals",
          "rightFootGoals",
          "bigChances",
          "bigChancesCreated",
          "bigChancesMissed",
          "shotsOnTarget",
          "shotsOffTarget",
          "blockedScoringAttempt",
          "successfulDribbles",
          "dribbleAttempts",
          "corners",
          "hitWoodwork",
          "fastBreaks",
          "fastBreakGoals",
          "fastBreakShots",
          "averageBallPossession",
          "totalPasses",
          "accuratePasses",
          "accuratePassesPercentage",
          "totalOwnHalfPasses",
          "accurateOwnHalfPasses",
          "accurateOwnHalfPassesPercentage",
          "totalOppositionHalfPasses",
          "accurateOppositionHalfPasses",
          "accurateOppositionHalfPassesPercentage",
          "totalLongBalls",
          "accurateLongBalls",
          "accurateLongBallsPercentage",
          "totalCrosses",
          "accurateCrosses",
          "accurateCrossesPercentage",
          "cleanSheets",
          "tackles",
          "interceptions",
          "saves",
          "errorsLeadingToGoal",
          "errorsLeadingToShot",
          "penaltiesCommitted",
          "penaltyGoalsConceded",
          "clearances",
          "clearancesOffLine",
          "lastManTackles",
          "totalDuels",
          "duelsWon",
          "duelsWonPercentage",
          "totalGroundDuels",
          "groundDuelsWon",
          "groundDuelsWonPercentage",
          "totalAerialDuels",
          "aerialDuelsWon",
          "aerialDuelsWonPercentage",
          "possessionLost",
          "offsides",
          "fouls",
          "yellowCards",
          "yellowRedCards",
          "redCards",
          "avgRating",
          "accurateFinalThirdPassesAgainst",
          "accurateOppositionHalfPassesAgainst",
          "accurateOwnHalfPassesAgainst",
          "accuratePassesAgainst",
          "bigChancesAgainst",
          "bigChancesCreatedAgainst",
          "bigChancesMissedAgainst",
          "clearancesAgainst",
          "cornersAgainst",
          "crossesSuccessfulAgainst",
          "crossesTotalAgainst",
          "dribbleAttemptsTotalAgainst",
          "dribbleAttemptsWonAgainst",
          "errorsLeadingToGoalAgainst",
          "errorsLeadingToShotAgainst",
          "hitWoodworkAgainst",
          "interceptionsAgainst",
          "keyPassesAgainst",
          "longBallsSuccessfulAgainst",
          "longBallsTotalAgainst",
          "offsidesAgainst",
          "redCardsAgainst",
          "shotsAgainst",
          "shotsBlockedAgainst",
          "shotsFromInsideTheBoxAgainst",
          "shotsFromOutsideTheBoxAgainst",
          "shotsOffTargetAgainst",
          "shotsOnTargetAgainst",
          "blockedScoringAttemptAgainst",
          "tacklesAgainst",
          "totalFinalThirdPassesAgainst",
          "oppositionHalfPassesTotalAgainst",
          "ownHalfPassesTotalAgainst",
          "totalPassesAgainst",
          "yellowCardsAgainst",
          "throwIns",
          "goalKicks",
          "ballRecovery",
          "freeKicks"
        ],
        "type": "object"
      },
      "TeamTrendResult": {
        "additionalProperties": false,
        "properties": {
          "awayTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "awayTeamName": {
            "type": "string"
          },
          "awayTeamSlug": {
            "type": "string"
          },
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/TeamTrendsBookmaker"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "homeTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "homeTeamName": {
            "type": "string"
          },
          "homeTeamSlug": {
            "type": "string"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "leagueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "leagueName": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "oddsType": {
            "type": "string"
          },
          "opponentHitRate": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentTeamName": {
            "type": "string"
          },
          "opponentTeamSlug": {
            "type": "string"
          },
          "recentGames": {
            "items": {
              "$ref": "#/components/schemas/TeamTrendsRecentGame"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "statDisplay": {
            "type": "string"
          },
          "statType": {
            "type": "string"
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "teamName": {
            "type": "string"
          },
          "teamPrimaryColor": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSecondaryColor": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSlug": {
            "type": "string"
          },
          "trendAvg": {
            "format": "double",
            "type": "number"
          },
          "trendHits": {
            "format": "int64",
            "type": "integer"
          },
          "trendTotal": {
            "format": "double",
            "type": "number"
          },
          "trendWindow": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "teamId",
          "teamName",
          "teamSlug",
          "teamPrimaryColor",
          "teamSecondaryColor",
          "statType",
          "statDisplay",
          "line",
          "oddsType",
          "eventId",
          "eventTimestamp",
          "homeTeamId",
          "homeTeamName",
          "homeTeamSlug",
          "awayTeamId",
          "awayTeamName",
          "awayTeamSlug",
          "opponentTeamId",
          "opponentTeamName",
          "opponentTeamSlug",
          "opponentHitRate",
          "leagueId",
          "leagueName",
          "bookmakers",
          "trendHits",
          "trendWindow",
          "trendTotal",
          "trendAvg",
          "recentGames"
        ],
        "type": "object"
      },
      "TeamTrendsBookmaker": {
        "additionalProperties": false,
        "properties": {
          "bookmakerId": {},
          "bookmakerName": {},
          "oddsValue": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "bookmakerId",
          "bookmakerName",
          "oddsValue"
        ],
        "type": "object"
      },
      "TeamTrendsParams": {
        "additionalProperties": false,
        "properties": {
          "games": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "oddsRange": {
            "$ref": "#/components/schemas/TeamTrendsParamsOddsRangeStruct"
          },
          "page": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "pageSize": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "sorting": {
            "$ref": "#/components/schemas/TeamTrendsParamsSortingStruct"
          },
          "statTypes": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "games",
          "page",
          "pageSize",
          "statTypes",
          "oddsRange",
          "sorting"
        ],
        "type": "object"
      },
      "TeamTrendsParamsOddsRangeStruct": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "to": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "from",
          "to"
        ],
        "type": "object"
      },
      "TeamTrendsParamsSortingStruct": {
        "additionalProperties": false,
        "properties": {
          "column": {
            "type": "string"
          },
          "direction": {
            "type": "string"
          }
        },
        "required": [
          "column",
          "direction"
        ],
        "type": "object"
      },
      "TeamTrendsRecentGame": {
        "additionalProperties": false,
        "properties": {
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "isHit": {
            "type": "boolean"
          },
          "isHome": {
            "type": "boolean"
          },
          "opponentId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentName": {
            "type": "string"
          },
          "opponentSlug": {
            "type": "string"
          },
          "statValue": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "eventId",
          "statValue",
          "opponentName",
          "opponentSlug",
          "opponentId",
          "isHome",
          "isHit",
          "eventTimestamp"
        ],
        "type": "object"
      },
      "Teams": {
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "foundationdate": {
            "type": [
              "string",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "national": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "shortname": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamcolorsprimary": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamcolorssecondary": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamcolorstext": {
            "type": [
              "string",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "usercount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "venueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "name",
          "slug",
          "shortname",
          "gender",
          "tournamentId",
          "usercount",
          "teamcolorsprimary",
          "teamcolorssecondary",
          "teamcolorstext",
          "foundationdate",
          "countrySlug",
          "venueId",
          "national",
          "categoryId"
        ],
        "type": "object"
      },
      "TipsterPreviewBody": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tips": {
            "items": {
              "$ref": "#/components/schemas/TipsterTip"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "description",
          "tags",
          "tips"
        ],
        "type": "object"
      },
      "TipsterTip": {
        "additionalProperties": false,
        "properties": {
          "bettingTips": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "fixture": {
            "$ref": "#/components/schemas/TipsterTipFixtureStruct"
          }
        },
        "required": [
          "fixture",
          "content",
          "bettingTips"
        ],
        "type": "object"
      },
      "TipsterTipFixtureStruct": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/AwayTeamStruct"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/HomeTeamStruct"
          },
          "id": {},
          "slug": {
            "type": "string"
          },
          "startTimestamp": {},
          "tournament": {
            "$ref": "#/components/schemas/TournamentStruct"
          }
        },
        "required": [
          "id",
          "slug",
          "homeTeam",
          "awayTeam",
          "tournament",
          "startTimestamp"
        ],
        "type": "object"
      },
      "TournamentSeason": {
        "additionalProperties": false,
        "properties": {
          "seasonId": {
            "format": "int64",
            "type": "integer"
          },
          "seasonName": {
            "type": "string"
          }
        },
        "required": [
          "seasonId",
          "seasonName"
        ],
        "type": "object"
      },
      "TournamentSeasonsEntry": {
        "additionalProperties": false,
        "properties": {
          "isNational": {
            "type": "boolean"
          },
          "seasons": {
            "items": {
              "$ref": "#/components/schemas/TournamentSeason"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tournamentName": {
            "type": "string"
          }
        },
        "required": [
          "tournamentName",
          "isNational",
          "seasons"
        ],
        "type": "object"
      },
      "TournamentStruct": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "type": "object"
      },
      "TrendRecentGame": {
        "additionalProperties": false,
        "properties": {
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "double",
            "type": "number"
          },
          "hasSuperSub": {
            "type": "boolean"
          },
          "isHit": {
            "type": "boolean"
          },
          "isHome": {
            "type": "boolean"
          },
          "minutesPlayed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentName": {
            "type": "string"
          },
          "opponentSlug": {
            "type": "string"
          },
          "originalStatValue": {
            "format": "double",
            "type": "number"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "statValue": {
            "format": "double",
            "type": "number"
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "eventId",
          "statValue",
          "minutesPlayed",
          "position",
          "opponentName",
          "opponentSlug",
          "opponentId",
          "isHome",
          "isHit",
          "tournamentId",
          "uniqueTournamentId",
          "eventTimestamp",
          "hasSuperSub"
        ],
        "type": "object"
      },
      "TrendResult": {
        "additionalProperties": false,
        "properties": {
          "activityInfo": {
            "$ref": "#/components/schemas/ActivityInfo"
          },
          "awayTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "awayTeamName": {
            "type": "string"
          },
          "awayTeamSlug": {
            "type": "string"
          },
          "bookmakers": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventInternalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "eventTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "homeTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "homeTeamName": {
            "type": "string"
          },
          "homeTeamSlug": {
            "type": "string"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "inPredictedLineup": {
            "type": "boolean"
          },
          "leagueAverage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "marketName": {
            "type": "string"
          },
          "oddsType": {
            "type": "string"
          },
          "opponentAverage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "opponentRank": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "opponentTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentTeamName": {
            "type": "string"
          },
          "opponentTeamSlug": {
            "type": "string"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerName": {
            "type": "string"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "recentGames": {
            "items": {
              "$ref": "#/components/schemas/TrendRecentGame"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "statType": {
            "type": "string"
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "teamName": {
            "type": "string"
          },
          "teamPrimaryColor": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSecondaryColor": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSlug": {
            "type": "string"
          },
          "totalRanks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "trendAvg": {
            "format": "double",
            "type": "number"
          },
          "trendHits": {
            "format": "int64",
            "type": "integer"
          },
          "trendTotal": {
            "format": "double",
            "type": "number"
          },
          "trendWindow": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "playerId",
          "playerName",
          "statType",
          "marketName",
          "line",
          "oddsType",
          "eventId",
          "eventInternalId",
          "eventTimestamp",
          "teamId",
          "teamName",
          "teamSlug",
          "teamPrimaryColor",
          "teamSecondaryColor",
          "homeTeamId",
          "homeTeamName",
          "homeTeamSlug",
          "awayTeamId",
          "awayTeamName",
          "awayTeamSlug",
          "opponentTeamId",
          "opponentTeamName",
          "opponentTeamSlug",
          "opponentRank",
          "totalRanks",
          "leagueAverage",
          "opponentAverage",
          "bookmakers",
          "trendHits",
          "trendWindow",
          "trendTotal",
          "trendAvg",
          "recentGames",
          "inPredictedLineup",
          "activityInfo",
          "position"
        ],
        "type": "object"
      },
      "TrendsParams": {
        "additionalProperties": false,
        "properties": {
          "bookmakers": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "games": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "inPredictedLineup": {
            "type": "boolean"
          },
          "maxLastGameWithTeam": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minHitRate": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minWindow": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "nationalOnly": {
            "type": "boolean"
          },
          "oddsRange": {
            "$ref": "#/components/schemas/TrendsParamsOddsRangeStruct"
          },
          "page": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "pageSize": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "playerId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "positions": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "sorting": {
            "$ref": "#/components/schemas/TrendsParamsSortingStruct"
          },
          "startedLastGame": {
            "type": "boolean"
          },
          "statTypes": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "superSub": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "uniqueTournamentId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "games",
          "playerId",
          "uniqueTournamentId",
          "page",
          "pageSize",
          "statTypes",
          "type",
          "bookmakers",
          "oddsRange",
          "sorting",
          "minWindow",
          "minHitRate",
          "superSub",
          "nationalOnly",
          "inPredictedLineup",
          "startedLastGame",
          "maxLastGameWithTeam",
          "positions"
        ],
        "type": "object"
      },
      "TrendsParamsOddsRangeStruct": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "to": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "from",
          "to"
        ],
        "type": "object"
      },
      "TrendsParamsSortingStruct": {
        "additionalProperties": false,
        "properties": {
          "column": {
            "type": "string"
          },
          "direction": {
            "type": "string"
          }
        },
        "required": [
          "column",
          "direction"
        ],
        "type": "object"
      },
      "UiMessage": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "parts": {
            "items": {
              "$ref": "#/components/schemas/UiMessagePart"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "role",
          "parts"
        ],
        "type": "object"
      },
      "UiMessagePart": {
        "additionalProperties": false,
        "properties": {
          "input": {},
          "output": {},
          "result": {},
          "state": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "toolCallId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "text",
          "output",
          "result",
          "input",
          "state",
          "toolCallId"
        ],
        "type": "object"
      },
      "UpcomingMultiBody": {
        "additionalProperties": false,
        "properties": {
          "days": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "tournamentIds": {
            "items": {
              "format": "int64",
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "uniqueTournamentIds": {
            "items": {
              "format": "int64",
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "tournamentIds",
          "uniqueTournamentIds",
          "days"
        ],
        "type": "object"
      },
      "UpcomingMultiFixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "startTime": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "venueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "homeTeamId",
          "awayTeamId",
          "tournamentId",
          "startTime",
          "slug",
          "status",
          "homeTeamName",
          "awayTeamName",
          "venueId"
        ],
        "type": "object"
      },
      "V2Account": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "email",
          "role"
        ],
        "type": "object"
      },
      "V2AlertLines": {
        "additionalProperties": false,
        "properties": {
          "fivePlusFouls": {
            "type": "boolean"
          },
          "fourFouls": {
            "type": "boolean"
          },
          "threeFouls": {
            "type": "boolean"
          },
          "twoFouls": {
            "type": "boolean"
          },
          "yellowCards": {
            "type": "boolean"
          }
        },
        "required": [
          "twoFouls",
          "threeFouls",
          "fourFouls",
          "fivePlusFouls",
          "yellowCards"
        ],
        "type": "object"
      },
      "V2AlertLinesUpdate": {
        "additionalProperties": false,
        "properties": {
          "fivePlusFouls": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "fourFouls": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "threeFouls": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "twoFouls": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "yellowCards": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "twoFouls",
          "threeFouls",
          "fourFouls",
          "fivePlusFouls",
          "yellowCards"
        ],
        "type": "object"
      },
      "V2AlertPreferences": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "eligible": {
            "type": "boolean"
          },
          "lines": {
            "$ref": "#/components/schemas/V2AlertLines"
          },
          "mutedCompetitions": {
            "items": {
              "$ref": "#/components/schemas/V2ResourceReference"
            },
            "type": "array"
          },
          "telegramLinked": {
            "type": "boolean"
          }
        },
        "required": [
          "eligible",
          "active",
          "telegramLinked",
          "lines",
          "mutedCompetitions"
        ],
        "type": "object"
      },
      "V2Bankroll": {
        "additionalProperties": false,
        "properties": {
          "createdAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "isDefault": {
            "type": "boolean"
          },
          "mode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "startingBalance": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "unitValue": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "mode",
          "currency",
          "unitValue",
          "startingBalance",
          "isDefault",
          "createdAt"
        ],
        "type": "object"
      },
      "V2BasketballCompetitionFixturesOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballCompetitionTeamsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BasketballTeamSummary"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballCompetitionsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {
              "items": {
                "$ref": "#/components/schemas/BasketballTournamentGroup"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballFixturePlayerOddsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballFixturesOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballPlayerOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "contentEncoding": "base64",
            "type": "string"
          },
          "nextEvent": {}
        },
        "required": [
          "data",
          "nextEvent"
        ],
        "type": "object"
      },
      "V2BasketballPlayerPerformanceOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballPlayersOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballSearchOKBody": {
        "additionalProperties": false,
        "properties": {
          "fixtures": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "players": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "teams": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "fixtures",
          "players",
          "teams"
        ],
        "type": "object"
      },
      "V2BasketballTeamOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {}
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballTeamPerformanceOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2BasketballTeamPlayerPerformanceOKBody": {
        "additionalProperties": false,
        "properties": {
          "currentFixturePlayerStats": {
            "items": {
              "format": "int64",
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/BasketballPlayerLine"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "events": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "currentFixturePlayerStats",
          "data",
          "events"
        ],
        "type": "object"
      },
      "V2BasketballTeamUpcomingFixturesOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2BetTrackerSettings": {
        "additionalProperties": false,
        "properties": {
          "currency": {
            "type": "string"
          },
          "stakeMode": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "unitValue": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "stakeMode",
          "currency",
          "unitValue",
          "tags"
        ],
        "type": "object"
      },
      "V2BettingHistoryBet": {
        "additionalProperties": false,
        "properties": {
          "backedOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "profit": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "runningProfit": {
            "format": "double",
            "type": "number"
          },
          "stake": {
            "format": "double",
            "type": "number"
          },
          "won": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "backedOdds",
          "won",
          "stake",
          "profit",
          "runningProfit"
        ],
        "type": "object"
      },
      "V2BettingHistoryFilters": {
        "additionalProperties": false,
        "properties": {
          "competitionId": {
            "type": [
              "string",
              "null"
            ]
          },
          "from": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "format": "int64",
            "type": "integer"
          },
          "side": {
            "enum": [
              "team"
            ],
            "type": "string"
          },
          "stake": {
            "format": "double",
            "type": "number"
          },
          "to": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "venue": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "limit",
          "stake",
          "side",
          "venue",
          "competitionId",
          "from",
          "to"
        ],
        "type": "object"
      },
      "V2BettingHistoryMatch": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "bet": {
            "$ref": "#/components/schemas/V2BettingHistoryBet"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "fixture": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "home": {
            "type": "boolean"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "odds": {
            "$ref": "#/components/schemas/V2BettingHistoryOdds"
          },
          "result": {
            "enum": [
              "win",
              "draw",
              "loss"
            ],
            "type": "string"
          },
          "score": {
            "$ref": "#/components/schemas/V2FixtureScore"
          }
        },
        "required": [
          "fixture",
          "kickoffAt",
          "competition",
          "homeTeam",
          "awayTeam",
          "score",
          "home",
          "result",
          "odds",
          "bet"
        ],
        "type": "object"
      },
      "V2BettingHistoryOdds": {
        "additionalProperties": false,
        "properties": {
          "bestAwayWin": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestDraw": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestHomeWin": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bookmaker": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "bestHomeWin",
          "bestDraw",
          "bestAwayWin",
          "bookmaker"
        ],
        "type": "object"
      },
      "V2BettingHistorySummary": {
        "additionalProperties": false,
        "properties": {
          "backedWinRatePercent": {
            "format": "double",
            "type": "number"
          },
          "matchesWithOdds": {
            "format": "int64",
            "type": "integer"
          },
          "returns": {
            "$ref": "#/components/schemas/V2BettingReturns"
          },
          "totalMatches": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "totalMatches",
          "matchesWithOdds",
          "returns",
          "backedWinRatePercent"
        ],
        "type": "object"
      },
      "V2BettingOddsBracket": {
        "additionalProperties": false,
        "properties": {
          "drawn": {
            "format": "int64",
            "type": "integer"
          },
          "label": {
            "type": "string"
          },
          "lost": {
            "format": "int64",
            "type": "integer"
          },
          "maxOdds": {
            "format": "double",
            "type": "number"
          },
          "minOdds": {
            "format": "double",
            "type": "number"
          },
          "played": {
            "format": "int64",
            "type": "integer"
          },
          "returns": {
            "$ref": "#/components/schemas/V2BettingReturns"
          },
          "winRatePercent": {
            "format": "double",
            "type": "number"
          },
          "won": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "label",
          "minOdds",
          "maxOdds",
          "played",
          "won",
          "drawn",
          "lost",
          "winRatePercent",
          "returns"
        ],
        "type": "object"
      },
      "V2BettingReturns": {
        "additionalProperties": false,
        "properties": {
          "profit": {
            "format": "double",
            "type": "number"
          },
          "roiPercent": {
            "format": "double",
            "type": "number"
          },
          "totalReturned": {
            "format": "double",
            "type": "number"
          },
          "totalStaked": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "totalStaked",
          "totalReturned",
          "profit",
          "roiPercent"
        ],
        "type": "object"
      },
      "V2Bookmaker": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "source": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "source",
          "active"
        ],
        "type": "object"
      },
      "V2BookmakerPrice": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "price": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "bookmaker",
          "price"
        ],
        "type": "object"
      },
      "V2BracketParticipant": {
        "additionalProperties": false,
        "properties": {
          "placeholder": {
            "type": [
              "string",
              "null"
            ]
          },
          "score": {
            "type": [
              "string",
              "null"
            ]
          },
          "seed": {
            "type": [
              "string",
              "null"
            ]
          },
          "sourceTieId": {
            "type": [
              "string",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2NullableResourceReference"
          },
          "winner": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "team",
          "score",
          "seed",
          "winner",
          "sourceTieId",
          "placeholder"
        ],
        "type": "object"
      },
      "V2BracketRound": {
        "additionalProperties": false,
        "properties": {
          "kindCode": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "matchesInRound": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "order": {
            "format": "int64",
            "type": "integer"
          },
          "ties": {
            "items": {
              "$ref": "#/components/schemas/V2BracketTie"
            },
            "type": "array"
          }
        },
        "required": [
          "order",
          "name",
          "kindCode",
          "matchesInRound",
          "ties"
        ],
        "type": "object"
      },
      "V2BracketTie": {
        "additionalProperties": false,
        "properties": {
          "automaticProgression": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "away": {
            "$ref": "#/components/schemas/V2BracketParticipant"
          },
          "finished": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "fixtureIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "hasNextRoundLink": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "home": {
            "$ref": "#/components/schemas/V2BracketParticipant"
          },
          "id": {
            "type": "string"
          },
          "inProgress": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "order": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "result": {
            "type": [
              "string",
              "null"
            ]
          },
          "startedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "order",
          "fixtureIds",
          "finished",
          "inProgress",
          "hasNextRoundLink",
          "automaticProgression",
          "startedAt",
          "result",
          "home",
          "away"
        ],
        "type": "object"
      },
      "V2CardOddsBatchInputBody": {
        "additionalProperties": false,
        "properties": {
          "eventIds": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "eventIds"
        ],
        "type": "object"
      },
      "V2CommentaryPlayerStatistic": {
        "additionalProperties": false,
        "properties": {
          "firstHalfFoulsCommitted": {
            "format": "int64",
            "type": "integer"
          },
          "firstHalfFoulsWon": {
            "format": "int64",
            "type": "integer"
          },
          "firstHalfShots": {
            "format": "int64",
            "type": "integer"
          },
          "firstHalfShotsOnTarget": {
            "format": "int64",
            "type": "integer"
          },
          "fixture": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "headedShots": {
            "format": "int64",
            "type": "integer"
          },
          "headedShotsOnTarget": {
            "format": "int64",
            "type": "integer"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "playerName": {
            "type": "string"
          },
          "shotsOnTargetOutsideBox": {
            "format": "int64",
            "type": "integer"
          },
          "shotsOutsideBox": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "fixture",
          "player",
          "playerName",
          "shotsOutsideBox",
          "shotsOnTargetOutsideBox",
          "headedShots",
          "headedShotsOnTarget",
          "firstHalfShots",
          "firstHalfShotsOnTarget",
          "firstHalfFoulsCommitted",
          "firstHalfFoulsWon"
        ],
        "type": "object"
      },
      "V2Competition": {
        "additionalProperties": false,
        "properties": {
          "capabilities": {
            "$ref": "#/components/schemas/V2CompetitionCapabilities"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "primaryColor": {
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "secondaryColor": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "primaryColor",
          "secondaryColor",
          "region",
          "capabilities"
        ],
        "type": "object"
      },
      "V2CompetitionBracket": {
        "additionalProperties": false,
        "properties": {
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "currentRound": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "formatCode": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "phase": {
            "$ref": "#/components/schemas/V2NullableResourceReference"
          },
          "rounds": {
            "items": {
              "$ref": "#/components/schemas/V2BracketRound"
            },
            "type": "array"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "currentRound",
          "formatCode",
          "competition",
          "season",
          "phase",
          "updatedAt",
          "rounds"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2CompetitionCapabilities": {
        "additionalProperties": false,
        "properties": {
          "liveAlerts": {
            "type": "boolean"
          },
          "performanceGraph": {
            "type": "boolean"
          },
          "playerStatistics": {
            "type": "boolean"
          }
        },
        "required": [
          "performanceGraph",
          "playerStatistics",
          "liveAlerts"
        ],
        "type": "object"
      },
      "V2CompetitionPhase": {
        "additionalProperties": false,
        "properties": {
          "capabilities": {
            "$ref": "#/components/schemas/V2PhaseCapabilities"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "group": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "live": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "competition",
          "region",
          "group",
          "live",
          "capabilities"
        ],
        "type": "object"
      },
      "V2CompetitionRound": {
        "additionalProperties": false,
        "properties": {
          "number": {
            "format": "int64",
            "type": "integer"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "number",
          "slug"
        ],
        "type": "object"
      },
      "V2CompetitionSeason": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "year": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "year"
        ],
        "type": "object"
      },
      "V2Country": {
        "additionalProperties": false,
        "properties": {
          "alpha2": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "alpha2"
        ],
        "type": "object"
      },
      "V2CountryReference": {
        "additionalProperties": false,
        "properties": {
          "alpha2": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "alpha2"
        ],
        "type": "object"
      },
      "V2CreateCompetitionCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "message",
          "name"
        ],
        "type": "object"
      },
      "V2CreateCompetitionInputBody": {
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "displayInverseHomeAway": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "hasEventPlayerStatistics": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "hasPerformanceGraph": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "primaryColorHex": {
            "type": [
              "string",
              "null"
            ]
          },
          "secondaryColorHex": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "userCount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "primaryColorHex",
          "secondaryColorHex",
          "categoryId",
          "userCount",
          "hasPerformanceGraph",
          "hasEventPlayerStatistics",
          "displayInverseHomeAway"
        ],
        "type": "object"
      },
      "V2CreateCountryCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "alpha2": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "alpha2",
          "message",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "V2CreateFixtureCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "event": {
            "$ref": "#/components/schemas/Events"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "event",
          "message"
        ],
        "type": "object"
      },
      "V2CreateIncidentCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "message"
        ],
        "type": "object"
      },
      "V2CreateManagerCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "message",
          "name"
        ],
        "type": "object"
      },
      "V2CreateManagerInputBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      },
      "V2CreatePlayerCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/Players"
          }
        },
        "required": [
          "message",
          "team"
        ],
        "type": "object"
      },
      "V2CreatePlayerInputBody": {
        "additionalProperties": false,
        "properties": {
          "contractuntil": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "dateofbirth": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "deceased": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "height": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "jerseynumber": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "marketvalue": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "preferredfoot": {
            "type": [
              "string",
              "null"
            ]
          },
          "shortname": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamid": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "usercount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortname",
          "position",
          "jerseynumber",
          "height",
          "preferredfoot",
          "usercount",
          "deceased",
          "gender",
          "countrySlug",
          "dateofbirth",
          "contractuntil",
          "marketvalue",
          "teamid"
        ],
        "type": "object"
      },
      "V2CreateRefereeCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "message",
          "name"
        ],
        "type": "object"
      },
      "V2CreateRegionCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "message",
          "name"
        ],
        "type": "object"
      },
      "V2CreateSavedScreenerFilterCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SavedFilterView"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2CreateSavedScreenerFilterInputBody": {
        "additionalProperties": false,
        "properties": {
          "filters": {},
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "type",
          "filters"
        ],
        "type": "object"
      },
      "V2CreateSeasonCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "message",
          "name"
        ],
        "type": "object"
      },
      "V2CreateTeamCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "message": {
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/Teams"
          }
        },
        "required": [
          "message",
          "team"
        ],
        "type": "object"
      },
      "V2CreateTeamInputBody": {
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "foundationdate": {
            "type": [
              "string",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "national": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "shortname": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamcolorsprimary": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamcolorssecondary": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamcolorstext": {
            "type": [
              "string",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "usercount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "venueId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortname",
          "gender",
          "tournamentId",
          "usercount",
          "teamcolorsprimary",
          "teamcolorssecondary",
          "teamcolorstext",
          "foundationdate",
          "countrySlug",
          "venueId",
          "national",
          "categoryId"
        ],
        "type": "object"
      },
      "V2CreateTipsterPreviewCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "preview": {},
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "preview"
        ],
        "type": "object"
      },
      "V2CreateValueBetLineupAlertInputBody": {
        "additionalProperties": false,
        "properties": {
          "line": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "marketType": {
            "type": [
              "string",
              "null"
            ]
          },
          "matchDate": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "matchId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          },
          "playerId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "playerName": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "playerId",
          "playerName",
          "teamId",
          "matchId",
          "matchDate",
          "marketType",
          "line",
          "note"
        ],
        "type": "object"
      },
      "V2CreateValueBetLineupAlertOKBody": {
        "additionalProperties": false,
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      },
      "V2CreateVenueCreatedBody": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "message",
          "name"
        ],
        "type": "object"
      },
      "V2DataVisualizerByIDsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/DataVisualizerEvent"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2DataVisualizerDailySummary": {
        "additionalProperties": false,
        "properties": {
          "corruptedTeam": {
            "format": "int64",
            "type": "integer"
          },
          "date": {
            "type": "string"
          },
          "good": {
            "format": "int64",
            "type": "integer"
          },
          "missingTeam": {
            "format": "int64",
            "type": "integer"
          },
          "total": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "date",
          "total",
          "good",
          "corruptedTeam",
          "missingTeam"
        ],
        "type": "object"
      },
      "V2DataVisualizerEvent": {
        "additionalProperties": false,
        "properties": {
          "awayScore": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeam": {
            "type": "string"
          },
          "awayTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "corruptedPlayerStatsCount": {
            "format": "int64",
            "type": "integer"
          },
          "hasCorruptedPlayerStats": {
            "type": "boolean"
          },
          "hasCorruptedTeamStats": {
            "type": "boolean"
          },
          "hasPlayerStats": {
            "type": "boolean"
          },
          "hasStats": {
            "type": "boolean"
          },
          "homeScore": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeam": {
            "type": "string"
          },
          "homeTeamId": {
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "isUnsupportedTournament": {
            "type": "boolean"
          },
          "league": {
            "type": "string"
          },
          "matchDate": {
            "type": "string"
          },
          "matchTime": {
            "type": "string"
          },
          "playerStatsCount": {
            "format": "int64",
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "statsCount": {
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "internalId",
          "homeTeam",
          "awayTeam",
          "homeTeamId",
          "awayTeamId",
          "league",
          "matchDate",
          "matchTime",
          "status",
          "homeScore",
          "awayScore",
          "hasStats",
          "statsCount",
          "hasCorruptedTeamStats",
          "hasPlayerStats",
          "playerStatsCount",
          "hasCorruptedPlayerStats",
          "corruptedPlayerStatsCount",
          "isUnsupportedTournament",
          "slug"
        ],
        "type": "object"
      },
      "V2DataVisualizerMonthlySummary": {
        "additionalProperties": false,
        "properties": {
          "corruptedTeam": {
            "format": "int64",
            "type": "integer"
          },
          "days": {
            "items": {
              "$ref": "#/components/schemas/V2DataVisualizerDailySummary"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "good": {
            "format": "int64",
            "type": "integer"
          },
          "missingTeam": {
            "format": "int64",
            "type": "integer"
          },
          "month": {
            "type": "string"
          },
          "total": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "month",
          "days",
          "total",
          "good",
          "corruptedTeam",
          "missingTeam"
        ],
        "type": "object"
      },
      "V2DataVisualizerResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/V2DataVisualizerEvent"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2DataVisualizerSummary": {
        "additionalProperties": false,
        "properties": {
          "corruptedEventCount": {
            "format": "int64",
            "type": "integer"
          },
          "corruptedEvents": {
            "items": {
              "$ref": "#/components/schemas/V2DataVisualizerEvent"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "corruptedEventsTruncated": {
            "type": "boolean"
          },
          "corruptedPlayerStats": {
            "format": "int64",
            "type": "integer"
          },
          "corruptedTeamStats": {
            "format": "int64",
            "type": "integer"
          },
          "dailyData": {
            "items": {
              "$ref": "#/components/schemas/V2DataVisualizerDailySummary"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "excludedEvents": {
            "format": "int64",
            "type": "integer"
          },
          "finishedCorruptedPlayerStats": {
            "format": "int64",
            "type": "integer"
          },
          "finishedCorruptedTeamStats": {
            "format": "int64",
            "type": "integer"
          },
          "finishedEvents": {
            "format": "int64",
            "type": "integer"
          },
          "finishedWithPlayerStats": {
            "format": "int64",
            "type": "integer"
          },
          "finishedWithStats": {
            "format": "int64",
            "type": "integer"
          },
          "goodEvents": {
            "format": "int64",
            "type": "integer"
          },
          "missingPlayerStats": {
            "format": "int64",
            "type": "integer"
          },
          "missingTeamStats": {
            "format": "int64",
            "type": "integer"
          },
          "monthlyData": {
            "items": {
              "$ref": "#/components/schemas/V2DataVisualizerMonthlySummary"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "playerStatsCorruptionRate": {
            "format": "double",
            "type": "number"
          },
          "teamStatsCorruptionRate": {
            "format": "double",
            "type": "number"
          },
          "totalEvents": {
            "format": "int64",
            "type": "integer"
          },
          "unsupportedTeamEvents": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "totalEvents",
          "goodEvents",
          "corruptedTeamStats",
          "corruptedPlayerStats",
          "missingTeamStats",
          "missingPlayerStats",
          "finishedEvents",
          "finishedWithStats",
          "finishedCorruptedTeamStats",
          "finishedWithPlayerStats",
          "finishedCorruptedPlayerStats",
          "unsupportedTeamEvents",
          "excludedEvents",
          "teamStatsCorruptionRate",
          "playerStatsCorruptionRate",
          "dailyData",
          "monthlyData",
          "corruptedEvents",
          "corruptedEventCount",
          "corruptedEventsTruncated"
        ],
        "type": "object"
      },
      "V2DataVisualizerSummaryResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/V2DataVisualizerSummary"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2ExpectedReturnDate": {
        "additionalProperties": false,
        "properties": {
          "day": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "month": {
            "format": "int64",
            "type": "integer"
          },
          "precision": {
            "enum": [
              "exact",
              "month"
            ],
            "type": "string"
          },
          "year": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "day",
          "month",
          "year",
          "precision"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2FavoriteNotes": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "notes"
        ],
        "type": "object"
      },
      "V2FavoriteReference": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "V2Fixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2FixtureTeam"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "coverage": {
            "$ref": "#/components/schemas/V2FixtureCoverage"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2FixtureTeam"
          },
          "id": {
            "type": "string"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "phase": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "referee": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "round": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "score": {
            "$ref": "#/components/schemas/V2FixtureScore"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "venue": {
            "$ref": "#/components/schemas/V2FixtureVenue"
          }
        },
        "required": [
          "id",
          "slug",
          "status",
          "kickoffAt",
          "round",
          "competition",
          "season",
          "phase",
          "homeTeam",
          "awayTeam",
          "venue",
          "referee",
          "score",
          "coverage"
        ],
        "type": "object"
      },
      "V2FixtureBulkTeamOddsOKBody": {
        "additionalProperties": false,
        "properties": {
          "bookmakerSummary": {
            "additionalProperties": {
              "format": "int64",
              "type": "integer"
            },
            "type": "object"
          },
          "data": {
            "additionalProperties": {},
            "type": "object"
          },
          "eventIds": {
            "items": {
              "format": "int64",
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "eventsWithOdds": {
            "format": "int64",
            "type": "integer"
          },
          "totalEvents": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureCountsByDateOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {
              "format": "int64",
              "type": "integer"
            },
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureCoverage": {
        "additionalProperties": false,
        "properties": {
          "lineup": {
            "type": "string"
          },
          "odds": {
            "type": "boolean"
          },
          "playerStatistics": {
            "type": "boolean"
          },
          "statistics": {
            "type": "boolean"
          }
        },
        "required": [
          "lineup",
          "statistics",
          "playerStatistics",
          "odds"
        ],
        "type": "object"
      },
      "V2FixtureDayCategory": {
        "additionalProperties": false,
        "properties": {
          "flag": {
            "type": "string"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "flag"
        ],
        "type": "object"
      },
      "V2FixtureDayCompetition": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "uniqueTournamentId"
        ],
        "type": "object"
      },
      "V2FixtureDayEvent": {
        "additionalProperties": false,
        "properties": {
          "awayScoreCurrent": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeScoreCurrent": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "refereeId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "timeStartTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "internalId",
          "slug",
          "status",
          "timeStartTimestamp",
          "homeScoreCurrent",
          "awayScoreCurrent",
          "refereeId",
          "uniqueTournamentId"
        ],
        "type": "object"
      },
      "V2FixtureDayFacets": {
        "additionalProperties": false,
        "properties": {
          "competitions": {
            "items": {
              "$ref": "#/components/schemas/V2FixtureDayCompetition"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "competitions"
        ],
        "type": "object"
      },
      "V2FixtureDayResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/V2FixtureDayRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "facets": {
            "$ref": "#/components/schemas/V2FixtureDayFacets"
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination",
          "facets"
        ],
        "type": "object"
      },
      "V2FixtureDayRow": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2FixtureDayTeam"
          },
          "categories": {
            "$ref": "#/components/schemas/V2FixtureDayCategory"
          },
          "events": {
            "$ref": "#/components/schemas/V2FixtureDayEvent"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2FixtureDayTeam"
          },
          "lineupType": {
            "type": "string"
          },
          "refereeAvgCards": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "refereeGames": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "refereeName": {
            "type": [
              "string",
              "null"
            ]
          },
          "refereeRedCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "refereeYellowCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "uniqueViewPriority": {
            "format": "int64",
            "type": "integer"
          },
          "unique_tournaments": {
            "$ref": "#/components/schemas/V2FixtureDayUniqueTournament"
          }
        },
        "required": [
          "events",
          "unique_tournaments",
          "categories",
          "homeTeam",
          "awayTeam",
          "refereeName",
          "refereeYellowCards",
          "refereeRedCards",
          "refereeGames",
          "refereeAvgCards",
          "lineupType",
          "uniqueViewPriority"
        ],
        "type": "object"
      },
      "V2FixtureDayTeam": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "internalId": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "shortname": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "internalId",
          "slug",
          "name",
          "shortname"
        ],
        "type": "object"
      },
      "V2FixtureDayUniqueTournament": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "V2FixtureExpectedCardsOKBody": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/TeamExpectedCards"
          },
          "bookmaker": {},
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/TeamExpectedCards"
          },
          "totalExpectedCards": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "awayTeam",
          "bookmaker",
          "eventId",
          "homeTeam",
          "totalExpectedCards"
        ],
        "type": "object"
      },
      "V2FixtureFormations": {
        "additionalProperties": false,
        "properties": {
          "away": {
            "$ref": "#/components/schemas/V2TeamFormation"
          },
          "home": {
            "$ref": "#/components/schemas/V2TeamFormation"
          },
          "status": {
            "enum": [
              "confirmed",
              "projected",
              "historical",
              "unavailable"
            ],
            "type": "string"
          }
        },
        "required": [
          "status",
          "home",
          "away"
        ],
        "type": "object"
      },
      "V2FixtureIncident": {
        "additionalProperties": false,
        "properties": {
          "addedTime": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "assist": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "class": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "minute": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "rescinded": {
            "type": "boolean"
          },
          "score": {
            "$ref": "#/components/schemas/V2FixtureScore"
          },
          "side": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "class",
          "side",
          "minute",
          "addedTime",
          "player",
          "assist",
          "reason",
          "rescinded",
          "score"
        ],
        "type": "object"
      },
      "V2FixtureLineup": {
        "additionalProperties": false,
        "properties": {
          "players": {
            "items": {
              "$ref": "#/components/schemas/V2FixtureLineupPlayer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "players"
        ],
        "type": "object"
      },
      "V2FixtureLineupAnalysisOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SorareInsideLineups"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureLineupPlayer": {
        "additionalProperties": false,
        "properties": {
          "confidence": {
            "type": [
              "string",
              "null"
            ]
          },
          "jerseyNumber": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": "string"
          },
          "side": {
            "type": "string"
          },
          "starter": {
            "type": "boolean"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "player",
          "team",
          "side",
          "position",
          "starter",
          "jerseyNumber",
          "confidence"
        ],
        "type": "object"
      },
      "V2FixtureLineupPreviewOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SorareInsideLineups"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureLineupStatusOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureLiveScoresOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixturePlayerHeatmap": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "points": {
            "items": {
              "$ref": "#/components/schemas/V2HeatmapPoint"
            },
            "type": "array"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "side": {
            "enum": [
              "home",
              "away"
            ],
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "id",
          "player",
          "team",
          "side",
          "season",
          "points"
        ],
        "type": "object"
      },
      "V2FixturePlayerStatistic": {
        "additionalProperties": false,
        "properties": {
          "assists": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "expectedAssists": {
            "type": [
              "string",
              "null"
            ]
          },
          "expectedGoals": {
            "type": [
              "string",
              "null"
            ]
          },
          "goals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "minutesPlayed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "passesAttempted": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "passesCompleted": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": "string"
          },
          "rating": {
            "type": [
              "string",
              "null"
            ]
          },
          "redCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "saves": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOffTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOnTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tackles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "yellowCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "player",
          "team",
          "position",
          "minutesPlayed",
          "rating",
          "goals",
          "assists",
          "expectedGoals",
          "expectedAssists",
          "shotsOnTarget",
          "shotsOffTarget",
          "passesAttempted",
          "passesCompleted",
          "tackles",
          "saves",
          "yellowCards",
          "redCards"
        ],
        "type": "object"
      },
      "V2FixturePredictedLineupsOKBody": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "additionalProperties": {},
            "type": "object"
          },
          "homeTeam": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "awayTeam",
          "homeTeam"
        ],
        "type": "object"
      },
      "V2FixtureScore": {
        "additionalProperties": false,
        "properties": {
          "away": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayNormal": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "home": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeNormal": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "home",
          "away",
          "homeNormal",
          "awayNormal"
        ],
        "type": "object"
      },
      "V2FixtureShot": {
        "additionalProperties": false,
        "properties": {
          "additionalInformation": {
            "$ref": "#/components/schemas/V2ShotAdditionalInfo"
          },
          "angle": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "blocked": {
            "type": "boolean"
          },
          "blockedByPlayer": {
            "$ref": "#/components/schemas/V2NullableResourceReference"
          },
          "bodyPart": {
            "type": [
              "string",
              "null"
            ]
          },
          "distance": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "expectedGoals": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "goal": {
            "type": "boolean"
          },
          "headed": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "minute": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "onTarget": {
            "type": "boolean"
          },
          "outsidePenaltyArea": {
            "type": "boolean"
          },
          "penalty": {
            "type": "boolean"
          },
          "player": {
            "$ref": "#/components/schemas/V2NullableResourceReference"
          },
          "result": {
            "type": "string"
          },
          "side": {
            "enum": [
              "home",
              "away"
            ],
            "type": "string"
          },
          "situation": {
            "type": [
              "string",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "x": {
            "format": "double",
            "type": "number"
          },
          "y": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "id",
          "player",
          "team",
          "side",
          "x",
          "y",
          "minute",
          "result",
          "expectedGoals",
          "situation",
          "bodyPart",
          "blocked",
          "blockedByPlayer",
          "distance",
          "angle",
          "goal",
          "onTarget",
          "headed",
          "outsidePenaltyArea",
          "penalty",
          "additionalInformation"
        ],
        "type": "object"
      },
      "V2FixtureShotMap": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "lastUpdatedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "nonPenaltyExpectedGoals": {
            "$ref": "#/components/schemas/V2ShotExpectedGoalsSummary"
          },
          "shots": {
            "items": {
              "$ref": "#/components/schemas/V2FixtureShot"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "lastUpdatedAt",
          "shots",
          "nonPenaltyExpectedGoals"
        ],
        "type": "object"
      },
      "V2FixtureShotsModelOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureShotsModelOddsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureStatistic": {
        "additionalProperties": false,
        "properties": {
          "awayTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "awayValue": {
            "type": "string"
          },
          "group": {
            "type": "string"
          },
          "homeTotal": {
            "type": [
              "string",
              "null"
            ]
          },
          "homeValue": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "period": {
            "type": "string"
          }
        },
        "required": [
          "period",
          "group",
          "key",
          "homeValue",
          "awayValue",
          "homeTotal",
          "awayTotal"
        ],
        "type": "object"
      },
      "V2FixtureTeam": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortName"
        ],
        "type": "object"
      },
      "V2FixtureTeamOddsOKBody": {
        "additionalProperties": false,
        "properties": {
          "bookmakerSummary": {
            "additionalProperties": {
              "format": "int64",
              "type": "integer"
            },
            "type": "object"
          },
          "data": {
            "additionalProperties": {},
            "type": "object"
          },
          "eventId": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2FixtureUnavailability": {
        "additionalProperties": false,
        "properties": {
          "away": {
            "items": {
              "$ref": "#/components/schemas/V2PlayerUnavailability"
            },
            "type": "array"
          },
          "home": {
            "items": {
              "$ref": "#/components/schemas/V2PlayerUnavailability"
            },
            "type": "array"
          }
        },
        "required": [
          "home",
          "away"
        ],
        "type": "object"
      },
      "V2FixtureVenue": {
        "additionalProperties": false,
        "properties": {
          "cityName": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "cityName"
        ],
        "type": "object"
      },
      "V2HeatmapPoint": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "x": {
            "format": "double",
            "type": "number"
          },
          "y": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "x",
          "y",
          "count"
        ],
        "type": "object"
      },
      "V2HeroRow": {
        "additionalProperties": false,
        "properties": {
          "addedTotal": {
            "format": "double",
            "type": "number"
          },
          "avgMinutes": {
            "format": "double",
            "type": "number"
          },
          "baseAvg": {
            "format": "double",
            "type": "number"
          },
          "baseTotal": {
            "format": "double",
            "type": "number"
          },
          "boostPct": {
            "format": "double",
            "type": "number"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerInternalId": {
            "format": "int64",
            "type": "integer"
          },
          "playerName": {
            "type": "string"
          },
          "playerSlug": {
            "type": "string"
          },
          "rank": {
            "format": "int64",
            "type": "integer"
          },
          "starts": {
            "format": "double",
            "type": "number"
          },
          "subbedOff": {
            "format": "double",
            "type": "number"
          },
          "teamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "teamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "withSubAvg": {
            "format": "double",
            "type": "number"
          },
          "withSubTotal": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "rank",
          "playerId",
          "playerInternalId",
          "playerName",
          "playerSlug",
          "teamId",
          "teamName",
          "teamSlug",
          "starts",
          "subbedOff",
          "avgMinutes",
          "baseTotal",
          "addedTotal",
          "withSubTotal",
          "baseAvg",
          "withSubAvg",
          "boostPct"
        ],
        "type": "object"
      },
      "V2HeroesResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/V2HeroRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "generatedAt": {
            "format": "int64",
            "type": "integer"
          },
          "leagues": {
            "items": {
              "$ref": "#/components/schemas/LeagueOption"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          },
          "stat": {
            "type": "string"
          },
          "thresholds": {
            "$ref": "#/components/schemas/V2HeroesThresholds"
          },
          "window": {
            "type": "string"
          }
        },
        "required": [
          "generatedAt",
          "stat",
          "window",
          "thresholds",
          "leagues",
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2HeroesThresholds": {
        "additionalProperties": false,
        "properties": {
          "minBaseTotal": {
            "format": "double",
            "type": "number"
          },
          "minStarts": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "minStarts",
          "minBaseTotal"
        ],
        "type": "object"
      },
      "V2HundredClubBookmaker": {
        "additionalProperties": false,
        "properties": {
          "bookmakerId": {
            "format": "int64",
            "type": "integer"
          },
          "bookmakerName": {
            "type": "string"
          },
          "oddsValue": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "bookmakerId",
          "bookmakerName",
          "oddsValue"
        ],
        "type": "object"
      },
      "V2HundredClubResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/V2HundredClubRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2HundredClubRow": {
        "additionalProperties": false,
        "properties": {
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/V2HundredClubBookmaker"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "marketName": {
            "type": "string"
          },
          "oddsType": {
            "type": "string"
          },
          "opponentTeamName": {
            "type": "string"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerName": {
            "type": "string"
          },
          "statType": {
            "type": "string"
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "teamName": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "playerId",
          "playerName",
          "statType",
          "marketName",
          "line",
          "oddsType",
          "eventId",
          "eventTimestamp",
          "teamId",
          "teamName",
          "opponentTeamName",
          "bookmakers"
        ],
        "type": "object"
      },
      "V2ImageOKBody": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "V2ImagesOKBody": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "V2IngestImageInputBody": {
        "additionalProperties": false,
        "properties": {
          "id": {},
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "id"
        ],
        "type": "object"
      },
      "V2InvalidField": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "field": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "code",
          "message"
        ],
        "type": "object"
      },
      "V2LineupsResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LineupPlayer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "events": {
            "items": {
              "$ref": "#/components/schemas/LineupEvent"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          },
          "positionChangeCount": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "data",
          "events",
          "positionChangeCount",
          "pagination"
        ],
        "type": "object"
      },
      "V2Links": {
        "additionalProperties": false,
        "properties": {
          "next": {
            "type": [
              "string",
              "null"
            ]
          },
          "previous": {
            "type": [
              "string",
              "null"
            ]
          },
          "self": {
            "type": "string"
          }
        },
        "required": [
          "self",
          "next",
          "previous"
        ],
        "type": "object"
      },
      "V2Manager": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "$ref": "#/components/schemas/V2CountryReference"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortName",
          "country"
        ],
        "type": "object"
      },
      "V2MatchupEdgesOKBody": {
        "additionalProperties": false,
        "properties": {
          "debug": {
            "additionalProperties": {},
            "type": "object"
          },
          "groups": {
            "items": {
              "$ref": "#/components/schemas/MatchupInsight"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "insights": {
            "items": {
              "$ref": "#/components/schemas/MatchupInsight"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "lookback": {
            "format": "int64",
            "type": "integer"
          },
          "opponent": {},
          "positions": {
            "items": {
              "$ref": "#/components/schemas/MatchupInsight"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "team": {}
        },
        "required": [
          "groups",
          "insights",
          "lookback",
          "opponent",
          "positions",
          "team"
        ],
        "type": "object"
      },
      "V2ModelsOKBody": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "format": "int64",
            "type": "integer"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/Models"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "count",
          "data"
        ],
        "type": "object"
      },
      "V2NullableResourceReference": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2NullableSideValues": {
        "additionalProperties": false,
        "properties": {
          "away": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "home",
          "away"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2OddsMovement": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "current": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "line": {
            "type": [
              "string",
              "null"
            ]
          },
          "market": {
            "type": "string"
          },
          "period": {
            "type": "string"
          },
          "player": {
            "type": [
              "string",
              "null"
            ]
          },
          "previous": {
            "type": [
              "string",
              "null"
            ]
          },
          "recordedAt": {
            "format": "date-time",
            "type": "string"
          },
          "selection": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "bookmaker",
          "market",
          "period",
          "line",
          "selection",
          "player",
          "previous",
          "current",
          "recordedAt"
        ],
        "type": "object"
      },
      "V2OddsSnapshot": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "markets": {},
          "status": {
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "bookmaker",
          "status",
          "markets",
          "updatedAt"
        ],
        "type": "object"
      },
      "V2OpponentRankingsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/OpponentRanking"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2OutlierBestOdds": {
        "additionalProperties": false,
        "properties": {
          "highest": {
            "$ref": "#/components/schemas/V2OutlierBookmaker"
          },
          "lowest": {
            "$ref": "#/components/schemas/V2OutlierBookmaker"
          }
        },
        "required": [
          "highest",
          "lowest"
        ],
        "type": "object"
      },
      "V2OutlierBookmaker": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "type": "string"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "identifier": {
            "type": "string"
          },
          "odd": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "id",
          "bookmaker",
          "odd",
          "identifier"
        ],
        "type": "object"
      },
      "V2OutlierRow": {
        "additionalProperties": false,
        "properties": {
          "avg_odd": {
            "format": "double",
            "type": "number"
          },
          "away_team_id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayteam": {
            "type": "string"
          },
          "best_odds": {
            "$ref": "#/components/schemas/V2OutlierBestOdds"
          },
          "bookmaker_count": {
            "format": "int64",
            "type": "integer"
          },
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/V2OutlierBookmaker"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "date": {
            "type": "string"
          },
          "home_team_id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hometeam": {
            "type": "string"
          },
          "league_name": {
            "type": "string"
          },
          "line": {
            "type": "string"
          },
          "market": {
            "type": "string"
          },
          "market_id": {
            "type": "string"
          },
          "market_original": {
            "type": "string"
          },
          "market_type": {
            "type": "string"
          },
          "max_odd": {
            "format": "double",
            "type": "number"
          },
          "odds_discrepancy": {
            "format": "double",
            "type": "number"
          },
          "player_id": {
            "format": "int64",
            "type": "integer"
          },
          "playername": {
            "type": "string"
          }
        },
        "required": [
          "market_id",
          "player_id",
          "playername",
          "home_team_id",
          "away_team_id",
          "hometeam",
          "awayteam",
          "date",
          "league_name",
          "market",
          "market_original",
          "market_type",
          "line",
          "max_odd",
          "avg_odd",
          "odds_discrepancy",
          "best_odds",
          "bookmakers",
          "bookmaker_count"
        ],
        "type": "object"
      },
      "V2OutliersResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/V2OutlierRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2Page": {
        "additionalProperties": false,
        "properties": {
          "hasNext": {
            "type": "boolean"
          },
          "hasPrevious": {
            "type": "boolean"
          },
          "limit": {
            "format": "int64",
            "type": "integer"
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "previousCursor": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "limit",
          "nextCursor",
          "previousCursor",
          "hasNext",
          "hasPrevious"
        ],
        "type": "object"
      },
      "V2PhaseCapabilities": {
        "additionalProperties": false,
        "properties": {
          "aiAnalysis": {
            "type": "boolean"
          },
          "heatmaps": {
            "type": "boolean"
          },
          "lineupProjections": {
            "type": "boolean"
          },
          "shotmaps": {
            "type": "boolean"
          }
        },
        "required": [
          "lineupProjections",
          "aiAnalysis",
          "heatmaps",
          "shotmaps"
        ],
        "type": "object"
      },
      "V2PhaseSeasonBettingTrendsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PhaseSeasonPlayerRankingsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PhaseSeasonStandingsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PhaseSeasonsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Seasons"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PhaseUpcomingFixturesOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/UpcomingMultiFixture"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2Player": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "$ref": "#/components/schemas/V2CountryReference"
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "heightCm": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "jerseyNumber": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "preferredFoot": {
            "type": [
              "string",
              "null"
            ]
          },
          "shortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortName",
          "position",
          "jerseyNumber",
          "heightCm",
          "preferredFoot",
          "gender",
          "country",
          "team"
        ],
        "type": "object"
      },
      "V2PlayerCardRanking": {
        "additionalProperties": false,
        "properties": {
          "appearances": {
            "format": "int64",
            "type": "integer"
          },
          "bookedPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "cardsPer90": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "cardsPerAppearance": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "foulsPerAppearance": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "minutesPerAppearance": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "nation": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "redCards": {
            "format": "int64",
            "type": "integer"
          },
          "tacklesPerAppearance": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "yellowCards": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "player",
          "team",
          "nation",
          "position",
          "appearances",
          "yellowCards",
          "redCards",
          "cardsPerAppearance",
          "cardsPer90",
          "bookedPercentage",
          "foulsPerAppearance",
          "tacklesPerAppearance",
          "minutesPerAppearance"
        ],
        "type": "object"
      },
      "V2PlayerCardStatisticsOKBody": {
        "additionalProperties": false,
        "properties": {
          "games": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "gamesAnalyzed": {
            "format": "int64",
            "type": "integer"
          },
          "playerCards": {
            "additionalProperties": {},
            "type": "object"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerPercentage": {},
          "teamCards": {
            "additionalProperties": {},
            "type": "object"
          },
          "teamId": {}
        },
        "required": [
          "games",
          "gamesAnalyzed",
          "playerCards",
          "playerId",
          "playerPercentage",
          "teamCards",
          "teamId"
        ],
        "type": "object"
      },
      "V2PlayerCompetitionSeason": {
        "additionalProperties": false,
        "properties": {
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "hasAggregateStatistics": {
            "type": "boolean"
          },
          "national": {
            "type": "boolean"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "competition",
          "season",
          "national",
          "hasAggregateStatistics"
        ],
        "type": "object"
      },
      "V2PlayerDirectoryOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PlayerExpectedCardsOKBody": {
        "additionalProperties": false,
        "properties": {
          "bestLine": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bookmaker": {
            "type": [
              "string",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "expectedMins": {
            "format": "int64",
            "type": "integer"
          },
          "expectedPlayerCards": {
            "format": "double",
            "type": "number"
          },
          "gamesAnalyzed": {
            "format": "int64",
            "type": "integer"
          },
          "over05": {},
          "over15": {},
          "playerAvgCards": {
            "format": "double",
            "type": "number"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerPercentage": {
            "format": "double",
            "type": "number"
          },
          "playerPercentageXmins": {
            "format": "double",
            "type": "number"
          },
          "teamAvgCards": {
            "format": "double",
            "type": "number"
          },
          "teamId": {
            "format": "int64",
            "type": "integer"
          },
          "teamLambda": {},
          "teamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "yellowCardOdds": {
            "items": {
              "$ref": "#/components/schemas/PlayerPrice"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "bestLine",
          "bestOverOdds",
          "bestUnderOdds",
          "bookmaker",
          "eventId",
          "expectedMins",
          "expectedPlayerCards",
          "gamesAnalyzed",
          "over05",
          "over15",
          "playerAvgCards",
          "playerId",
          "playerPercentage",
          "playerPercentageXmins",
          "teamAvgCards",
          "teamId",
          "teamLambda",
          "teamName",
          "yellowCardOdds"
        ],
        "type": "object"
      },
      "V2PlayerFavorite": {
        "additionalProperties": false,
        "properties": {
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2Player"
          }
        },
        "required": [
          "player",
          "notes"
        ],
        "type": "object"
      },
      "V2PlayerFixtureStatistics": {
        "additionalProperties": false,
        "properties": {
          "accurateCross": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateLongBalls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accuratePass": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "aerialWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChanceCreated": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "blockedScoringAttempt": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "challengeLost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "dispossessed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "duelLost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "duelWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "expectedAssists": {
            "type": [
              "string",
              "null"
            ]
          },
          "expectedGoals": {
            "type": [
              "string",
              "null"
            ]
          },
          "expectedGoalsAndAssists": {
            "type": [
              "string",
              "null"
            ]
          },
          "foulInvolvements": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fouls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalAssist": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "interceptionWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "keyPass": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "minutesPlayed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "npExpectedGoals": {
            "type": [
              "string",
              "null"
            ]
          },
          "npExpectedGoalsPer90": {
            "type": [
              "string",
              "null"
            ]
          },
          "onTargetScoringAttempt": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "possessionLostCtrl": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "rating": {
            "type": [
              "string",
              "null"
            ]
          },
          "redCard": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "saves": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "scoredOrAssisted": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotOffTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shots": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "substitutedIn": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "substitutedOut": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalClearance": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalCross": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalLongBalls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalOffside": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalPass": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalTackle": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "touches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "wasFouled": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "wonContest": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "yellowCard": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "minutesPlayed",
          "rating",
          "goals",
          "goalAssist",
          "expectedGoals",
          "expectedAssists",
          "npExpectedGoals",
          "npExpectedGoalsPer90",
          "onTargetScoringAttempt",
          "shotOffTarget",
          "blockedScoringAttempt",
          "bigChanceCreated",
          "keyPass",
          "totalPass",
          "accuratePass",
          "totalLongBalls",
          "accurateLongBalls",
          "totalCross",
          "accurateCross",
          "touches",
          "possessionLostCtrl",
          "dispossessed",
          "wonContest",
          "aerialWon",
          "duelWon",
          "duelLost",
          "challengeLost",
          "totalTackle",
          "totalClearance",
          "interceptionWon",
          "saves",
          "fouls",
          "wasFouled",
          "totalOffside",
          "yellowCard",
          "redCard",
          "substitutedIn",
          "substitutedOut",
          "shots",
          "scoredOrAssisted",
          "foulInvolvements",
          "expectedGoalsAndAssists"
        ],
        "type": "object"
      },
      "V2PlayerFormationHeatmap": {
        "additionalProperties": false,
        "properties": {
          "formation": {
            "type": "string"
          },
          "matches": {
            "format": "int64",
            "type": "integer"
          },
          "points": {
            "items": {
              "$ref": "#/components/schemas/V2HeatmapPoint"
            },
            "type": "array"
          }
        },
        "required": [
          "formation",
          "matches",
          "points"
        ],
        "type": "object"
      },
      "V2PlayerNextFixtureOddsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "meta": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      },
      "V2PlayerPercentile": {
        "additionalProperties": false,
        "properties": {
          "delta": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "key": {
            "type": "string"
          },
          "rank": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "key",
          "rank",
          "delta"
        ],
        "type": "object"
      },
      "V2PlayerPerformanceOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {},
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PlayerPropMarket": {
        "additionalProperties": false,
        "properties": {
          "line": {
            "format": "double",
            "type": "number"
          },
          "market": {
            "type": "string"
          },
          "over": {
            "$ref": "#/components/schemas/V2PlayerPropPrices"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "under": {
            "$ref": "#/components/schemas/V2PlayerPropPrices"
          }
        },
        "required": [
          "player",
          "market",
          "line",
          "over",
          "under"
        ],
        "type": "object"
      },
      "V2PlayerPropPrices": {
        "additionalProperties": false,
        "properties": {
          "best": {
            "$ref": "#/components/schemas/V2BookmakerPrice"
          },
          "prices": {
            "items": {
              "$ref": "#/components/schemas/V2BookmakerPrice"
            },
            "type": "array"
          }
        },
        "required": [
          "best",
          "prices"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2PlayerSeasonAppearances": {
        "additionalProperties": false,
        "properties": {
          "matches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "matchesStarted": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "minutesPlayed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "ratedMatches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "rating": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "teamOfTheWeek": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalRating": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "matches",
          "matchesStarted",
          "minutesPlayed",
          "rating",
          "totalRating",
          "ratedMatches",
          "teamOfTheWeek"
        ],
        "type": "object"
      },
      "V2PlayerSeasonAttack": {
        "additionalProperties": false,
        "properties": {
          "bigChancesMissed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "expectedGoals": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "freeKickGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "freeKicks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalConversionPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "goals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsAndAssists": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsFromInsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsFromOutsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "headedGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "hitWoodwork": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "leftFootGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesHitPost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesMissed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesOnTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesTaken": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltyConversion": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "penaltyGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "rightFootGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "scoringFrequency": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "setPieceConversion": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "shotsFromInsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsFromOutsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsFromSetPiece": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOffTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotsOnTarget": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalShots": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "goals",
          "goalsAndAssists",
          "expectedGoals",
          "totalShots",
          "shotsOnTarget",
          "shotsOffTarget",
          "shotsFromInsideTheBox",
          "shotsFromOutsideTheBox",
          "goalsFromInsideTheBox",
          "goalsFromOutsideTheBox",
          "headedGoals",
          "leftFootGoals",
          "rightFootGoals",
          "bigChancesMissed",
          "hitWoodwork",
          "goalConversionPercentage",
          "scoringFrequency",
          "penaltiesTaken",
          "penaltyGoals",
          "penaltiesWon",
          "penaltiesOnTarget",
          "penaltiesMissed",
          "penaltiesHitPost",
          "penaltyConversion",
          "shotsFromSetPiece",
          "setPieceConversion",
          "freeKicks",
          "freeKickGoals"
        ],
        "type": "object"
      },
      "V2PlayerSeasonDefending": {
        "additionalProperties": false,
        "properties": {
          "ballRecoveries": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "blockedShots": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "clearances": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "dribbledPast": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "errorsLeadingToGoal": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "errorsLeadingToShot": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "interceptions": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "ownGoals": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesConceded": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "possessionWonAttackingThird": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tackles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tacklesWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "tacklesWonPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "tackles",
          "tacklesWon",
          "tacklesWonPercentage",
          "interceptions",
          "clearances",
          "ballRecoveries",
          "blockedShots",
          "possessionWonAttackingThird",
          "dribbledPast",
          "errorsLeadingToGoal",
          "errorsLeadingToShot",
          "ownGoals",
          "penaltiesConceded"
        ],
        "type": "object"
      },
      "V2PlayerSeasonDiscipline": {
        "additionalProperties": false,
        "properties": {
          "directRedCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "fouls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "offsides": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "redCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "wasFouled": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "yellowCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "yellowRedCards": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "fouls",
          "wasFouled",
          "offsides",
          "yellowCards",
          "yellowRedCards",
          "directRedCards",
          "redCards"
        ],
        "type": "object"
      },
      "V2PlayerSeasonGoalkeeping": {
        "additionalProperties": false,
        "properties": {
          "cleanSheets": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "crossesNotClaimed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalKicks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsConceded": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsConcededInsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "goalsConcededOutsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "highClaims": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesFaced": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "penaltiesSaved": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "punches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "runsOut": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "savedShotsFromInsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "savedShotsFromOutsideTheBox": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "saves": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "savesCaught": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "savesParried": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "successfulRunsOut": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "saves",
          "savesCaught",
          "savesParried",
          "savedShotsFromInsideTheBox",
          "savedShotsFromOutsideTheBox",
          "goalsConceded",
          "goalsConcededInsideTheBox",
          "goalsConcededOutsideTheBox",
          "cleanSheets",
          "penaltiesFaced",
          "penaltiesSaved",
          "punches",
          "highClaims",
          "crossesNotClaimed",
          "runsOut",
          "successfulRunsOut",
          "goalKicks"
        ],
        "type": "object"
      },
      "V2PlayerSeasonHeatmap": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "points": {
            "items": {
              "$ref": "#/components/schemas/V2HeatmapPoint"
            },
            "type": "array"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "id",
          "player",
          "season",
          "points"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2PlayerSeasonPassing": {
        "additionalProperties": false,
        "properties": {
          "accurateChippedPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateCrosses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateCrossesPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "accurateFinalThirdPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateLongBalls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateLongBallsPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "accurateOppositionHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accurateOwnHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accuratePasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "accuratePassesPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "assists": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "bigChancesCreated": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "expectedAssists": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "inaccuratePasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "keyPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "passesToAssist": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "shotAssists": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalChippedPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalCrosses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalLongBalls": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalOppositionHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalOwnHalfPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalPasses": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "assists",
          "expectedAssists",
          "bigChancesCreated",
          "keyPasses",
          "passesToAssist",
          "shotAssists",
          "totalPasses",
          "accuratePasses",
          "inaccuratePasses",
          "accuratePassesPercentage",
          "totalOwnHalfPasses",
          "accurateOwnHalfPasses",
          "totalOppositionHalfPasses",
          "accurateOppositionHalfPasses",
          "accurateFinalThirdPasses",
          "totalLongBalls",
          "accurateLongBalls",
          "accurateLongBallsPercentage",
          "totalCrosses",
          "accurateCrosses",
          "accurateCrossesPercentage",
          "totalChippedPasses",
          "accurateChippedPasses"
        ],
        "type": "object"
      },
      "V2PlayerSeasonPercentiles": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "type": [
              "string",
              "null"
            ]
          },
          "minMinutes": {
            "format": "int64",
            "type": "integer"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "poolSize": {
            "format": "int64",
            "type": "integer"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "enum": [
              "playerNotInPool",
              "poolTooSmall",
              "noPosition"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "source": {
            "enum": [
              "aggregate",
              "fixtures",
              "fixturesRolling"
            ],
            "type": "string"
          },
          "statistics": {
            "items": {
              "$ref": "#/components/schemas/V2PlayerPercentile"
            },
            "type": "array"
          },
          "window": {
            "enum": [
              "season",
              "rolling365d"
            ],
            "type": "string"
          }
        },
        "required": [
          "player",
          "season",
          "window",
          "position",
          "bucket",
          "poolSize",
          "minMinutes",
          "source",
          "reason",
          "statistics"
        ],
        "type": "object"
      },
      "V2PlayerSeasonPosition": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "starts": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "code",
          "starts"
        ],
        "type": "object"
      },
      "V2PlayerSeasonPositions": {
        "additionalProperties": false,
        "properties": {
          "mostPlayed": {
            "type": [
              "string",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "positions": {
            "items": {
              "$ref": "#/components/schemas/V2PlayerSeasonPosition"
            },
            "type": "array"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "totalStarts": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "player",
          "season",
          "positions",
          "mostPlayed",
          "totalStarts"
        ],
        "type": "object"
      },
      "V2PlayerSeasonPossession": {
        "additionalProperties": false,
        "properties": {
          "aerialDuelsLost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "aerialDuelsWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "aerialDuelsWonPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "dispossessed": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "duelsLost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "groundDuelsWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "groundDuelsWonPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "possessionLost": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "successfulDribbles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "successfulDribblesPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "totalDribbles": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalDuelsWon": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "totalDuelsWonPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "touches": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "touches",
          "totalDribbles",
          "successfulDribbles",
          "successfulDribblesPercentage",
          "dispossessed",
          "possessionLost",
          "totalDuelsWon",
          "totalDuelsWonPercentage",
          "groundDuelsWon",
          "groundDuelsWonPercentage",
          "aerialDuelsWon",
          "aerialDuelsWonPercentage",
          "duelsLost",
          "aerialDuelsLost"
        ],
        "type": "object"
      },
      "V2PlayerSeasonRanking": {
        "additionalProperties": false,
        "properties": {
          "appearances": {
            "format": "int64",
            "type": "integer"
          },
          "assists": {
            "format": "int64",
            "type": "integer"
          },
          "goals": {
            "format": "int64",
            "type": "integer"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "rank": {
            "format": "int64",
            "type": "integer"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "rank",
          "player",
          "team",
          "position",
          "appearances",
          "goals",
          "assists"
        ],
        "type": "object"
      },
      "V2PlayerSeasonStatistics": {
        "additionalProperties": false,
        "properties": {
          "appearances": {
            "$ref": "#/components/schemas/V2PlayerSeasonAppearances"
          },
          "attack": {
            "$ref": "#/components/schemas/V2PlayerSeasonAttack"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "defending": {
            "$ref": "#/components/schemas/V2PlayerSeasonDefending"
          },
          "discipline": {
            "$ref": "#/components/schemas/V2PlayerSeasonDiscipline"
          },
          "goalkeeping": {
            "$ref": "#/components/schemas/V2PlayerSeasonGoalkeeping"
          },
          "passing": {
            "$ref": "#/components/schemas/V2PlayerSeasonPassing"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "possession": {
            "$ref": "#/components/schemas/V2PlayerSeasonPossession"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "source": {
            "enum": [
              "aggregate",
              "fixtures"
            ],
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "player",
          "season",
          "competition",
          "team",
          "source",
          "appearances",
          "attack",
          "passing",
          "possession",
          "defending",
          "discipline",
          "goalkeeping"
        ],
        "type": "object"
      },
      "V2PlayerTrendsResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TrendResult"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2PlayerUnavailability": {
        "additionalProperties": false,
        "properties": {
          "competition": {
            "$ref": "#/components/schemas/V2NullableResourceReference"
          },
          "endsAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "expectedReturn": {
            "$ref": "#/components/schemas/V2ExpectedReturnDate"
          },
          "id": {
            "type": "string"
          },
          "kind": {
            "enum": [
              "injury",
              "suspension"
            ],
            "type": "string"
          },
          "matchesRemaining": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "sourceLastUpdatedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "startedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "out",
              "dayToDay"
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "kind",
          "player",
          "position",
          "reason",
          "status",
          "expectedReturn",
          "matchesRemaining",
          "competition",
          "startedAt",
          "endsAt",
          "sourceLastUpdatedAt"
        ],
        "type": "object"
      },
      "V2Preview": {
        "additionalProperties": false,
        "properties": {
          "author": {
            "$ref": "#/components/schemas/V2PreviewAuthor"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "publishedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "tips": {
            "items": {
              "$ref": "#/components/schemas/V2PreviewTip"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "title",
          "description",
          "author",
          "publishedAt",
          "tags",
          "tips"
        ],
        "type": "object"
      },
      "V2PreviewAuthor": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "role"
        ],
        "type": "object"
      },
      "V2PreviewTip": {
        "additionalProperties": false,
        "properties": {
          "bettingTips": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "displayOrder": {
            "format": "int64",
            "type": "integer"
          },
          "fixture": {
            "$ref": "#/components/schemas/V2PreviewTipFixture"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "fixture",
          "content",
          "bettingTips",
          "displayOrder"
        ],
        "type": "object"
      },
      "V2PreviewTipCompetition": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "type": "object"
      },
      "V2PreviewTipFixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "competition": {
            "$ref": "#/components/schemas/V2PreviewTipCompetition"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "kickoffAt",
          "competition",
          "homeTeam",
          "awayTeam"
        ],
        "type": "object"
      },
      "V2Problem": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "errors": {
            "items": {
              "$ref": "#/components/schemas/V2InvalidField"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "instance": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          },
          "status": {
            "format": "int64",
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "detail",
          "instance",
          "code",
          "requestId"
        ],
        "type": "object"
      },
      "V2PropCandidate": {
        "additionalProperties": false,
        "properties": {
          "activity": {
            "$ref": "#/components/schemas/V2PropCandidateActivity"
          },
          "fixture": {
            "$ref": "#/components/schemas/V2PropCandidateFixture"
          },
          "form": {
            "$ref": "#/components/schemas/V2PropCandidateForm"
          },
          "market": {
            "$ref": "#/components/schemas/V2PropCandidateMarket"
          },
          "odds": {
            "items": {
              "$ref": "#/components/schemas/V2PropCandidateOddsLine"
            },
            "type": "array"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "recentAppearances": {
            "items": {
              "$ref": "#/components/schemas/V2PropCandidateAppearance"
            },
            "type": "array"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "trend": {
            "$ref": "#/components/schemas/V2PropCandidateTrend"
          }
        },
        "required": [
          "player",
          "team",
          "position",
          "fixture",
          "market",
          "form",
          "trend",
          "activity",
          "recentAppearances",
          "odds"
        ],
        "type": "object"
      },
      "V2PropCandidateActivity": {
        "additionalProperties": false,
        "properties": {
          "gamesSinceLastAppearance": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "inPredictedLineup": {
            "type": "boolean"
          },
          "startedLastGame": {
            "type": "boolean"
          }
        },
        "required": [
          "startedLastGame",
          "gamesSinceLastAppearance",
          "inPredictedLineup"
        ],
        "type": "object"
      },
      "V2PropCandidateAppearance": {
        "additionalProperties": false,
        "properties": {
          "fixture": {
            "$ref": "#/components/schemas/V2PropCandidateAppearanceFixture"
          },
          "minutesPlayed": {
            "format": "int64",
            "type": "integer"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "replacedPlayer": {
            "$ref": "#/components/schemas/V2PropCandidateReplacement"
          },
          "value": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "fixture",
          "value",
          "minutesPlayed",
          "position",
          "replacedPlayer"
        ],
        "type": "object"
      },
      "V2PropCandidateAppearanceFixture": {
        "additionalProperties": false,
        "properties": {
          "awayScore": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "homeScore": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "kickoffAt",
          "homeTeam",
          "awayTeam",
          "homeScore",
          "awayScore"
        ],
        "type": "object"
      },
      "V2PropCandidateFixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "isHome": {
            "type": "boolean"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "opponent": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "phase": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "kickoffAt",
          "competition",
          "phase",
          "homeTeam",
          "awayTeam",
          "isHome",
          "opponent"
        ],
        "type": "object"
      },
      "V2PropCandidateForm": {
        "additionalProperties": false,
        "properties": {
          "average": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "games": {
            "format": "int64",
            "type": "integer"
          },
          "hitRate": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "hits": {
            "format": "int64",
            "type": "integer"
          },
          "perNinety": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "games",
          "total",
          "average",
          "perNinety",
          "hits",
          "hitRate"
        ],
        "type": "object"
      },
      "V2PropCandidateMarket": {
        "additionalProperties": false,
        "properties": {
          "key": {
            "type": "string"
          },
          "threshold": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "key",
          "threshold"
        ],
        "type": "object"
      },
      "V2PropCandidateOddsLine": {
        "additionalProperties": false,
        "properties": {
          "line": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "quotes": {
            "items": {
              "$ref": "#/components/schemas/V2PropCandidateQuote"
            },
            "type": "array"
          }
        },
        "required": [
          "line",
          "quotes"
        ],
        "type": "object"
      },
      "V2PropCandidateQuote": {
        "additionalProperties": false,
        "properties": {
          "bookmaker": {
            "type": "string"
          },
          "bookmakerId": {
            "type": [
              "string",
              "null"
            ]
          },
          "over": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "under": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "bookmaker",
          "bookmakerId",
          "over",
          "under"
        ],
        "type": "object"
      },
      "V2PropCandidateReplacement": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "value"
        ],
        "type": "object"
      },
      "V2PropCandidateTrend": {
        "additionalProperties": false,
        "properties": {
          "changePercent": {
            "format": "double",
            "type": "number"
          },
          "direction": {
            "type": "string"
          },
          "gamesUsed": {
            "format": "int64",
            "type": "integer"
          },
          "olderAverage": {
            "format": "double",
            "type": "number"
          },
          "olderGames": {
            "format": "int64",
            "type": "integer"
          },
          "recentAverage": {
            "format": "double",
            "type": "number"
          },
          "recentGames": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "recentAverage",
          "olderAverage",
          "changePercent",
          "direction",
          "recentGames",
          "olderGames",
          "gamesUsed"
        ],
        "type": "object"
      },
      "V2PropHitRates": {
        "additionalProperties": false,
        "properties": {
          "last10": {
            "format": "int64",
            "type": "integer"
          },
          "last15": {
            "format": "int64",
            "type": "integer"
          },
          "last5": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "last5",
          "last10",
          "last15"
        ],
        "type": "object"
      },
      "V2PropOpponent": {
        "additionalProperties": false,
        "properties": {
          "rank": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "totalRanks": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "team",
          "rank",
          "totalRanks"
        ],
        "type": "object"
      },
      "V2PropPlayerDataInputBody": {
        "additionalProperties": false,
        "properties": {
          "players": {
            "items": {
              "format": "int64",
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "selectedLeagueOnly": {
            "type": "boolean"
          },
          "statTypes": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "players",
          "statTypes",
          "selectedLeagueOnly",
          "tournamentId"
        ],
        "type": "object"
      },
      "V2PropPlayerDataOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2PropPlayerStatisticsBatchInputBody": {
        "additionalProperties": false,
        "properties": {
          "gamesCount": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "requests": {
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "requests",
          "gamesCount"
        ],
        "type": "object"
      },
      "V2PropPlayerStatisticsBatchOKBody": {
        "additionalProperties": false,
        "properties": {
          "activityInfo": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ActivityInfo"
            },
            "type": "object"
          },
          "cached": {
            "format": "int64",
            "type": "integer"
          },
          "fetched": {
            "format": "int64",
            "type": "integer"
          },
          "stats": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PlayerStatResult"
            },
            "type": "object"
          }
        },
        "required": [
          "activityInfo",
          "cached",
          "fetched",
          "stats"
        ],
        "type": "object"
      },
      "V2PropPrice": {
        "additionalProperties": false,
        "properties": {
          "bookmakerId": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "price": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "bookmakerId",
          "name",
          "price"
        ],
        "type": "object"
      },
      "V2PropSelection": {
        "additionalProperties": false,
        "properties": {
          "fixture": {
            "$ref": "#/components/schemas/V2WatchlistFixture"
          },
          "hitRates": {
            "$ref": "#/components/schemas/V2PropHitRates"
          },
          "id": {
            "type": "string"
          },
          "leagueAverage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "marketName": {
            "type": "string"
          },
          "opponent": {
            "$ref": "#/components/schemas/V2PropOpponent"
          },
          "opponentAverage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2WatchlistPlayer"
          },
          "prices": {
            "items": {
              "$ref": "#/components/schemas/V2PropPrice"
            },
            "type": "array"
          },
          "recentlyPlayed": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "side": {
            "type": "string"
          },
          "statType": {
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "updatedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "player",
          "statType",
          "marketName",
          "line",
          "side",
          "team",
          "opponent",
          "fixture",
          "hitRates",
          "prices",
          "leagueAverage",
          "opponentAverage",
          "recentlyPlayed",
          "updatedAt"
        ],
        "type": "object"
      },
      "V2PropWatchlistEntry": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "prop": {
            "$ref": "#/components/schemas/V2PropSelection"
          },
          "savedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "savedAt",
          "prop"
        ],
        "type": "object"
      },
      "V2RecentMatchesOKBody": {
        "additionalProperties": false,
        "properties": {
          "matches": {
            "items": {
              "$ref": "#/components/schemas/RecentMatch"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "matches"
        ],
        "type": "object"
      },
      "V2Referee": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "$ref": "#/components/schemas/V2CountryReference"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "country"
        ],
        "type": "object"
      },
      "V2RefereeCardRanking": {
        "additionalProperties": false,
        "properties": {
          "bothTeamsOver15CardsPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "cardsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "firstHalfCardsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "foulsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "games": {
            "format": "int64",
            "type": "integer"
          },
          "nextFixture": {
            "$ref": "#/components/schemas/V2RefereeNextFixture"
          },
          "over35CardsPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "over45CardsPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "over55CardsPercentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "penalties": {
            "format": "int64",
            "type": "integer"
          },
          "penaltiesPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "redCards": {
            "format": "int64",
            "type": "integer"
          },
          "redsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "referee": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "secondHalfCardsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "yellowCards": {
            "format": "int64",
            "type": "integer"
          },
          "yellowsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "referee",
          "countrySlug",
          "games",
          "yellowCards",
          "redCards",
          "penalties",
          "cardsPerGame",
          "yellowsPerGame",
          "redsPerGame",
          "penaltiesPerGame",
          "foulsPerGame",
          "over35CardsPercentage",
          "over45CardsPercentage",
          "over55CardsPercentage",
          "bothTeamsOver15CardsPercentage",
          "firstHalfCardsPerGame",
          "secondHalfCardsPerGame",
          "nextFixture"
        ],
        "type": "object"
      },
      "V2RefereeCompetitionStatistic": {
        "additionalProperties": false,
        "properties": {
          "appearances": {
            "format": "int64",
            "type": "integer"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "penalties": {
            "format": "int64",
            "type": "integer"
          },
          "redCards": {
            "format": "int64",
            "type": "integer"
          },
          "yellowCards": {
            "format": "int64",
            "type": "integer"
          },
          "yellowRedCards": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "competition",
          "appearances",
          "yellowCards",
          "redCards",
          "yellowRedCards",
          "penalties"
        ],
        "type": "object"
      },
      "V2RefereeIncidentsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2RefereeNextFixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2FixtureTeam"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2FixtureTeam"
          },
          "id": {
            "type": "string"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "kickoffAt",
          "competition",
          "homeTeam",
          "awayTeam"
        ],
        "type": "object"
      },
      "V2RefereeRow": {
        "additionalProperties": false,
        "properties": {
          "avgCardsPerGame": {
            "format": "double",
            "type": "number"
          },
          "avgFirstHalfCards": {
            "format": "double",
            "type": "number"
          },
          "avgFoulsPerGame": {
            "format": "double",
            "type": "number"
          },
          "avgRedCardsPerGame": {
            "format": "double",
            "type": "number"
          },
          "avgSecondHalfCards": {
            "format": "double",
            "type": "number"
          },
          "avgYellowCardsPerGame": {
            "format": "double",
            "type": "number"
          },
          "bothTeamsCardPct": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bothTeamsO15CardPct": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "games": {
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "nextGameAwayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "nextGameAwayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameAwayTeamShortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameAwayTeamSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameHomeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "nextGameHomeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameHomeTeamShortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameHomeTeamSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "nextGameInternalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "nextGameSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "nextGameTimestamp": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "o35CardsPct": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "o45CardsPct": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "o55CardsPct": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "redCards": {
            "format": "int64",
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "totalPenalties": {
            "format": "int64",
            "type": "integer"
          },
          "yellowCards": {
            "format": "int64",
            "type": "integer"
          },
          "yellowRedCards": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "games",
          "yellowCards",
          "redCards",
          "yellowRedCards",
          "totalPenalties",
          "avgCardsPerGame",
          "avgYellowCardsPerGame",
          "avgRedCardsPerGame",
          "avgFoulsPerGame",
          "avgFirstHalfCards",
          "avgSecondHalfCards",
          "o35CardsPct",
          "o45CardsPct",
          "o55CardsPct",
          "bothTeamsCardPct",
          "bothTeamsO15CardPct",
          "nextGameId",
          "nextGameInternalId",
          "nextGameSlug",
          "nextGameTimestamp",
          "nextGameHomeTeamId",
          "nextGameHomeTeamName",
          "nextGameHomeTeamShortName",
          "nextGameHomeTeamSlug",
          "nextGameAwayTeamId",
          "nextGameAwayTeamName",
          "nextGameAwayTeamShortName",
          "nextGameAwayTeamSlug"
        ],
        "type": "object"
      },
      "V2RefereesResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/V2RefereeRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2Region": {
        "additionalProperties": false,
        "properties": {
          "alpha2": {
            "type": [
              "string",
              "null"
            ]
          },
          "flag": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "flag",
          "alpha2"
        ],
        "type": "object"
      },
      "V2RemoveValueBetLineupAlertInputBody": {
        "additionalProperties": false,
        "properties": {
          "matchId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "playerId": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "playerId",
          "matchId"
        ],
        "type": "object"
      },
      "V2RemoveValueBetLineupAlertOKBody": {
        "additionalProperties": false,
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      },
      "V2ResourceReference": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "V2SavedScreenerFiltersOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/SavedFilterView"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2ScreenerPlayersOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2SearchOKBody": {
        "additionalProperties": false,
        "properties": {
          "fixtures": {
            "items": {
              "$ref": "#/components/schemas/SearchFixture"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "players": {
            "items": {
              "$ref": "#/components/schemas/SearchPlayer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "teams": {
            "items": {
              "$ref": "#/components/schemas/SearchTeam"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tournaments": {
            "items": {
              "$ref": "#/components/schemas/SearchTournament"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "fixtures",
          "players",
          "teams",
          "tournaments"
        ],
        "type": "object"
      },
      "V2Season": {
        "additionalProperties": false,
        "properties": {
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "year": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "year",
          "competition"
        ],
        "type": "object"
      },
      "V2SeasonStandings": {
        "additionalProperties": false,
        "properties": {
          "groups": {
            "items": {
              "$ref": "#/components/schemas/V2StandingGroup"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "groups"
        ],
        "type": "object"
      },
      "V2ShotAdditionalInfo": {
        "additionalProperties": false,
        "properties": {
          "draw": {
            "$ref": "#/components/schemas/V2ShotDraw"
          },
          "expectedGoalsOnTarget": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "goalMouthLocation": {
            "type": [
              "string",
              "null"
            ]
          },
          "goalZone": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "goalMouthLocation",
          "goalZone",
          "expectedGoalsOnTarget",
          "draw"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2ShotCoordinate": {
        "additionalProperties": false,
        "properties": {
          "x": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "y": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "x",
          "y"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2ShotDraw": {
        "additionalProperties": false,
        "properties": {
          "block": {
            "$ref": "#/components/schemas/V2ShotCoordinate"
          },
          "end": {
            "$ref": "#/components/schemas/V2ShotCoordinate"
          },
          "start": {
            "$ref": "#/components/schemas/V2ShotCoordinate"
          }
        },
        "required": [
          "start",
          "end",
          "block"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2ShotExpectedGoalsSummary": {
        "additionalProperties": false,
        "properties": {
          "calculated": {
            "$ref": "#/components/schemas/V2SideValues"
          },
          "stored": {
            "$ref": "#/components/schemas/V2NullableSideValues"
          }
        },
        "required": [
          "calculated",
          "stored"
        ],
        "type": "object"
      },
      "V2SideValues": {
        "additionalProperties": false,
        "properties": {
          "away": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "home",
          "away"
        ],
        "type": "object"
      },
      "V2StandingEntry": {
        "additionalProperties": false,
        "properties": {
          "draws": {
            "format": "int64",
            "type": "integer"
          },
          "goalDifference": {
            "format": "int64",
            "type": "integer"
          },
          "goalsAgainst": {
            "format": "int64",
            "type": "integer"
          },
          "goalsFor": {
            "format": "int64",
            "type": "integer"
          },
          "losses": {
            "format": "int64",
            "type": "integer"
          },
          "played": {
            "format": "int64",
            "type": "integer"
          },
          "points": {
            "format": "int64",
            "type": "integer"
          },
          "position": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2FixtureTeam"
          },
          "wins": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "position",
          "team",
          "played",
          "wins",
          "draws",
          "losses",
          "goalsFor",
          "goalsAgainst",
          "goalDifference",
          "points"
        ],
        "type": "object"
      },
      "V2StandingGroup": {
        "additionalProperties": false,
        "properties": {
          "phase": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "rows": {
            "items": {
              "$ref": "#/components/schemas/V2StandingEntry"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "phase",
          "rows"
        ],
        "type": "object"
      },
      "V2SuggestionsInputBody": {
        "additionalProperties": false,
        "properties": {
          "messages": {
            "items": {
              "$ref": "#/components/schemas/UiMessage"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pageContext": {}
        },
        "required": [
          "messages",
          "pageContext"
        ],
        "type": "object"
      },
      "V2SuggestionsOKBody": {
        "additionalProperties": false,
        "properties": {
          "suggestions": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "suggestions"
        ],
        "type": "object"
      },
      "V2Team": {
        "additionalProperties": false,
        "properties": {
          "colors": {
            "$ref": "#/components/schemas/V2TeamColors"
          },
          "country": {
            "$ref": "#/components/schemas/V2CountryReference"
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "national": {
            "type": "boolean"
          },
          "shortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "shortName",
          "gender",
          "national",
          "country",
          "colors"
        ],
        "type": "object"
      },
      "V2TeamBettingHistory": {
        "additionalProperties": false,
        "properties": {
          "brackets": {
            "items": {
              "$ref": "#/components/schemas/V2BettingOddsBracket"
            },
            "type": "array"
          },
          "filters": {
            "$ref": "#/components/schemas/V2BettingHistoryFilters"
          },
          "matches": {
            "items": {
              "$ref": "#/components/schemas/V2BettingHistoryMatch"
            },
            "type": "array"
          },
          "summary": {
            "$ref": "#/components/schemas/V2BettingHistorySummary"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "team",
          "filters",
          "matches",
          "brackets",
          "summary"
        ],
        "type": "object"
      },
      "V2TeamCardMatchTotals": {
        "additionalProperties": false,
        "properties": {
          "cardsPerGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "over35Percentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "over45Percentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "cardsPerGame",
          "over35Percentage",
          "over45Percentage"
        ],
        "type": "object"
      },
      "V2TeamCardRanking": {
        "additionalProperties": false,
        "properties": {
          "cardsAgainst": {
            "$ref": "#/components/schemas/V2TeamCardSide"
          },
          "cardsFor": {
            "$ref": "#/components/schemas/V2TeamCardSide"
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "games": {
            "format": "int64",
            "type": "integer"
          },
          "match": {
            "$ref": "#/components/schemas/V2TeamCardMatchTotals"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "team",
          "countrySlug",
          "games",
          "cardsFor",
          "cardsAgainst",
          "match"
        ],
        "type": "object"
      },
      "V2TeamCardSide": {
        "additionalProperties": false,
        "properties": {
          "over15Percentage": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "perGame": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "perGame",
          "over15Percentage"
        ],
        "type": "object"
      },
      "V2TeamColors": {
        "additionalProperties": false,
        "properties": {
          "primary": {
            "type": [
              "string",
              "null"
            ]
          },
          "secondary": {
            "type": [
              "string",
              "null"
            ]
          },
          "text": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "primary",
          "secondary",
          "text"
        ],
        "type": "object"
      },
      "V2TeamComparisonOKBody": {
        "additionalProperties": false,
        "properties": {
          "additionalStats": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "awayTeam": {
            "additionalProperties": {},
            "type": "object"
          },
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "homeTeam": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "additionalStats",
          "awayTeam",
          "data",
          "homeTeam"
        ],
        "type": "object"
      },
      "V2TeamCompetitionSeason": {
        "additionalProperties": false,
        "properties": {
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "finished": {
            "format": "int64",
            "type": "integer"
          },
          "fixtures": {
            "format": "int64",
            "type": "integer"
          },
          "hasPlayerStatistics": {
            "type": "boolean"
          },
          "season": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "competition",
          "season",
          "fixtures",
          "finished",
          "hasPlayerStatistics"
        ],
        "type": "object"
      },
      "V2TeamFavorite": {
        "additionalProperties": false,
        "properties": {
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2Team"
          }
        },
        "required": [
          "team",
          "notes"
        ],
        "type": "object"
      },
      "V2TeamFixtureStatisticsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamFixturesWithOddsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamFormation": {
        "additionalProperties": false,
        "properties": {
          "formation": {
            "type": "string"
          },
          "fromFixture": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "source": {
            "enum": [
              "confirmed",
              "projected",
              "historical"
            ],
            "type": "string"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          }
        },
        "required": [
          "team",
          "formation",
          "source",
          "fromFixture"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "V2TeamGLMResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/GlmMatch"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TeamLastGamesOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TeamLastLineupOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "timestamp": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamPerformanceCollectionOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamPerformanceOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamPlayerFixtureStatistic": {
        "additionalProperties": false,
        "properties": {
          "fixture": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "home": {
            "type": "boolean"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "opponent": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "player": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "statistics": {
            "$ref": "#/components/schemas/V2PlayerFixtureStatistics"
          }
        },
        "required": [
          "player",
          "fixture",
          "kickoffAt",
          "opponent",
          "home",
          "position",
          "statistics"
        ],
        "type": "object"
      },
      "V2TeamPlayerPerformanceOKBody": {
        "additionalProperties": false,
        "properties": {
          "currentFixturePlayerStats": {
            "items": {
              "format": "int64",
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "events": {
            "items": {},
            "type": [
              "array",
              "null"
            ]
          },
          "unavailability": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "currentFixturePlayerStats",
          "data",
          "events",
          "unavailability"
        ],
        "type": "object"
      },
      "V2TeamRosterOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamScreenerByFixtureOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TeamByEventRow"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamScreenerGetOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TeamScreenerRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TeamScreenerPostOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TeamScreenerRow"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TeamStatisticsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TeamStatistics"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2TeamTrendsBodyOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TeamTrendResult"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TeamTrendsResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/TeamTrendResult"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TeamUpcomingFixturesOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2TipsterPreviewOKBody": {
        "additionalProperties": false,
        "properties": {
          "preview": {
            "contentEncoding": "base64",
            "type": "string"
          }
        },
        "required": [
          "preview"
        ],
        "type": "object"
      },
      "V2TipsterPreviewsOKBody": {
        "additionalProperties": false,
        "properties": {
          "previews": {
            "items": {
              "contentEncoding": "base64",
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "previews"
        ],
        "type": "object"
      },
      "V2TrackedBet": {
        "additionalProperties": false,
        "properties": {
          "bankrollId": {
            "type": [
              "string",
              "null"
            ]
          },
          "betType": {
            "type": "string"
          },
          "bookmakerId": {
            "type": [
              "string",
              "null"
            ]
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "fixture": {
            "$ref": "#/components/schemas/V2WatchlistFixture"
          },
          "id": {
            "type": "string"
          },
          "market": {
            "$ref": "#/components/schemas/V2TrackedBetMarket"
          },
          "modelName": {
            "type": [
              "string",
              "null"
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "player": {
            "$ref": "#/components/schemas/V2WatchlistPlayer"
          },
          "result": {
            "$ref": "#/components/schemas/V2TrackedBetResult"
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "stake": {
            "$ref": "#/components/schemas/V2TrackedBetStake"
          },
          "status": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "teamSide": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "betType",
          "status",
          "market",
          "stake",
          "player",
          "team",
          "teamSide",
          "fixture",
          "competition",
          "country",
          "bookmakerId",
          "bankrollId",
          "source",
          "modelName",
          "tags",
          "notes",
          "result",
          "createdAt"
        ],
        "type": "object"
      },
      "V2TrackedBetDenomination": {
        "additionalProperties": false,
        "properties": {
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "hitRatePercent": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "lost": {
            "format": "int64",
            "type": "integer"
          },
          "pending": {
            "format": "int64",
            "type": "integer"
          },
          "profitLoss": {
            "format": "double",
            "type": "number"
          },
          "returned": {
            "format": "double",
            "type": "number"
          },
          "roiPercent": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "staked": {
            "format": "double",
            "type": "number"
          },
          "total": {
            "format": "int64",
            "type": "integer"
          },
          "void": {
            "format": "int64",
            "type": "integer"
          },
          "won": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "currency",
          "total",
          "pending",
          "won",
          "lost",
          "void",
          "staked",
          "returned",
          "profitLoss",
          "roiPercent",
          "hitRatePercent"
        ],
        "type": "object"
      },
      "V2TrackedBetMarket": {
        "additionalProperties": false,
        "properties": {
          "direction": {
            "type": "string"
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "oddsTaken": {
            "format": "double",
            "type": "number"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "line",
          "direction",
          "oddsTaken"
        ],
        "type": "object"
      },
      "V2TrackedBetResult": {
        "additionalProperties": false,
        "properties": {
          "actualResult": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "profitLoss": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "settledAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "actualResult",
          "profitLoss",
          "settledAt"
        ],
        "type": "object"
      },
      "V2TrackedBetStake": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "format": "double",
            "type": "number"
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "unitValue": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "amount",
          "currency",
          "unitValue"
        ],
        "type": "object"
      },
      "V2TrackedBetSummary": {
        "additionalProperties": false,
        "properties": {
          "denominations": {
            "items": {
              "$ref": "#/components/schemas/V2TrackedBetDenomination"
            },
            "type": "array"
          },
          "total": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "denominations"
        ],
        "type": "object"
      },
      "V2UpdateFixtureOKBody": {
        "additionalProperties": false,
        "properties": {
          "event": {
            "$ref": "#/components/schemas/Events"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "event",
          "message"
        ],
        "type": "object"
      },
      "V2UpdateManagerInputBody": {
        "additionalProperties": false,
        "properties": {
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shortName": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "slug",
          "shortName",
          "countrySlug"
        ],
        "type": "object"
      },
      "V2UpdateSavedScreenerFilterInputBody": {
        "additionalProperties": false,
        "properties": {
          "filters": {},
          "id": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "filters"
        ],
        "type": "object"
      },
      "V2UpdateSavedScreenerFilterOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SavedFilterView"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "V2UpdateTipsterPreviewInputBody": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "tips": {
            "items": {
              "$ref": "#/components/schemas/TipsterTip"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "title",
          "description",
          "tags",
          "status",
          "tips"
        ],
        "type": "object"
      },
      "V2UpdateTipsterPreviewOKBody": {
        "additionalProperties": false,
        "properties": {
          "preview": {}
        },
        "required": [
          "preview"
        ],
        "type": "object"
      },
      "V2UserFavoritePlayerCheckOKBody": {
        "additionalProperties": false,
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "required": [
          "isFavorite"
        ],
        "type": "object"
      },
      "V2UserFavoriteTeamCheckOKBody": {
        "additionalProperties": false,
        "properties": {
          "isFavorite": {
            "type": "boolean"
          }
        },
        "required": [
          "isFavorite"
        ],
        "type": "object"
      },
      "V2ValueBetAverages": {
        "additionalProperties": false,
        "properties": {
          "differencePercent": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "lambda": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "league": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "player": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "teamAgainst": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "league",
          "teamAgainst",
          "player",
          "lambda",
          "differencePercent"
        ],
        "type": "object"
      },
      "V2ValueBetLineupAlertsOKBody": {
        "additionalProperties": false,
        "properties": {
          "alerts": {
            "items": {
              "$ref": "#/components/schemas/Item6"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "alerts"
        ],
        "type": "object"
      },
      "V2ValueBetPropsOKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": {},
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "meta": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "meta"
        ],
        "type": "object"
      },
      "V2ValueBetQuote": {
        "additionalProperties": false,
        "properties": {
          "alertsSupported": {
            "type": "boolean"
          },
          "averages": {
            "$ref": "#/components/schemas/V2ValueBetAverages"
          },
          "competition": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "modelName": {
            "type": "string"
          },
          "multiClub": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "over": {
            "$ref": "#/components/schemas/V2ValueBetSide"
          },
          "player": {
            "$ref": "#/components/schemas/V2WatchlistPlayer"
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "team": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "under": {
            "$ref": "#/components/schemas/V2ValueBetSide"
          },
          "updatedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "modelName",
          "source",
          "player",
          "team",
          "competition",
          "over",
          "under",
          "averages",
          "multiClub",
          "alertsSupported",
          "updatedAt"
        ],
        "type": "object"
      },
      "V2ValueBetReport": {
        "additionalProperties": false,
        "properties": {
          "createdAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "details": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "reason",
          "details",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "V2ValueBetReportReason": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "format": "int64",
            "type": "integer"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "reason",
          "count"
        ],
        "type": "object"
      },
      "V2ValueBetReportSummary": {
        "additionalProperties": false,
        "properties": {
          "mine": {
            "$ref": "#/components/schemas/V2ValueBetReport"
          },
          "reasons": {
            "items": {
              "$ref": "#/components/schemas/V2ValueBetReportReason"
            },
            "type": "array"
          },
          "total": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "reasons",
          "mine"
        ],
        "type": "object"
      },
      "V2ValueBetSelection": {
        "additionalProperties": false,
        "properties": {
          "fixtureId": {
            "type": "string"
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "marketType": {
            "type": "string"
          },
          "playerId": {
            "type": "string"
          }
        },
        "required": [
          "playerId",
          "marketType",
          "line",
          "fixtureId"
        ],
        "type": "object"
      },
      "V2ValueBetSide": {
        "additionalProperties": false,
        "properties": {
          "edgePercent": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "fairOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "odds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "probability": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "fairOdds",
          "odds",
          "edgePercent",
          "probability"
        ],
        "type": "object"
      },
      "V2ValueBetWatchlistEntry": {
        "additionalProperties": false,
        "properties": {
          "fixture": {
            "$ref": "#/components/schemas/V2WatchlistFixture"
          },
          "id": {
            "type": "string"
          },
          "quote": {
            "$ref": "#/components/schemas/V2ValueBetQuote"
          },
          "savedAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "selection": {
            "$ref": "#/components/schemas/V2ValueBetSelection"
          }
        },
        "required": [
          "id",
          "savedAt",
          "selection",
          "fixture",
          "quote"
        ],
        "type": "object"
      },
      "V2ValueBetsGeneration1OKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ValueBetsGroup"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2ValueBetsGeneration4OKBody": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ValueBetV2Group"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2ValueBetsResponse": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ValueBetV2Group"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "pagination": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "type": "object"
      },
      "V2Venue": {
        "additionalProperties": false,
        "properties": {
          "capacity": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "cityName": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "$ref": "#/components/schemas/V2CountryReference"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "cityName",
          "capacity",
          "country"
        ],
        "type": "object"
      },
      "V2WatchlistEntryReference": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "V2WatchlistFixture": {
        "additionalProperties": false,
        "properties": {
          "awayTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "homeTeam": {
            "$ref": "#/components/schemas/V2ResourceReference"
          },
          "id": {
            "type": "string"
          },
          "kickoffAt": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "kickoffAt",
          "homeTeam",
          "awayTeam"
        ],
        "type": "object"
      },
      "V2WatchlistPlayer": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      },
      "ValueBetBookmaker": {
        "additionalProperties": false,
        "properties": {
          "overOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "source": {
            "type": "string"
          },
          "underOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "source",
          "overOdds",
          "underOdds"
        ],
        "type": "object"
      },
      "ValueBetHitRateWindows": {
        "additionalProperties": false,
        "properties": {
          "over": {
            "$ref": "#/components/schemas/ValueBetWindowRates"
          },
          "sampleSize": {
            "format": "int64",
            "type": "integer"
          },
          "under": {
            "$ref": "#/components/schemas/ValueBetWindowRates"
          }
        },
        "required": [
          "over",
          "under",
          "sampleSize"
        ],
        "type": "object"
      },
      "ValueBetHitRates": {
        "additionalProperties": false,
        "properties": {
          "l10": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "l20": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "l30": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "l10",
          "l20",
          "l30"
        ],
        "type": "object"
      },
      "ValueBetMatchOdds": {
        "additionalProperties": false,
        "properties": {
          "away": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "draw": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "home": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "home",
          "draw",
          "away"
        ],
        "type": "object"
      },
      "ValueBetPlayerGame": {
        "additionalProperties": false,
        "properties": {
          "eventId": {
            "format": "int64",
            "type": "integer"
          },
          "eventTimestamp": {
            "format": "int64",
            "type": "integer"
          },
          "isHome": {
            "type": "boolean"
          },
          "minutesPlayed": {
            "format": "double",
            "type": "number"
          },
          "opponentId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentName": {
            "type": "string"
          },
          "opponentSlug": {
            "type": "string"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "substitutedIn": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "substitutedPlayerStats": {
            "additionalProperties": {
              "format": "double",
              "type": "number"
            },
            "type": "object"
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "eventId",
          "minutesPlayed",
          "position",
          "isHome",
          "opponentId",
          "uniqueTournamentId",
          "eventTimestamp",
          "substitutedIn",
          "opponentName",
          "opponentSlug"
        ],
        "type": "object"
      },
      "ValueBetV2Activity": {
        "additionalProperties": false,
        "properties": {
          "inPredictedLineup": {
            "type": "boolean"
          },
          "lastGameWithTeam": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "startedLastGame": {
            "type": "boolean"
          }
        },
        "required": [
          "startedLastGame",
          "lastGameWithTeam",
          "inPredictedLineup"
        ],
        "type": "object"
      },
      "ValueBetV2Group": {
        "additionalProperties": false,
        "properties": {
          "activityInfo": {
            "$ref": "#/components/schemas/ValueBetV2Activity"
          },
          "alertsSupported": {
            "type": "boolean"
          },
          "avgOverEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "avgUnderEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "awayTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "bestOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/ValueBetBookmaker"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "groupKey": {
            "type": "string"
          },
          "hitRates": {
            "$ref": "#/components/schemas/ValueBetHitRates"
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "horizonFallback": {
            "type": "boolean"
          },
          "isPredictionOnly": {
            "type": "boolean"
          },
          "jerseyNumber": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "last30Stats": {
            "items": {
              "format": "double",
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "marketType": {
            "type": "string"
          },
          "matchDate": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "matchId": {
            "format": "int64",
            "type": "integer"
          },
          "matchInternalId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "matchOdds": {
            "$ref": "#/components/schemas/ValueBetMatchOdds"
          },
          "matchSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "models": {
            "items": {
              "$ref": "#/components/schemas/ValueBetV2Model"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "multiClub": {
            "type": "boolean"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerName": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "recentGames": {
            "items": {
              "$ref": "#/components/schemas/ValueBetV2RecentGame"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "sampleSize": {
            "format": "int64",
            "type": "integer"
          },
          "scannerEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "scannerFairOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "scannerModelName": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "teamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "windowHorizon": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "groupKey",
          "playerId",
          "playerName",
          "teamId",
          "teamName",
          "matchId",
          "matchInternalId",
          "matchDate",
          "marketType",
          "line",
          "matchSlug",
          "homeTeamId",
          "homeTeamName",
          "awayTeamId",
          "awayTeamName",
          "uniqueTournamentId",
          "alertsSupported",
          "multiClub",
          "models",
          "bookmakers",
          "avgOverEdge",
          "bestOverOdds",
          "avgUnderEdge",
          "bestUnderOdds",
          "matchOdds",
          "last30Stats",
          "sampleSize",
          "hitRates",
          "recentGames",
          "activityInfo",
          "position",
          "jerseyNumber",
          "windowHorizon",
          "horizonFallback",
          "scannerEdge",
          "scannerFairOdds",
          "scannerModelName",
          "isPredictionOnly"
        ],
        "type": "object"
      },
      "ValueBetV2Model": {
        "additionalProperties": false,
        "properties": {
          "extraLongFairUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "longFairUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "mediumFairUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "shortFairUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "shortFairUnderOdds",
          "mediumFairUnderOdds",
          "longFairUnderOdds",
          "extraLongFairUnderOdds"
        ],
        "type": "object"
      },
      "ValueBetV2RecentGame": {
        "additionalProperties": false,
        "properties": {
          "hasSuperSub": {
            "type": "boolean"
          },
          "isHome": {
            "type": "boolean"
          },
          "minutesPlayed": {
            "format": "int64",
            "type": "integer"
          },
          "opponentId": {
            "format": "int64",
            "type": "integer"
          },
          "opponentName": {
            "type": "string"
          },
          "position": {
            "type": [
              "string",
              "null"
            ]
          },
          "stat": {
            "format": "double",
            "type": "number"
          },
          "uniqueTournamentId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "stat",
          "minutesPlayed",
          "position",
          "isHome",
          "opponentId",
          "opponentName",
          "uniqueTournamentId",
          "hasSuperSub"
        ],
        "type": "object"
      },
      "ValueBetWindowRates": {
        "additionalProperties": false,
        "properties": {
          "L10": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "L20": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "L40": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "L10",
          "L20",
          "L40"
        ],
        "type": "object"
      },
      "ValueBetsBookmaker": {
        "additionalProperties": false,
        "properties": {
          "overOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "source": {
            "type": "string"
          },
          "underOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "source",
          "overOdds",
          "underOdds"
        ],
        "type": "object"
      },
      "ValueBetsGroup": {
        "additionalProperties": false,
        "properties": {
          "activityInfo": {
            "$ref": "#/components/schemas/ValueBetV2Activity"
          },
          "avgOverEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "avgOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "avgUnderEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "avgUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "awayTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "bestOverEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestUnderEdge": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bestUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "bookmakers": {
            "items": {
              "$ref": "#/components/schemas/ValueBetsBookmaker"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "groupKey": {
            "type": "string"
          },
          "hitRates": {
            "$ref": "#/components/schemas/ValueBetHitRateWindows"
          },
          "homeTeamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "homeTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "line": {
            "format": "double",
            "type": "number"
          },
          "marketType": {
            "type": "string"
          },
          "matchDate": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "matchId": {
            "format": "int64",
            "type": "integer"
          },
          "matchOdds": {
            "$ref": "#/components/schemas/ValueBetMatchOdds"
          },
          "matchSlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "models": {
            "items": {
              "$ref": "#/components/schemas/ValueBetsModelOdds"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "opponentMultiplier": {
            "type": [
              "string",
              "null"
            ]
          },
          "opponentTeamName": {
            "type": [
              "string",
              "null"
            ]
          },
          "playerDetails": {
            "$ref": "#/components/schemas/ValueBetsPlayerDetails"
          },
          "playerId": {
            "format": "int64",
            "type": "integer"
          },
          "playerName": {
            "type": [
              "string",
              "null"
            ]
          },
          "teamId": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "teamName": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "groupKey",
          "playerId",
          "playerName",
          "teamId",
          "teamName",
          "matchId",
          "matchDate",
          "marketType",
          "line",
          "models",
          "opponentMultiplier",
          "matchSlug",
          "playerDetails",
          "activityInfo",
          "opponentTeamName",
          "matchOdds",
          "homeTeamId",
          "homeTeamName",
          "awayTeamName",
          "bookmakers",
          "bestOverOdds",
          "bestUnderOdds",
          "avgOverOdds",
          "avgUnderOdds",
          "bestOverEdge",
          "bestUnderEdge",
          "avgOverEdge",
          "avgUnderEdge",
          "hitRates"
        ],
        "type": "object"
      },
      "ValueBetsModelOdds": {
        "additionalProperties": false,
        "properties": {
          "fairOverOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "fairUnderOdds": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "modelName": {
            "type": "string"
          }
        },
        "required": [
          "modelName",
          "fairOverOdds",
          "fairUnderOdds"
        ],
        "type": "object"
      },
      "ValueBetsPlayerDetails": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "recentGames": {
            "items": {
              "$ref": "#/components/schemas/ValueBetPlayerGame"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "recentStats": {
            "additionalProperties": {
              "items": {
                "format": "double",
                "type": "number"
              },
              "type": [
                "array",
                "null"
              ]
            },
            "type": "object"
          }
        },
        "required": [
          "active",
          "recentStats",
          "recentGames"
        ],
        "type": "object"
      },
      "VenueBody": {
        "additionalProperties": false,
        "properties": {
          "capacity": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "cityName": {
            "type": [
              "string",
              "null"
            ]
          },
          "countrySlug": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "latitude": {
            "type": [
              "string",
              "null"
            ]
          },
          "longitude": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "capacity",
          "cityName",
          "latitude",
          "longitude",
          "countrySlug"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "internalAPIKey": {
        "description": "Shared service key. Operations using it also require X-Telegram-User-Id.",
        "in": "header",
        "name": "X-Internal-Key",
        "type": "apiKey"
      },
      "supabaseBearer": {
        "bearerFormat": "JWT",
        "description": "Supabase access token.",
        "scheme": "bearer",
        "type": "http"
      },
      "supabaseSessionCookie": {
        "description": "Browser-managed Supabase SSR session cookie, including chunked sessions.",
        "in": "header",
        "name": "Cookie",
        "type": "apiKey"
      },
      "telegramUserID": {
        "description": "Telegram user represented by an authenticated internal service.",
        "in": "header",
        "name": "X-Telegram-User-Id",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "Resource-oriented StatsHub API. IDs are opaque strings, timestamps use RFC 3339, collections use signed cursor pagination, and errors use RFC 9457 Problem Details.",
    "title": "StatsHub API v2",
    "version": "2.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/basketball/competitions": {
      "get": {
        "operationId": "V2BasketballCompetitions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballCompetitionsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballCompetitions serves the basketball competitions with data.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/competitions/{competitionId}/fixtures": {
      "get": {
        "operationId": "V2BasketballCompetitionFixtures",
        "parameters": [
          {
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballCompetitionFixturesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballCompetitionFixtures serves one competition's fixtures.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/competitions/{competitionId}/teams": {
      "get": {
        "operationId": "V2BasketballCompetitionTeams",
        "parameters": [
          {
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballCompetitionTeamsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballCompetitionTeams serves the teams in one competition.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/fixtures": {
      "get": {
        "operationId": "V2BasketballFixtures",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "endOfDay",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startOfDay",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballFixturesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballFixtures serves the fixtures on a date.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/fixtures/{fixtureId}": {
      "get": {
        "operationId": "V2BasketballFixture",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "contentEncoding": "base64",
                  "type": "string"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballFixture serves one fixture with its boxscore.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/fixtures/{fixtureId}/player-odds": {
      "get": {
        "operationId": "V2BasketballFixturePlayerOdds",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballFixturePlayerOddsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballFixturePlayerOdds serves the player markets priced for a fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/players": {
      "get": {
        "operationId": "V2BasketballPlayers",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballPlayersOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballPlayers serves the basketball player directory.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/players/{playerId}": {
      "get": {
        "operationId": "V2BasketballPlayer",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballPlayerOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballPlayer serves one basketball player.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/players/{playerId}/performance": {
      "get": {
        "operationId": "V2BasketballPlayerPerformance",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballPlayerPerformanceOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballPlayerPerformance serves a basketball player's game log.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/search": {
      "get": {
        "operationId": "V2BasketballSearch",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballSearchOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballSearch serves the basketball entity search.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/teams/{teamId}": {
      "get": {
        "operationId": "V2BasketballTeam",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballTeamOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballTeam serves one basketball team.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/teams/{teamId}/performance": {
      "get": {
        "operationId": "V2BasketballTeamPerformance",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "timeFrame",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballTeamPerformanceOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballTeamPerformance serves a basketball team's game log.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/teams/{teamId}/player-performance": {
      "get": {
        "operationId": "V2BasketballTeamPlayerPerformance",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "fixtureId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "h2h",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballTeamPlayerPerformanceOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballTeamPlayerPerformance serves the squad's game logs together.",
        "tags": [
          "v2"
        ]
      }
    },
    "/basketball/teams/{teamId}/upcoming-fixtures": {
      "get": {
        "operationId": "V2BasketballTeamUpcomingFixtures",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2BasketballTeamUpcomingFixturesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2BasketballTeamUpcomingFixtures serves a basketball team's schedule.",
        "tags": [
          "v2"
        ]
      }
    },
    "/bookmakers": {
      "get": {
        "operationId": "listBookmakers",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Bookmaker"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List bookmakers",
        "tags": [
          "Betting"
        ]
      }
    },
    "/bookmakers/{bookmakerId}": {
      "get": {
        "operationId": "getBookmaker",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "bookmakerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Bookmaker"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a bookmaker",
        "tags": [
          "Betting"
        ]
      }
    },
    "/competitions": {
      "get": {
        "operationId": "listCompetitions",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive competition name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by region",
            "in": "query",
            "name": "regionId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter to competitions that do or do not support live alerts",
            "in": "query",
            "name": "liveAlerts",
            "schema": {
              "enum": [
                "true",
                "false"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Competition"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List competition identities",
        "tags": [
          "Competitions"
        ]
      },
      "post": {
        "operationId": "V2CreateCompetition",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CreateCompetitionInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateCompetitionCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateCompetition inserts a competition.",
        "tags": [
          "v2"
        ]
      }
    },
    "/competitions/{competitionId}": {
      "get": {
        "operationId": "getCompetition",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Competition"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a competition",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/competitions/{competitionId}/seasons": {
      "get": {
        "operationId": "listCompetitionSeasons",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search season names and years",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2CompetitionSeason"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List competition seasons",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/competitions/{competitionId}/seasons/{seasonId}/bracket": {
      "get": {
        "operationId": "getCompetitionSeasonBracket",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2CompetitionBracket"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a competition season elimination bracket",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/competitions/{competitionId}/seasons/{seasonId}/phases": {
      "get": {
        "operationId": "listCompetitionSeasonPhases",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search phase names",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2CompetitionPhase"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List phases in a competition season",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/competitions/{competitionId}/seasons/{seasonId}/player-rankings": {
      "get": {
        "operationId": "listCompetitionSeasonPlayerRankings",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by team",
            "in": "query",
            "name": "teamId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Ranking order",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "-goals",
                "-assists",
                "-appearances",
                "name"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PlayerSeasonRanking"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List aggregate player-season rankings",
        "tags": [
          "Rankings"
        ]
      }
    },
    "/competitions/{competitionId}/seasons/{seasonId}/rounds": {
      "get": {
        "operationId": "listCompetitionSeasonRounds",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2CompetitionRound"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List rounds in a competition season",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/competitions/{competitionId}/seasons/{seasonId}/standings": {
      "get": {
        "operationId": "getCompetitionSeasonStandings",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2SeasonStandings"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get competition season standings",
        "tags": [
          "Standings"
        ]
      }
    },
    "/countries": {
      "get": {
        "operationId": "listCountries",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Country"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List countries",
        "tags": [
          "Reference"
        ]
      },
      "post": {
        "operationId": "V2CreateCountry",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CountryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateCountryCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateCountry inserts a country.",
        "tags": [
          "v2"
        ]
      }
    },
    "/countries/{countrySlug}": {
      "get": {
        "operationId": "getCountry",
        "parameters": [
          {
            "in": "path",
            "name": "countrySlug",
            "required": true,
            "schema": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Country"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a country",
        "tags": [
          "Reference"
        ]
      },
      "put": {
        "operationId": "V2UpdateCountry",
        "parameters": [
          {
            "in": "path",
            "name": "countrySlug",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CountryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateCountry updates a country.",
        "tags": [
          "v2"
        ]
      }
    },
    "/data-coverage/fixtures": {
      "get": {
        "operationId": "V2DataVisualizerEvents",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "date",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "endDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "coverage",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2DataVisualizerResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2DataVisualizerEvents serves database-paged ingestion-health rows.",
        "tags": [
          "v2"
        ]
      }
    },
    "/data-coverage/fixtures/by-id": {
      "get": {
        "operationId": "V2DataVisualizerByIDs",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2DataVisualizerByIDsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2DataVisualizerByIDs serves ingestion coverage for an explicit set of fixtures, where /data-coverage/fixtures serves a filtered page of them.",
        "tags": [
          "v2"
        ]
      }
    },
    "/data-coverage/summary": {
      "get": {
        "operationId": "V2DataVisualizerSummary",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "date",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "endDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "coverage",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "excludeUnsupported",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2DataVisualizerSummaryResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2DataVisualizerSummary serves aggregate ingestion health without returning every event.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures": {
      "get": {
        "operationId": "listFixtures",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by competition",
            "in": "query",
            "name": "competitionId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by season",
            "in": "query",
            "name": "seasonId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by competition phase",
            "in": "query",
            "name": "phaseId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by round number",
            "in": "query",
            "name": "round",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by either participating team",
            "in": "query",
            "name": "teamId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by referee",
            "in": "query",
            "name": "refereeId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Canonical fixture status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "scheduled",
                "live",
                "finished",
                "postponed",
                "cancelled",
                "unknown"
              ],
              "type": "string"
            }
          },
          {
            "description": "Inclusive kickoff lower bound",
            "in": "query",
            "name": "kickoffFrom",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Exclusive kickoff upper bound",
            "in": "query",
            "name": "kickoffTo",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Kickoff order",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "kickoffAt",
                "-kickoffAt"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Fixture"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List fixtures",
        "tags": [
          "Fixtures"
        ]
      },
      "post": {
        "operationId": "V2CreateFixture",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Events"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateFixtureCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateFixture inserts a fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/commentary-statistics": {
      "get": {
        "operationId": "listCommentaryStatistics",
        "parameters": [
          {
            "description": "Comma-separated fixture IDs; at most 50",
            "in": "query",
            "name": "fixtureIds",
            "required": true,
            "schema": {
              "maxLength": 1024,
              "minLength": 1,
              "pattern": "^[1-9][0-9]*(,[1-9][0-9]*)*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2CommentaryPlayerStatistic"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List commentary-derived player statistics for several fixtures",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/counts-by-date": {
      "get": {
        "operationId": "V2FixtureCountsByDate",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "dates",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureCountsByDateOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureCountsByDate serves how many fixtures fall on each requested date, which is what a calendar strip needs before it has any fixtures.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/lineup-analysis": {
      "get": {
        "operationId": "V2FixtureLineupAnalysis",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "matchId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureLineupAnalysisOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2FixtureLineupAnalysis serves the analysis attached to a lineup.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/lineup-preview": {
      "get": {
        "operationId": "V2FixtureLineupPreview",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "matchId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureLineupPreviewOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2FixtureLineupPreview serves the lineup board's preview rows.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/lineup-status": {
      "get": {
        "operationId": "V2FixtureLineupStatus",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "ids",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureLineupStatusOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureLineupStatus serves whether each requested fixture has a confirmed or a predicted lineup yet.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/live-scores": {
      "get": {
        "operationId": "V2FixtureLiveScores",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "ids",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureLiveScoresOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureLiveScores serves the score and clock for fixtures in play.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/team-odds": {
      "get": {
        "operationId": "V2FixtureBulkTeamOdds",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureBulkTeamOddsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureBulkTeamOdds serves team odds for many fixtures in one request.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}": {
      "get": {
        "operationId": "getFixture",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Fixture"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a fixture",
        "tags": [
          "Fixtures"
        ]
      },
      "put": {
        "operationId": "V2UpdateFixture",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Events"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2UpdateFixtureOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateFixture updates a fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}/commentary-statistics": {
      "get": {
        "operationId": "listFixtureCommentaryStatistics",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2CommentaryPlayerStatistic"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List commentary-derived player statistics for a fixture",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/expected-cards": {
      "get": {
        "operationId": "V2FixtureExpectedCards",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureExpectedCardsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureExpectedCards serves the modelled card expectation for a fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}/formations": {
      "get": {
        "operationId": "getFixtureFormations",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FixtureFormations"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get the expected shape of both sides",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/incidents": {
      "get": {
        "operationId": "listFixtureIncidents",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2FixtureIncident"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List fixture timeline incidents",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/lineups": {
      "get": {
        "operationId": "getFixtureLineup",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FixtureLineup"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get the latest fixture lineup",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/odds": {
      "get": {
        "operationId": "listFixtureOdds",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2OddsSnapshot"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List current fixture odds snapshots",
        "tags": [
          "Betting"
        ]
      }
    },
    "/fixtures/{fixtureId}/odds-movements": {
      "get": {
        "operationId": "listFixtureOddsMovements",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by bookmaker",
            "in": "query",
            "name": "bookmakerId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by market",
            "in": "query",
            "name": "market",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by period",
            "in": "query",
            "name": "period",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2OddsMovement"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List fixture price movements",
        "tags": [
          "Betting"
        ]
      }
    },
    "/fixtures/{fixtureId}/player-heatmaps": {
      "get": {
        "operationId": "listFixturePlayerHeatmaps",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2FixturePlayerHeatmap"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List fixture player heatmaps",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/player-odds": {
      "get": {
        "operationId": "listFixturePlayerOdds",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "The team whose squad is priced; must play in this fixture",
            "in": "query",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Restrict to one player prop market; omit for every market",
            "in": "query",
            "name": "market",
            "schema": {
              "enum": [
                "anytimeGoalscorer",
                "assists",
                "cards",
                "expectedAssists",
                "expectedGoals",
                "fouls",
                "foulsCommitted",
                "foulsWon",
                "goalAssist",
                "goals",
                "headedShotOnTarget",
                "headedShotsOnTarget",
                "onTargetScoringAttempt",
                "passes",
                "scoreOrAssist",
                "scoredOrAssisted",
                "shots",
                "shotsOnTarget",
                "shotsOnTargetOutsideBox",
                "tackles",
                "totalPass",
                "totalTackle",
                "wasFouled",
                "xGxA",
                "yellowCard"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PlayerPropMarket"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List one team's priced player props",
        "tags": [
          "Betting"
        ]
      }
    },
    "/fixtures/{fixtureId}/player-statistics": {
      "get": {
        "operationId": "listFixturePlayerStatistics",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2FixturePlayerStatistic"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List fixture player performances",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/predicted-lineups": {
      "get": {
        "operationId": "V2FixturePredictedLineups",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixturePredictedLineupsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixturePredictedLineups serves the projected starting elevens for a fixture, as rows rather than as a formation string.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}/shots": {
      "get": {
        "operationId": "getFixtureShotMap",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FixtureShotMap"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get fixture shots and expected-goals summary",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/shots-model": {
      "get": {
        "operationId": "V2FixtureShotsModel",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "gameRange",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "stat",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureShotsModelOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureShotsModel serves the team shots model for a fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}/shots-model-odds": {
      "get": {
        "operationId": "V2FixtureShotsModelOdds",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "gameRange",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "stat",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureShotsModelOddsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureShotsModelOdds serves the shots model priced against the market.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}/statistics": {
      "get": {
        "operationId": "listFixtureStatistics",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2FixtureStatistic"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List fixture team statistics",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/fixtures/{fixtureId}/team-odds": {
      "get": {
        "operationId": "V2FixtureTeamOdds",
        "parameters": [
          {
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureTeamOddsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureTeamOdds serves the 1X2 and derived team markets for a fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/fixtures/{fixtureId}/unavailability": {
      "get": {
        "operationId": "getFixtureUnavailability",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FixtureUnavailability"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get active fixture injuries and suspensions",
        "tags": [
          "Fixtures"
        ]
      }
    },
    "/images": {
      "get": {
        "operationId": "V2Images",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "id",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ImagesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Images resolves an image by the entity it belongs to.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2IngestImage",
        "parameters": [
          {
            "in": "header",
            "name": "Authorization",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2IngestImageInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2IngestImage stores an image against an entity.",
        "tags": [
          "v2"
        ]
      }
    },
    "/images/{imageId}": {
      "get": {
        "operationId": "V2Image",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ImageOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Image resolves one stored image to its URL.",
        "tags": [
          "v2"
        ]
      }
    },
    "/incidents": {
      "get": {
        "operationId": "V2Incidents",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Incidents"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Incidents serves the incident reference table. It is the whole table; /fixtures/{fixtureId}/incidents is the timeline of one fixture.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2CreateIncident",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IncidentBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateIncidentCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateIncident inserts an incident.",
        "tags": [
          "v2"
        ]
      }
    },
    "/incidents/{incidentId}": {
      "get": {
        "operationId": "V2Incident",
        "parameters": [
          {
            "in": "path",
            "name": "incidentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Incidents"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Incident serves one incident row.",
        "tags": [
          "v2"
        ]
      },
      "put": {
        "operationId": "V2UpdateIncident",
        "parameters": [
          {
            "in": "path",
            "name": "incidentId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IncidentBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateIncident updates an incident.",
        "tags": [
          "v2"
        ]
      }
    },
    "/lineup-projections": {
      "get": {
        "operationId": "V2LineupsPlayers",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "games",
            "schema": {
              "items": {
                "format": "int64",
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentIds",
            "schema": {
              "items": {
                "format": "int64",
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2LineupsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2LineupsPlayers ranks and pages starter keys in SQL, projects only the requested page, and loads position history only for players on that page.",
        "tags": [
          "v2"
        ]
      }
    },
    "/managers": {
      "get": {
        "operationId": "listManagers",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by country",
            "in": "query",
            "name": "countrySlug",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Manager"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List managers",
        "tags": [
          "Managers"
        ]
      },
      "post": {
        "operationId": "V2CreateManager",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CreateManagerInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateManagerCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateManager inserts a manager.",
        "tags": [
          "v2"
        ]
      }
    },
    "/managers/{managerId}": {
      "get": {
        "operationId": "getManager",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "managerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Manager"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a manager",
        "tags": [
          "Managers"
        ]
      },
      "put": {
        "operationId": "V2UpdateManager",
        "parameters": [
          {
            "in": "path",
            "name": "managerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2UpdateManagerInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateManager updates a manager.",
        "tags": [
          "v2"
        ]
      }
    },
    "/matchday-fixtures": {
      "get": {
        "operationId": "V2FixtureDays",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "endOfDay",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startOfDay",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "upcomingOnly",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2FixtureDayResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2FixtureDays serves a compact, filtered fixture page for the matchday board.",
        "tags": [
          "v2"
        ]
      }
    },
    "/matches/recent": {
      "get": {
        "operationId": "V2RecentMatches",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "days_back",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "league",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2RecentMatchesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2RecentMatches serves the recently finished fixtures feed.",
        "tags": [
          "v2"
        ]
      }
    },
    "/me": {
      "get": {
        "operationId": "getCurrentAccount",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Account"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Get the authenticated account",
        "tags": [
          "Account"
        ]
      }
    },
    "/me/alert-preferences": {
      "delete": {
        "operationId": "disableAlerts",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Switch live alerts off without discarding the preferences",
        "tags": [
          "Alerts"
        ]
      },
      "get": {
        "operationId": "getAlertPreferences",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2AlertPreferences"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Get the caller's live alert preferences",
        "tags": [
          "Alerts"
        ]
      },
      "patch": {
        "operationId": "updateAlertPreferences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "lines": {
                    "$ref": "#/components/schemas/V2AlertLinesUpdate"
                  },
                  "mutedCompetitions": {
                    "items": {
                      "type": "string"
                    },
                    "type": [
                      "array",
                      "null"
                    ]
                  }
                },
                "required": [
                  "lines",
                  "mutedCompetitions"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2AlertPreferences"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Update the caller's live alert preferences",
        "tags": [
          "Alerts"
        ]
      }
    },
    "/me/bankrolls": {
      "get": {
        "operationId": "listBankrolls",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Bankroll"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "List the caller's bankrolls",
        "tags": [
          "Bet tracker"
        ]
      },
      "post": {
        "operationId": "createBankroll",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "makeDefault": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "mode": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "startingBalance": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unitValue": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "required": [
                  "name",
                  "mode",
                  "currency",
                  "unitValue",
                  "startingBalance",
                  "makeDefault"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Bankroll"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Open a bankroll",
        "tags": [
          "Bet tracker"
        ]
      }
    },
    "/me/bankrolls/{bankrollId}": {
      "delete": {
        "operationId": "deleteBankroll",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "bankrollId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Close a bankroll",
        "tags": [
          "Bet tracker"
        ]
      },
      "patch": {
        "operationId": "updateBankroll",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "bankrollId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "makeDefault": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "mode": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "startingBalance": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unitValue": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "required": [
                  "name",
                  "mode",
                  "currency",
                  "unitValue",
                  "startingBalance",
                  "makeDefault"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Bankroll"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Update a bankroll",
        "tags": [
          "Bet tracker"
        ]
      }
    },
    "/me/bet-tracker-settings": {
      "get": {
        "operationId": "getBetTrackerSettings",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2BetTrackerSettings"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Get the caller's stake settings and tag vocabulary",
        "tags": [
          "Bet tracker"
        ]
      },
      "put": {
        "operationId": "replaceBetTrackerSettings",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "stakeMode": {
                    "type": "string"
                  },
                  "unitValue": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "required": [
                  "stakeMode",
                  "currency",
                  "unitValue"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2BetTrackerSettings"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Replace the caller's stake settings",
        "tags": [
          "Bet tracker"
        ]
      }
    },
    "/me/favorite-players": {
      "get": {
        "operationId": "listFavoritePlayers",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PlayerFavorite"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "List the caller's favorite players",
        "tags": [
          "Account"
        ]
      },
      "post": {
        "operationId": "createFavoritePlayer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "id",
                  "notes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FavoriteReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FavoriteReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Save a player",
        "tags": [
          "Account"
        ]
      }
    },
    "/me/favorite-players/{playerId}": {
      "delete": {
        "operationId": "deleteFavoritePlayer",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Remove a favorite player",
        "tags": [
          "Account"
        ]
      },
      "patch": {
        "operationId": "updateFavoritePlayer",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "notes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FavoriteNotes"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Update favorite player notes",
        "tags": [
          "Account"
        ]
      }
    },
    "/me/favorite-teams": {
      "get": {
        "operationId": "listFavoriteTeams",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2TeamFavorite"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "List the caller's favorite teams",
        "tags": [
          "Account"
        ]
      },
      "post": {
        "operationId": "createFavoriteTeam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "id",
                  "notes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FavoriteReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FavoriteReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Save a team",
        "tags": [
          "Account"
        ]
      }
    },
    "/me/favorite-teams/{teamId}": {
      "delete": {
        "operationId": "deleteFavoriteTeam",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Remove a favorite team",
        "tags": [
          "Account"
        ]
      },
      "patch": {
        "operationId": "updateFavoriteTeam",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "notes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2FavoriteNotes"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Update favorite team notes",
        "tags": [
          "Account"
        ]
      }
    },
    "/me/prop-watchlist": {
      "get": {
        "operationId": "listPropWatchlist",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PropWatchlistEntry"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "List the caller's saved prop selections",
        "tags": [
          "Watchlists"
        ]
      },
      "post": {
        "operationId": "createPropWatchlistEntry",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "propId": {
                    "type": "string"
                  }
                },
                "required": [
                  "propId"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2WatchlistEntryReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2WatchlistEntryReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Save a prop selection",
        "tags": [
          "Watchlists"
        ]
      }
    },
    "/me/prop-watchlist/{entryId}": {
      "delete": {
        "operationId": "deletePropWatchlistEntry",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "entryId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Remove a saved prop selection",
        "tags": [
          "Watchlists"
        ]
      }
    },
    "/me/saved-screener-filters": {
      "delete": {
        "operationId": "V2RemoveSavedScreenerFilter",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2RemoveSavedScreenerFilter deletes a saved filter set.",
        "tags": [
          "v2"
        ]
      },
      "get": {
        "operationId": "V2SavedScreenerFilters",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2SavedScreenerFiltersOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2SavedScreenerFilters serves the caller's saved screener filter sets.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2CreateSavedScreenerFilter",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CreateSavedScreenerFilterInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateSavedScreenerFilterCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2CreateSavedScreenerFilter saves a filter set.",
        "tags": [
          "v2"
        ]
      },
      "put": {
        "operationId": "V2UpdateSavedScreenerFilter",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2UpdateSavedScreenerFilterInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2UpdateSavedScreenerFilterOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2UpdateSavedScreenerFilter rewrites a saved filter set.",
        "tags": [
          "v2"
        ]
      }
    },
    "/me/tracked-bets": {
      "get": {
        "operationId": "listTrackedBets",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by settlement status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "won",
                "lost",
                "void"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by bankroll",
            "in": "query",
            "name": "bankrollId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2TrackedBet"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "List the caller's tracked bets",
        "tags": [
          "Bet tracker"
        ]
      },
      "post": {
        "operationId": "createTrackedBet",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bankrollId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "betType": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "bookmakerId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "direction": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "fixtureId": {
                    "type": "string"
                  },
                  "line": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "marketType": {
                    "type": "string"
                  },
                  "modelName": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "oddsTaken": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "playerId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "stake": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "tags": {
                    "items": {
                      "type": "string"
                    },
                    "type": [
                      "array",
                      "null"
                    ]
                  },
                  "teamId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "teamSide": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "fixtureId",
                  "betType",
                  "playerId",
                  "teamId",
                  "teamSide",
                  "marketType",
                  "line",
                  "direction",
                  "oddsTaken",
                  "stake",
                  "bookmakerId",
                  "bankrollId",
                  "source",
                  "modelName",
                  "tags",
                  "notes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2TrackedBet"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Record a bet",
        "tags": [
          "Bet tracker"
        ]
      }
    },
    "/me/tracked-bets/summary": {
      "get": {
        "operationId": "getTrackedBetSummary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2TrackedBetSummary"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Get the caller's account-wide tracker performance",
        "tags": [
          "Bet tracker"
        ]
      }
    },
    "/me/tracked-bets/{betId}": {
      "delete": {
        "operationId": "deleteTrackedBet",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "betId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Remove a tracked bet",
        "tags": [
          "Bet tracker"
        ]
      },
      "patch": {
        "operationId": "updateTrackedBet",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "betId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "actualResult": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "bankrollId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "bookmakerId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "oddsTaken": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "source": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "stake": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "status": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tags": {
                    "items": {
                      "type": "string"
                    },
                    "type": [
                      "array",
                      "null"
                    ]
                  }
                },
                "required": [
                  "status",
                  "stake",
                  "oddsTaken",
                  "actualResult",
                  "bookmakerId",
                  "bankrollId",
                  "source",
                  "tags",
                  "notes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2TrackedBet"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Settle or edit a tracked bet",
        "tags": [
          "Bet tracker"
        ]
      }
    },
    "/me/value-bet-lineup-alerts": {
      "delete": {
        "operationId": "V2RemoveValueBetLineupAlert",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2RemoveValueBetLineupAlertInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2RemoveValueBetLineupAlertOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2RemoveValueBetLineupAlert disarms one.",
        "tags": [
          "v2"
        ]
      },
      "get": {
        "operationId": "V2ValueBetLineupAlerts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ValueBetLineupAlertsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2ValueBetLineupAlerts serves the caller's lineup alerts on value bets.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2CreateValueBetLineupAlert",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CreateValueBetLineupAlertInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateValueBetLineupAlertOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2CreateValueBetLineupAlert arms a lineup alert on a value bet.",
        "tags": [
          "v2"
        ]
      }
    },
    "/me/value-bet-watchlist": {
      "get": {
        "operationId": "listValueBetWatchlist",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2ValueBetWatchlistEntry"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "List the caller's saved value-bet selections",
        "tags": [
          "Watchlists"
        ]
      },
      "post": {
        "operationId": "createValueBetWatchlistEntry",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "fixtureId": {
                    "type": "string"
                  },
                  "line": {
                    "format": "double",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "marketType": {
                    "type": "string"
                  },
                  "playerId": {
                    "type": "string"
                  }
                },
                "required": [
                  "fixtureId",
                  "playerId",
                  "marketType",
                  "line"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2WatchlistEntryReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2WatchlistEntryReference"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Save a value-bet selection",
        "tags": [
          "Watchlists"
        ]
      }
    },
    "/me/value-bet-watchlist/{entryId}": {
      "delete": {
        "operationId": "deleteValueBetWatchlistEntry",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "entryId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Remove a saved value-bet selection",
        "tags": [
          "Watchlists"
        ]
      }
    },
    "/models": {
      "get": {
        "operationId": "V2Models",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ModelsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Models serves the registered prediction models.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2CreateModel",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModelBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateModel registers a prediction model.",
        "tags": [
          "v2"
        ]
      }
    },
    "/models/{modelId}": {
      "delete": {
        "operationId": "V2DeleteModel",
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2DeleteModel removes a prediction model.",
        "tags": [
          "v2"
        ]
      },
      "get": {
        "operationId": "V2Model",
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Model serves one prediction model.",
        "tags": [
          "v2"
        ]
      },
      "put": {
        "operationId": "V2UpdateModel",
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModelBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Models"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateModel updates a prediction model.",
        "tags": [
          "v2"
        ]
      }
    },
    "/odds/card-odds": {
      "post": {
        "operationId": "V2CardOddsBatch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CardOddsBatchInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "$ref": "#/components/schemas/BatchCardOdds"
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CardOddsBatch serves card prices for many fixtures at once.",
        "tags": [
          "v2"
        ]
      }
    },
    "/phases/upcoming-fixtures": {
      "post": {
        "operationId": "V2PhaseUpcomingFixtures",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpcomingMultiBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PhaseUpcomingFixturesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PhaseUpcomingFixtures serves the next fixtures across many phases at once. The ids are a list, which is why it is a POST.",
        "tags": [
          "v2"
        ]
      }
    },
    "/phases/{phaseId}": {
      "get": {
        "operationId": "getCompetitionPhase",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "phaseId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2CompetitionPhase"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a competition phase",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/phases/{phaseId}/seasons": {
      "get": {
        "operationId": "V2PhaseSeasons",
        "parameters": [
          {
            "in": "path",
            "name": "phaseId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PhaseSeasonsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PhaseSeasons serves the seasons a phase has run in.",
        "tags": [
          "v2"
        ]
      }
    },
    "/phases/{phaseId}/seasons/{seasonId}/player-rankings": {
      "get": {
        "operationId": "V2PhaseSeasonPlayerRankings",
        "parameters": [
          {
            "in": "path",
            "name": "phaseId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PhaseSeasonPlayerRankingsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PhaseSeasonPlayerRankings serves the phase's player-statistics table.",
        "tags": [
          "v2"
        ]
      }
    },
    "/phases/{phaseId}/seasons/{seasonId}/rounds": {
      "get": {
        "operationId": "listPhaseSeasonRounds",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "phaseId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2CompetitionRound"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List rounds in a competition phase and season",
        "tags": [
          "Competitions"
        ]
      }
    },
    "/phases/{phaseId}/seasons/{seasonId}/standings": {
      "get": {
        "operationId": "V2PhaseSeasonStandings",
        "parameters": [
          {
            "in": "path",
            "name": "phaseId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PhaseSeasonStandingsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PhaseSeasonStandings serves the phase's table.",
        "tags": [
          "v2"
        ]
      }
    },
    "/phases/{phaseId}/seasons/{seasonId}/standings/betting-trends": {
      "get": {
        "operationId": "V2PhaseSeasonBettingTrends",
        "parameters": [
          {
            "in": "path",
            "name": "phaseId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PhaseSeasonBettingTrendsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PhaseSeasonBettingTrends serves the table with each side's betting record beside its league position.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players": {
      "get": {
        "operationId": "listPlayers",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by current team",
            "in": "query",
            "name": "teamId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by country",
            "in": "query",
            "name": "countrySlug",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Player"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List players",
        "tags": [
          "Players"
        ]
      },
      "post": {
        "operationId": "V2CreatePlayer",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CreatePlayerInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreatePlayerCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreatePlayer inserts a player.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/directory": {
      "get": {
        "operationId": "V2PlayerDirectory",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "awayTeam",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "homeTeam",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PlayerDirectoryOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerDirectory serves every player as one flat list. The designed /players collection pages and filters; this is the whole set, which is what a client building its own index wants.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/from-screener": {
      "get": {
        "operationId": "V2ScreenerPlayers",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ScreenerPlayersOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2ScreenerPlayers serves the player directory the screener filters against.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/next-fixture-odds": {
      "get": {
        "operationId": "V2PlayerNextFixtureOdds",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "nextFixtureId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "playerId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PlayerNextFixtureOddsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerNextFixtureOdds serves the prices on each player's next fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/{playerId}": {
      "get": {
        "operationId": "getPlayer",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Player"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a player",
        "tags": [
          "Players"
        ]
      }
    },
    "/players/{playerId}/card-statistics": {
      "get": {
        "operationId": "V2PlayerCardStatistics",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "includeNational",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PlayerCardStatisticsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerCardStatistics serves a player's booking record.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/{playerId}/expected-cards": {
      "get": {
        "operationId": "V2PlayerExpectedCards",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "expectedMins",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "includeNational",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PlayerExpectedCardsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerExpectedCards serves the modelled card expectation for a player.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/{playerId}/expected-shots": {
      "get": {
        "operationId": "V2PlayerExpectedShots",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "expectedMins",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "includeNational",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {},
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerExpectedShots serves the modelled shot expectation for a player.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/{playerId}/expected-shots-on-target": {
      "get": {
        "operationId": "V2PlayerExpectedShotsOnTarget",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "expectedMins",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "includeNational",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {},
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerExpectedShotsOnTarget serves the modelled shots-on-target expectation for a player.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/{playerId}/performance": {
      "get": {
        "operationId": "V2PlayerPerformance",
        "parameters": [
          {
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "includeNational",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startedMatch",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PlayerPerformanceOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerPerformance serves a player's per-fixture performance rows.",
        "tags": [
          "v2"
        ]
      }
    },
    "/players/{playerId}/seasons": {
      "get": {
        "operationId": "listPlayerCompetitionSeasons",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by competition",
            "in": "query",
            "name": "competitionId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PlayerCompetitionSeason"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List competition seasons in a player's career",
        "tags": [
          "Players"
        ]
      }
    },
    "/players/{playerId}/seasons/{seasonId}/formation-heatmaps": {
      "get": {
        "operationId": "listPlayerSeasonFormationHeatmaps",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by the player's team in each fixture",
            "in": "query",
            "name": "teamId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PlayerFormationHeatmap"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List a player's season heatmaps by team formation",
        "tags": [
          "Players"
        ]
      }
    },
    "/players/{playerId}/seasons/{seasonId}/heatmap": {
      "get": {
        "operationId": "getPlayerSeasonHeatmap",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2PlayerSeasonHeatmap"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a player's season heatmap",
        "tags": [
          "Players"
        ]
      }
    },
    "/players/{playerId}/seasons/{seasonId}/percentiles": {
      "get": {
        "operationId": "getPlayerSeasonPercentiles",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Comparison window: this season, or every competition over a rolling year",
            "in": "query",
            "name": "window",
            "schema": {
              "enum": [
                "season",
                "rolling365d"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2PlayerSeasonPercentiles"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Rank a player against positional peers",
        "tags": [
          "Players"
        ]
      }
    },
    "/players/{playerId}/seasons/{seasonId}/positions": {
      "get": {
        "operationId": "getPlayerSeasonPositions",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2PlayerSeasonPositions"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a player's season starting positions",
        "tags": [
          "Players"
        ]
      }
    },
    "/players/{playerId}/seasons/{seasonId}/statistics": {
      "get": {
        "operationId": "getPlayerSeasonStatistics",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2PlayerSeasonStatistics"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a player's season statistics",
        "tags": [
          "Players"
        ]
      }
    },
    "/predictions/team-statistics": {
      "get": {
        "operationId": "V2TeamGLMPredictions",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "date",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "metric",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Internal-Key",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Telegram-User-Id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamGLMResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "internalAPIKey": [],
            "telegramUserID": []
          },
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2TeamGLMPredictions pages eligible fixtures in SQL before loading and pricing their bookmaker boards. In positive-EV mode, the same SQL key query evaluates the Poisson edge predicate against the stored odds JSON.",
        "tags": [
          "v2"
        ]
      }
    },
    "/previews/{slug}": {
      "get": {
        "operationId": "getPreview",
        "parameters": [
          {
            "in": "path",
            "name": "slug",
            "required": true,
            "schema": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Preview"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a published tipster preview and its tips",
        "tags": [
          "Editorial"
        ]
      }
    },
    "/rankings/matchup-edges": {
      "get": {
        "operationId": "V2MatchupEdges",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "debug",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "lookback",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "opponentId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2MatchupEdgesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2MatchupEdges serves the matchup edge board.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/opponents": {
      "get": {
        "operationId": "V2OpponentRankings",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statType",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2OpponentRankingsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2OpponentRankings serves how each team ranks as an opponent for a statistic.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/player-cards": {
      "get": {
        "operationId": "listPlayerCardRankings",
        "parameters": [
          {
            "description": "Competition to rank within. Required: a card board spanning every competition is not a query the API will serve.",
            "in": "query",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Restrict the sample to one season of that competition",
            "in": "query",
            "name": "seasonId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Ordering; defaults to -cardsPerAppearance. Rate orderings are descending only, so that entries with no data — whose rates are null — sort last rather than first.",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "-appearances",
                "-bookedPercentage",
                "-cards",
                "-cardsPer90",
                "-cardsPerAppearance",
                "-foulsPerAppearance",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PlayerCardRanking"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Rank players by discipline in a competition",
        "tags": [
          "Rankings"
        ]
      }
    },
    "/rankings/player-hit-rates": {
      "get": {
        "operationId": "V2HundredClub",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "hitRate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statTypes",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2HundredClubResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2HundredClub serves compact, database-paged perfect-hit props for upcoming fixtures.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/player-prop-trends": {
      "get": {
        "operationId": "V2PlayerTrends",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "lineup",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "bookmakers",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "games",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minWindow",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "positions",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sorting.column",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sorting.direction",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statTypes",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PlayerTrendsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerTrends computes the best trend window and all eligibility filters in SQL, pages the ranked prop keys, then enriches only those selected keys.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/price-outliers": {
      "get": {
        "operationId": "V2Outliers",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "bookmaker",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "market",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minBookmakers",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2OutliersResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Outliers computes the displayed bookmaker edge in SQL and pages ranked market keys before serializing bookmaker arrays.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/prop-candidates": {
      "get": {
        "operationId": "listPropCandidates",
        "parameters": [
          {
            "description": "Statistic to search. Required. The same key identifies the market in the odds feed, so a market the feed names differently returns no odds.",
            "in": "query",
            "name": "market",
            "required": true,
            "schema": {
              "enum": [
                "dispossessed",
                "expectedAssists",
                "expectedGoals",
                "foulInvolvements",
                "fouls",
                "goalAssist",
                "goals",
                "interceptionWon",
                "onTargetScoringAttempt",
                "possessionLostCtrl",
                "saves",
                "scoredOrAssisted",
                "shots",
                "totalCross",
                "totalOffside",
                "totalPass",
                "totalTackle",
                "wasFouled",
                "xGxA",
                "yellowCard"
              ],
              "type": "string"
            }
          },
          {
            "description": "Start of the fixture window, exclusive. Required. Form is also measured as of this instant, so a search for tomorrow does not count today.",
            "in": "query",
            "name": "kickoffFrom",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "End of the fixture window, inclusive. Required.",
            "in": "query",
            "name": "kickoffTo",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated competition phase IDs to search. Required: the fixture window alone does not bound the search enough to serve.",
            "in": "query",
            "name": "phaseIds",
            "required": true,
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Comma-separated fixture IDs, narrowing the window",
            "in": "query",
            "name": "fixtureIds",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Comma-separated player positions",
            "in": "query",
            "name": "positions",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Value an appearance must reach, greater than or equal, to count as a hit; defaults to 1. Fractional thresholds work: 0.5 selects appearances with at least one.",
            "in": "query",
            "name": "threshold",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "How many qualifying appearances the form figures cover; defaults to 10, maximum 50.",
            "in": "query",
            "name": "window",
            "schema": {
              "maximum": 50,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Minimum minutes played for an appearance to count; defaults to 1, so a named substitute who never came on is not a data point.",
            "in": "query",
            "name": "minMinutes",
            "schema": {
              "maximum": 120,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Minimum qualifying appearances a player must have; defaults to 0.",
            "in": "query",
            "name": "minGames",
            "schema": {
              "maximum": 50,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Restrict to home or away appearances, on both the upcoming fixture and the sample; defaults to both.",
            "in": "query",
            "name": "venue",
            "schema": {
              "enum": [
                "both",
                "home",
                "away"
              ],
              "type": "string"
            }
          },
          {
            "description": "Count only appearances made in the phases named by phaseIds; defaults to TRUE.",
            "in": "query",
            "name": "selectedPhasesOnly",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Count only appearances the player started; defaults to TRUE.",
            "in": "query",
            "name": "startedOnly",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Attach the figure of the player each substitute came on for; defaults to false. It is never folded into the candidate's own totals.",
            "in": "query",
            "name": "includeReplacedPlayer",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Compute the recent-versus-older trend; defaults to false. Sorting by -trend implies it.",
            "in": "query",
            "name": "includeTrend",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Minimum hit rate, as a percentage between 0 and 100; defaults to 0.",
            "in": "query",
            "name": "minHitRate",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Compare the window average against this value; defaults to 0, which disables the filter.",
            "in": "query",
            "name": "averageThreshold",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Direction of the averageThreshold comparison; defaults to above.",
            "in": "query",
            "name": "averageComparison",
            "schema": {
              "enum": [
                "above",
                "below"
              ],
              "type": "string"
            }
          },
          {
            "description": "Drop players whose team has played more than this many fixtures since they last featured. A player with no appearance on record is dropped, not kept.",
            "in": "query",
            "name": "maxGamesSinceLastAppearance",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Keep only players in the latest lineup projection of the named kind; defaults to all, which applies no filter.",
            "in": "query",
            "name": "lineupFilter",
            "schema": {
              "enum": [
                "all",
                "confirmed",
                "predicted"
              ],
              "type": "string"
            }
          },
          {
            "description": "Restrict prices to one line, and drop players nobody is quoting.",
            "in": "query",
            "name": "oddsLine",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Minimum best available over price, and drop players nobody is quoting.",
            "in": "query",
            "name": "minOdds",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Ordering; defaults to -average.",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "-average",
                "-games",
                "-hitRate",
                "-kickoff",
                "-total",
                "-trend",
                "average",
                "kickoff"
              ],
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2PropCandidate"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Find players whose recent form clears a threshold in one market",
        "tags": [
          "Rankings"
        ]
      }
    },
    "/rankings/referee-cards": {
      "get": {
        "operationId": "listRefereeCardRankings",
        "parameters": [
          {
            "description": "Competition to rank within. Required: a card board spanning every competition is not a query the API will serve.",
            "in": "query",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Restrict the sample to one season of that competition",
            "in": "query",
            "name": "seasonId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Ordering; defaults to -cardsPerGame. Rate orderings are descending only, so that entries with no data — whose rates are null — sort last rather than first.",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "-cardsPerGame",
                "-foulsPerGame",
                "-games",
                "-over35CardsPercentage",
                "-penaltiesPerGame",
                "-redsPerGame",
                "-yellowsPerGame",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2RefereeCardRanking"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Rank the officials who worked a competition by card record",
        "tags": [
          "Rankings"
        ]
      }
    },
    "/rankings/referees": {
      "get": {
        "operationId": "V2Referees",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "last20Only",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "leagueStatsOnly",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "nextGameFrom",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "nextGameTo",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "upcomingOnly",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2RefereesResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Referees serves a database-filtered and paged referee statistics board.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/substitute-impact": {
      "get": {
        "operationId": "V2SuperSubHeroes",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "league",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "stat",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "window",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2HeroesResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2SuperSubHeroes serves one database-ranked and paged statistic leaderboard.",
        "tags": [
          "v2"
        ]
      }
    },
    "/rankings/team-cards": {
      "get": {
        "operationId": "listTeamCardRankings",
        "parameters": [
          {
            "description": "Competition to rank within. Required: a card board spanning every competition is not a query the API will serve.",
            "in": "query",
            "name": "competitionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Restrict the sample to one season of that competition",
            "in": "query",
            "name": "seasonId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Ordering; defaults to -cardsForPerGame. Rate orderings are descending only, so that entries with no data — whose rates are null — sort last rather than first.",
            "in": "query",
            "name": "sort",
            "schema": {
              "enum": [
                "-cardsAgainstPerGame",
                "-cardsForPerGame",
                "-games",
                "-matchCardsPerGame",
                "-matchOver35Percentage",
                "-matchOver45Percentage",
                "name"
              ],
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2TeamCardRanking"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Rank teams by cards for, against and per match",
        "tags": [
          "Rankings"
        ]
      }
    },
    "/rankings/team-prop-trends": {
      "get": {
        "operationId": "V2TeamTrends",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "endOfDay",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "games",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "hitRateWindow",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "leagueIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "oddsRange.from",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "oddsRange.to",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "oddsType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sorting.column",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sorting.direction",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startOfDay",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statTypes",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamTrendsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamTrends ranks eligible trend keys in SQL, pages those keys, and loads fixture, history, team, and bookmaker projections only for the selected page.",
        "tags": [
          "v2"
        ]
      }
    },
    "/referees": {
      "get": {
        "operationId": "listReferees",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by country",
            "in": "query",
            "name": "countrySlug",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Referee"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List referees",
        "tags": [
          "Referees"
        ]
      },
      "post": {
        "operationId": "V2CreateReferee",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefereeBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateRefereeCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateReferee inserts a referee.",
        "tags": [
          "v2"
        ]
      }
    },
    "/referees/{refereeId}": {
      "get": {
        "operationId": "getReferee",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "refereeId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Referee"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a referee",
        "tags": [
          "Referees"
        ]
      },
      "put": {
        "operationId": "V2UpdateReferee",
        "parameters": [
          {
            "in": "path",
            "name": "refereeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefereeBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateReferee updates a referee.",
        "tags": [
          "v2"
        ]
      }
    },
    "/referees/{refereeId}/competition-statistics": {
      "get": {
        "operationId": "listRefereeCompetitionStatistics",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "refereeId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2RefereeCompetitionStatistic"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List a referee's record per competition",
        "tags": [
          "Referees"
        ]
      }
    },
    "/referees/{refereeId}/competitions": {
      "get": {
        "operationId": "V2RefereeCompetitions",
        "parameters": [
          {
            "in": "path",
            "name": "refereeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TournamentSeasonsEntry"
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2RefereeCompetitions serves the competitions and seasons a referee has officiated in.",
        "tags": [
          "v2"
        ]
      }
    },
    "/referees/{refereeId}/incidents": {
      "get": {
        "operationId": "V2RefereeIncidents",
        "parameters": [
          {
            "in": "path",
            "name": "refereeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "season",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentIds",
            "schema": {
              "items": {
                "format": "int64",
                "type": "integer"
              },
              "type": [
                "array",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2RefereeIncidentsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2RefereeIncidents serves a referee's cards and penalties per half, per fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/regions": {
      "get": {
        "operationId": "listRegions",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Region"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List competition regions",
        "tags": [
          "Reference"
        ]
      },
      "post": {
        "operationId": "V2CreateRegion",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateRegionCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateRegion inserts a region.",
        "tags": [
          "v2"
        ]
      }
    },
    "/regions/{regionId}": {
      "get": {
        "operationId": "getRegion",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "regionId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Region"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a competition region",
        "tags": [
          "Reference"
        ]
      },
      "put": {
        "operationId": "V2UpdateRegion",
        "parameters": [
          {
            "in": "path",
            "name": "regionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateRegion updates a region.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/player-data": {
      "post": {
        "operationId": "V2PropPlayerData",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2PropPlayerDataInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PropPlayerDataOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PropPlayerData serves the per-player detail a screener row expands into.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/player-statistics": {
      "post": {
        "operationId": "V2PropPlayerStatisticsBatch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2PropPlayerStatisticsBatchInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2PropPlayerStatisticsBatchOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PropPlayerStatisticsBatch serves stat rows for many players at once.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/player-trends": {
      "post": {
        "operationId": "V2PlayerTrendsBody",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrendsParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {},
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerTrendsBody serves the player-prop trends from a nested request body. /rankings/player-prop-trends is the same capability with the filters flattened into a query string; this is for the filter sets too deep to flatten.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/players/enriched": {
      "get": {
        "operationId": "V2PlayerScreenerEnriched",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statTypes",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {},
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2PlayerScreenerEnriched serves the screener for one fixture with the trend columns already joined on, so a fixture page does not make a second pass.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/team-trends": {
      "post": {
        "operationId": "V2TeamTrendsBody",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TeamTrendsParams"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamTrendsBodyOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamTrendsBody is the team-prop equivalent of V2PlayerTrendsBody.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/teams": {
      "get": {
        "operationId": "V2TeamScreenerGet",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "leagueIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxHitRateAllL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxHitRateAllL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxHitRateAllL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxHitRateL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxHitRateL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxHitRateL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOpponentHitRateAllL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOpponentHitRateAllL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOpponentHitRateAllL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOpponentHitRateL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOpponentHitRateL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOpponentHitRateL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRateAllL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRateAllL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRateAllL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRateL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRateL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRateL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOpponentHitRateAllL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOpponentHitRateAllL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOpponentHitRateAllL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOpponentHitRateL10",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOpponentHitRateL15",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOpponentHitRateL5",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "oddsType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "selectedDates",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortColumn",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortDirection",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statTypes",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamIds",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamScreenerGetOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamScreener serves the team-prop screener.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2TeamScreenerPost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TeamScreenerFilters"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamScreenerPostOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamScreener serves the team-prop screener.",
        "tags": [
          "v2"
        ]
      }
    },
    "/screeners/teams/by-fixture": {
      "get": {
        "operationId": "V2TeamScreenerByFixture",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statTypes",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamScreenerByFixtureOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamScreenerByFixture serves the team screener scoped to one fixture.",
        "tags": [
          "v2"
        ]
      }
    },
    "/search": {
      "get": {
        "operationId": "V2Search",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2SearchOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Search serves the cross-entity search used by the search field.",
        "tags": [
          "v2"
        ]
      }
    },
    "/search/suggestions": {
      "post": {
        "operationId": "V2Suggestions",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2SuggestionsInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2SuggestionsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2Suggestions serves the search suggestion list.",
        "tags": [
          "v2"
        ]
      }
    },
    "/seasons": {
      "get": {
        "operationId": "V2Seasons",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Seasons"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2Seasons serves the season reference table. The designed tier has /seasons/{seasonId} but no collection.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2CreateSeason",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeasonBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateSeasonCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateSeason inserts a season.",
        "tags": [
          "v2"
        ]
      }
    },
    "/seasons/{seasonId}": {
      "get": {
        "operationId": "getSeason",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Season"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a competition season",
        "tags": [
          "Competitions"
        ]
      },
      "put": {
        "operationId": "V2UpdateSeason",
        "parameters": [
          {
            "in": "path",
            "name": "seasonId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeasonBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateSeason updates a season.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams": {
      "get": {
        "operationId": "listTeams",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by country",
            "in": "query",
            "name": "countrySlug",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter national sides",
            "in": "query",
            "name": "national",
            "schema": {
              "enum": [
                "true",
                "false"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Team"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List teams",
        "tags": [
          "Teams"
        ]
      },
      "post": {
        "operationId": "V2CreateTeam",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2CreateTeamInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateTeamCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateTeam inserts a team.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/comparison": {
      "get": {
        "operationId": "V2TeamComparison",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "awayTeamId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "homeTeamId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamComparisonOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamComparison serves two teams' numbers side by side.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}": {
      "get": {
        "operationId": "getTeam",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Team"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a team",
        "tags": [
          "Teams"
        ]
      }
    },
    "/teams/{teamId}/betting-history": {
      "get": {
        "operationId": "getTeamBettingHistory",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Most recent settled fixtures to simulate; defaults to 38",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 38,
              "maximum": 500,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Flat stake placed on every fixture; defaults to 100",
            "in": "query",
            "name": "stake",
            "schema": {
              "default": 100,
              "minimum": 0.01,
              "type": "number"
            }
          },
          {
            "description": "Which side the stake backs",
            "in": "query",
            "name": "side",
            "schema": {
              "enum": [
                "team"
              ],
              "type": "string"
            }
          },
          {
            "description": "Restrict to home or away fixtures",
            "in": "query",
            "name": "venue",
            "schema": {
              "enum": [
                "home",
                "away"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by competition",
            "in": "query",
            "name": "competitionId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Earliest kickoff day, inclusive",
            "in": "query",
            "name": "from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Latest kickoff day, inclusive",
            "in": "query",
            "name": "to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Price band as minOdds:maxOdds:label; repeat up to 10 times. Omit for the default favourite-to-underdog bands.",
            "in": "query",
            "name": "bracket",
            "schema": {
              "items": {
                "type": "string"
              },
              "maxItems": 10,
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2TeamBettingHistory"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Simulate a flat stake on a team's recent fixtures",
        "tags": [
          "Betting"
        ]
      }
    },
    "/teams/{teamId}/fixture-statistics": {
      "get": {
        "operationId": "V2TeamFixtureStatistics",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventHalf",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "h2h",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "season",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "statisticKey",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentIds",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamFixtureStatisticsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamFixtureStatistics serves a team's per-fixture statistic rows.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/fixtures-with-odds": {
      "get": {
        "operationId": "V2TeamFixturesWithOdds",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamFixturesWithOddsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamFixturesWithOdds serves a team's fixtures alongside their prices.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/last-games": {
      "get": {
        "operationId": "V2TeamLastGames",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamLastGamesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamLastGames serves a team's recent fixtures with their lineups attached.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/last-lineup": {
      "get": {
        "operationId": "V2TeamLastLineup",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamLastLineupOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamLastLineup serves the eleven a team last fielded, in the row shape the pitch already draws.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/performance": {
      "get": {
        "operationId": "V2TeamPerformance",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventHalf",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "h2h",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "season",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamPerformanceOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamPerformance serves a team's own aggregated performance rows.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/performance-collection": {
      "get": {
        "operationId": "V2TeamPerformanceCollection",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventHalf",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "h2h",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "season",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamPerformanceCollectionOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamPerformanceCollection serves a team's per-fixture performance rows in the collection shape a chart consumes, rather than as aggregates.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/player-fixture-statistics": {
      "get": {
        "operationId": "listTeamPlayerFixtureStatistics",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by competition",
            "in": "query",
            "name": "competitionId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by season",
            "in": "query",
            "name": "seasonId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by fixture status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "scheduled",
                "live",
                "finished",
                "postponed",
                "cancelled",
                "unknown"
              ],
              "type": "string"
            }
          },
          {
            "description": "Restrict to the team's home or away fixtures",
            "in": "query",
            "name": "venue",
            "schema": {
              "enum": [
                "home",
                "away",
                "any"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by the opposing team",
            "in": "query",
            "name": "opponentId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Filter by player",
            "in": "query",
            "name": "playerId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2TeamPlayerFixtureStatistic"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List a team's per-fixture player statistics",
        "tags": [
          "Teams"
        ]
      }
    },
    "/teams/{teamId}/player-performance": {
      "get": {
        "operationId": "V2TeamPlayerPerformance",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "h2h",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "location",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "season",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "fixtureId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "tournamentId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamPlayerPerformanceOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamPlayerPerformance serves the squad's aggregated performance rows.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/roster": {
      "get": {
        "operationId": "V2TeamRoster",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamRosterOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamRoster serves the current squad.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/seasons": {
      "get": {
        "operationId": "listTeamCompetitionSeasons",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by competition",
            "in": "query",
            "name": "competitionId",
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2TeamCompetitionSeason"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List the competition seasons a team has fixtures in",
        "tags": [
          "Teams"
        ]
      }
    },
    "/teams/{teamId}/statistics": {
      "get": {
        "operationId": "V2TeamStatistics",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "seasonId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamStatisticsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamStatistics serves a team's season statistics.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/substitute-split": {
      "get": {
        "operationId": "V2TeamSubstituteSplit",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "matches",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubSplitResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamSubstituteSplit serves a team's starter-versus-substitute split.",
        "tags": [
          "v2"
        ]
      }
    },
    "/teams/{teamId}/upcoming-fixtures": {
      "get": {
        "operationId": "V2TeamUpcomingFixtures",
        "parameters": [
          {
            "in": "path",
            "name": "teamId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "limit",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TeamUpcomingFixturesOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2TeamUpcomingFixtures serves a team's scheduled fixtures.",
        "tags": [
          "v2"
        ]
      }
    },
    "/tipster-previews": {
      "get": {
        "operationId": "V2TipsterPreviews",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TipsterPreviewsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2TipsterPreviews serves the published previews as a list. It is the index /previews/{slug} does not have.",
        "tags": [
          "v2"
        ]
      },
      "post": {
        "operationId": "V2CreateTipsterPreview",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TipsterPreviewBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateTipsterPreviewCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2CreateTipsterPreview publishes a preview.",
        "tags": [
          "v2"
        ]
      }
    },
    "/tipster-previews/{previewId}": {
      "delete": {
        "operationId": "V2DeleteTipsterPreview",
        "parameters": [
          {
            "in": "path",
            "name": "previewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2DeleteTipsterPreview withdraws a preview.",
        "tags": [
          "v2"
        ]
      },
      "get": {
        "operationId": "V2TipsterPreview",
        "parameters": [
          {
            "in": "path",
            "name": "previewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2TipsterPreviewOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2TipsterPreview serves one preview by id, where /previews/{slug} reads the editorial slug.",
        "tags": [
          "v2"
        ]
      },
      "put": {
        "operationId": "V2UpdateTipsterPreview",
        "parameters": [
          {
            "in": "path",
            "name": "previewId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/V2UpdateTipsterPreviewInputBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2UpdateTipsterPreviewOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2UpdateTipsterPreview rewrites a published preview.",
        "tags": [
          "v2"
        ]
      }
    },
    "/users/{userId}/is-favorite-player": {
      "get": {
        "operationId": "V2UserFavoritePlayerCheck",
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "playerId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2UserFavoritePlayerCheckOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2UserFavoritePlayerCheck answers whether a user has favourited a player.",
        "tags": [
          "v2"
        ]
      }
    },
    "/users/{userId}/is-favorite-team": {
      "get": {
        "operationId": "V2UserFavoriteTeamCheck",
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "teamId",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2UserFavoriteTeamCheckOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2UserFavoriteTeamCheck answers whether a user has favourited a team.",
        "tags": [
          "v2"
        ]
      }
    },
    "/value-bet-reports": {
      "delete": {
        "operationId": "deleteValueBetReport",
        "parameters": [
          {
            "description": "The fixture the value bet belongs to",
            "in": "query",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "The player the value bet is about",
            "in": "query",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Withdraw the caller's own report",
        "tags": [
          "Value bets"
        ]
      },
      "get": {
        "operationId": "getValueBetReports",
        "parameters": [
          {
            "description": "The fixture the value bet belongs to",
            "in": "query",
            "name": "fixtureId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          },
          {
            "description": "The player the value bet is about",
            "in": "query",
            "name": "playerId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2ValueBetReportSummary"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Summarise community reports against one value bet",
        "tags": [
          "Value bets"
        ]
      },
      "post": {
        "operationId": "createValueBetReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "details": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "fixtureId": {
                    "type": "string"
                  },
                  "playerId": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": [
                  "fixtureId",
                  "playerId",
                  "reason",
                  "details"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2ValueBetReport"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2ValueBetReport"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "415": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unsupported Media Type"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "Report a value bet",
        "tags": [
          "Value bets"
        ]
      }
    },
    "/value-bets": {
      "get": {
        "operationId": "V2ValueBets",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "date",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "direction",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "group",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "inPredictedLineup",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "kickoffWindow",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "line",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "marketType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxEV",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxLastGameWithTeam",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minEV",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minSources",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "mode",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "perPage",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "requireGroups",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "requireHorizons",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "showAll",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "showLive",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "specificDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startedLastGame",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "superSub",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Internal-Key",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Telegram-User-Id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ValueBetsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "internalAPIKey": [],
            "telegramUserID": []
          },
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2ValueBets computes the scanner's displayed edge and post-assembly filters in SQL, pages the ranked card keys, then enriches only the selected cards.",
        "tags": [
          "v2"
        ]
      }
    },
    "/value-bets/generation-1": {
      "get": {
        "operationId": "V2ValueBetsGeneration1",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "date",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "includePast",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "line",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "marketType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxEV",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOdd",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minEV",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOdd",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "opponentMultiplier",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "specificDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentId",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "upcomingOnly",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "hitRateSort",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "inPredictedLineup",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxLastGameWithTeam",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startedLastGame",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "action",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "perPage",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortOrder",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ValueBetsGeneration1OKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2ValueBetsGeneration1 serves the first value-bet model.",
        "tags": [
          "v2"
        ]
      }
    },
    "/value-bets/generation-4": {
      "get": {
        "operationId": "V2ValueBetsGeneration4",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "date",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "direction",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "eventIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "group",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "inPredictedLineup",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "kickoffWindow",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "line",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "marketType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxEV",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxLastGameWithTeam",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minEV",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minSources",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "mode",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "perPage",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "requireGroups",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "requireHorizons",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "showAll",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "showLive",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "specificDate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "startedLastGame",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "superSub",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "uniqueTournamentIds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "hitRateWindow",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minHitRate",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "playerId",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Internal-Key",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Telegram-User-Id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ValueBetsGeneration4OKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "internalAPIKey": [],
            "telegramUserID": []
          },
          {
            "supabaseBearer": []
          },
          {
            "supabaseSessionCookie": []
          }
        ],
        "summary": "V2ValueBetsGeneration4 serves the fourth value-bet model.",
        "tags": [
          "v2"
        ]
      }
    },
    "/value-bets/player-props": {
      "get": {
        "operationId": "V2ValueBetProps",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "league",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "line",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "marketType",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "maxOdds",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "minEdge",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "opponentMultiplier",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "player",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "team",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "timeToKickoff",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "order",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "sortBy",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "side",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2ValueBetPropsOKBody"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "405": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Method Not Allowed"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2ValueBetProps serves the player-prop value board, which is a separate model from the team-market ones above rather than a later generation.",
        "tags": [
          "v2"
        ]
      }
    },
    "/venues": {
      "get": {
        "operationId": "listVenues",
        "parameters": [
          {
            "description": "Maximum resources to return; defaults to 25",
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 25,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page",
            "in": "query",
            "name": "after",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Opaque cursor for the previous page",
            "in": "query",
            "name": "before",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Case-insensitive name search",
            "in": "query",
            "name": "q",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "description": "Filter by country",
            "in": "query",
            "name": "countrySlug",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/V2Venue"
                      },
                      "type": "array"
                    },
                    "links": {
                      "$ref": "#/components/schemas/V2Links"
                    },
                    "page": {
                      "$ref": "#/components/schemas/V2Page"
                    }
                  },
                  "required": [
                    "data",
                    "page",
                    "links"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "List venues",
        "tags": [
          "Reference"
        ]
      },
      "post": {
        "operationId": "V2CreateVenue",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VenueBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V2CreateVenueCreatedBody"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2CreateVenue inserts a venue.",
        "tags": [
          "v2"
        ]
      }
    },
    "/venues/{venueId}": {
      "get": {
        "operationId": "getVenue",
        "parameters": [
          {
            "description": "Opaque resource ID",
            "in": "path",
            "name": "venueId",
            "required": true,
            "schema": {
              "pattern": "^[1-9][0-9]*$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/V2Venue"
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [],
        "summary": "Get a venue",
        "tags": [
          "Reference"
        ]
      },
      "put": {
        "operationId": "V2UpdateVenue",
        "parameters": [
          {
            "in": "path",
            "name": "venueId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VenueBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageEnvelope"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/V2Problem"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "summary": "V2UpdateVenue updates a venue.",
        "tags": [
          "v2"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "/api/v2"
    }
  ]
}
