League Info JSON Views
Let's break down each json view and the data that is actually returned.
League Information¶
We have the following json views regarding our League
- (No view paramter)
- Basic league information including the League id, current scoring period, basic
teaminformation, and basicmemberinformation
- Basic league information including the League id, current scoring period, basic
- mStatus
- mSettings
- mTeam
- mStandings
- mRoster
- mMatchupScore
- mScoreboard
- mBoxScore
- modular
-
mSchedule
- mNav
(No view parameter)¶
With no view parameter, we see a high level view of the League object and some of its fields like id, members, teams and just a fiew other parameters. Nothing particularly detailed.
{
"gameId": 1,
"id": 695660,
"members": [
{
"displayName": VALUE,
"id": GUID,
"isLeagueManager": false
}, ...
],
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"settings": {
"name": "AHS Alum"
},
"status": {
"currentMatchupPeriod": 4,
"isActive": true,
"latestScoringPeriod": 4
},
"teams": [
{
"abbrev": "DICK",
"id": 1,
"location": "Richard",
"nickname": "Buttana",
"owners": [
GUID
]
},...
]
}
mStatus¶
mStatus fleshes out the Status field we got a taste of in our previous search. I think the most interesting parameters here include finalScoringPeriod, previousSeasons, teamsJoined.
Info
The only unique field to this view is lastUpdateInfo. Otherwise, the entire status object is returned in other views such as mTeam.
In any case, the full response can be seen below so we know exactly what the view returns.
mStatus json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"status": {
"activatedDate": 1690375312281,
"createdAsLeagueType": 0,
"currentLeagueType": 0,
"currentMatchupPeriod": 4,
"finalScoringPeriod": 17,
"firstScoringPeriod": 1,
"isActive": true,
"isExpired": false,
"isFull": true,
"isPlayoffMatchupEdited": true,
"isToBeDeleted": false,
"isViewable": true,
"isWaiverOrderEdited": false,
"lastUpdateInfo": {
"clientAddress": null,
"platform": "lm-processor",
"source": "NightlyLeagueUpdateTaskProcessor"
},
"latestScoringPeriod": 4,
"previousSeasons": [
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022
],
"standingsUpdateDate": 1695714108553,
"teamsJoined": 16,
"transactionScoringPeriod": 4,
"waiverLastExecutionDate": 1695714107284,
"waiverProcessStatus": {
"2023-09-05T07:31:30.748+0000": 3,
"2023-09-13T08:41:11.851+0000": 7,
"2023-09-14T07:43:12.340+0000": 1,
"2023-09-20T07:40:58.921+0000": 9
}
}
}
mSettings¶
You guessed it - mSettings fleshes out the settings object within the league. Here we will get the following sub settings objects: acquisitionSettings, draftSettings, financeSettings, rosterSettings, scheduleSettings, scoringSettings, tradeSettings.
For our use case, scoringSettings may be useful if we need to actually apply these settings to stats to calculate fantasy points. However, as well will see, this isn't really necessary as we will see appliedStats fields that have already made these calculations on the back end.
mSettings json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"settings": {
"acquisitionSettings": {
"acquisitionBudget": 100,
"acquisitionLimit": -1,
"acquisitionType": "WAIVERS_TRADITIONAL",
"isUsingAcquisitionBudget": false,
"matchupAcquisitionLimit": 0.0,
"matchupLimitPerScoringPeriod": false,
"minimumBid": 1,
"waiverHours": 24,
"waiverOrderReset": true,
"waiverProcessDays": [
"FRIDAY",
"WEDNESDAY",
"SUNDAY",
"THURSDAY",
"MONDAY",
"SATURDAY"
],
"waiverProcessHour": 11
},
"draftSettings": {
"auctionBudget": 200,
"availableDate": 1693789200000,
"date": 1693792800000,
"isTradingEnabled": false,
"keeperCount": 0,
"keeperCountFuture": 0,
"keeperOrderType": "TRADITIONAL",
"leagueSubType": "NONE",
"orderType": "DRAFT_START",
"pickOrder": [
21,
10,
2,
5,
22,
1,
9,
11,
16,
23,
19,
18,
20,
6,
4,
3
],
"timePerSelection": 60,
"type": "SNAKE"
},
"financeSettings": {
"entryFee": 0.0,
"miscFee": 0.0,
"perLoss": 0.0,
"perTrade": 0.0,
"playerAcquisition": 0.0,
"playerDrop": 0.0,
"playerMoveToActive": 0.0,
"playerMoveToIR": 0.0
},
"isCustomizable": true,
"isPublic": false,
"name": "AHS Alum",
"restrictionType": "NONE",
"rosterSettings": {
"isBenchUnlimited": true,
"isUsingUndroppableList": true,
"lineupLocktimeType": "INDIVIDUAL_GAME",
"lineupSlotCounts": {
"0": 1,
"1": 0,
"2": 2,
"3": 0,
"4": 2,
"5": 0,
"6": 1,
"7": 0,
"8": 0,
"9": 0,
"10": 0,
"11": 0,
"12": 0,
"13": 0,
"14": 0,
"15": 0,
"16": 1,
"17": 1,
"18": 0,
"19": 0,
"20": 5,
"21": 1,
"22": 0,
"23": 1,
"24": 0
},
"lineupSlotStatLimits": {},
"moveLimit": -1,
"positionLimits": {
"0": 0,
"1": 3,
"2": 8,
"3": 8,
"4": 3,
"5": 3,
"6": 0,
"7": 0,
"8": 0,
"9": 0,
"10": 0,
"11": 0,
"12": 0,
"13": 0,
"14": 0,
"15": -1,
"16": 3,
"17": 0
},
"rosterLocktimeType": "INDIVIDUAL_GAME",
"universeIds": [
0
]
},
"scheduleSettings": {
"divisions": [
{
"id": 0,
"name": "Barton Hills Zilker",
"size": 4
},
{
"id": 1,
"name": "Oak Hill Travis Country",
"size": 4
},
{
"id": 2,
"name": "Band Nerds",
"size": 4
},
{
"id": 3,
"name": "The Pit Orchestra",
"size": 4
}
],
"matchupPeriodCount": 14,
"matchupPeriodLength": 1,
"matchupPeriods": {
"1": [
1
],
"2": [
2
],
"3": [
3
],
"4": [
4
],
"5": [
5
],
"6": [
6
],
"7": [
7
],
"8": [
8
],
"9": [
9
],
"10": [
10
],
"11": [
11
],
"12": [
12
],
"13": [
13
],
"14": [
14
],
"15": [
15
],
"16": [
16
],
"17": [
17
]
},
"periodTypeId": 1,
"playoffMatchupPeriodLength": 1,
"playoffSeedingRule": "TOTAL_POINTS_SCORED",
"playoffSeedingRuleBy": 0,
"playoffTeamCount": 6
},
"scoringSettings": {
"allowOutOfPositionScoring": false,
"homeTeamBonus": 0,
"matchupTieRule": "NONE",
"matchupTieRuleBy": 0,
"playerRankType": "STANDARD",
"playoffHomeTeamBonus": 3,
"playoffMatchupTieRule": "NONE",
"playoffMatchupTieRuleBy": 0,
"scoringItems": [
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": -1.0,
"statId": 68
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": -1.0,
"statId": 72
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -1.0
},
"statId": 122
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -3.0
},
"statId": 134
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"statId": 25
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 1.0
},
"statId": 131
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 1.0
},
"statId": 106
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -5.0
},
"statId": 135
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -7.0
},
"statId": 136
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"statId": 43
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"pointsOverrides": {
"16": 6.0
},
"statId": 102
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.1,
"statId": 24
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"pointsOverrides": {
"16": 6.0
},
"statId": 103
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 7.0
},
"statId": 128
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"pointsOverrides": {
"16": 6.0
},
"statId": 101
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"pointsOverrides": {
"16": 6.0
},
"statId": 104
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -7.0
},
"statId": 125
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 5.0
},
"statId": 129
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -5.0
},
"statId": 124
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": -1.0,
"statId": 85
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.04,
"statId": 3
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 1.0,
"statId": 86
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -1.0
},
"statId": 133
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.1,
"statId": 42
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": -1.0,
"statId": 88
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 3.0
},
"statId": 130
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 5.0,
"statId": 4
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": -3.0
},
"statId": 123
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 5.0
},
"statId": 90
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 2.0,
"pointsOverrides": {
"16": 2.0
},
"statId": 206
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 7.0
},
"statId": 89
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.04,
"pointsOverrides": {
"16": 0.01
},
"statId": 114
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 1.0,
"pointsOverrides": {
"16": 1.0
},
"statId": 209
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 3.0
},
"statId": 95
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"pointsOverrides": {
"16": 6.0
},
"statId": 93
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 2.0
},
"statId": 98
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 3.0
},
"statId": 91
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 2.0
},
"statId": 96
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 2.0,
"statId": 19
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 2.0
},
"statId": 97
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": -2.0,
"statId": 20
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 6.0,
"statId": 63
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 0.1
},
"statId": 112
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 3.0,
"statId": 80
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 2.0,
"statId": 26
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 4.0,
"statId": 77
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 1.0
},
"statId": 92
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 1.0
},
"statId": 99
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.04,
"pointsOverrides": {
"16": 0.04
},
"statId": 115
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 2.0,
"statId": 44
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 5.0,
"statId": 201
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 0.0,
"pointsOverrides": {
"16": 0.1
},
"statId": 113
},
{
"isReverseItem": false,
"leagueRanking": 0.0,
"leagueTotal": 0.0,
"points": 5.0,
"statId": 198
}
],
"scoringType": "H2H_POINTS"
},
"size": 16,
"tradeSettings": {
"allowOutOfUniverse": false,
"deadlineDate": 1701417600000,
"max": -1,
"revisionHours": 48,
"vetoVotesRequired": 4
}
},
"status": {
"activatedDate": 1690375312281,
"createdAsLeagueType": 0,
"currentLeagueType": 0,
"currentMatchupPeriod": 4,
"finalScoringPeriod": 17,
"firstScoringPeriod": 1,
"isActive": true,
"isExpired": false,
"isFull": true,
"isPlayoffMatchupEdited": true,
"isToBeDeleted": false,
"isViewable": true,
"isWaiverOrderEdited": false,
"latestScoringPeriod": 4,
"previousSeasons": [
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022
],
"standingsUpdateDate": 1695714108553,
"teamsJoined": 16,
"transactionScoringPeriod": 4,
"waiverLastExecutionDate": 1695714107284,
"waiverProcessStatus": {
"2023-09-05T07:31:30.748+0000": 3,
"2023-09-13T08:41:11.851+0000": 7,
"2023-09-14T07:43:12.340+0000": 1,
"2023-09-20T07:40:58.921+0000": 9
}
}
}
mTeam¶
mTeam gives us a few more fields about the members such as firstName, lastName, and notificationSettings. As expected though, we see a lot more information about the teams array including:
- currentProjectedRank
- divisionId
- draftDayProjectedRank
- draftStrategy
- pendingTransactions
- waiver claims, or pending trades. In this case you will see my claims (today is Tuesday)
- playoffSeed
- points
- primaryOwner
- rankCalculatedFinal
- rankFinal
- record
- transaction counter
- details number of roster transactions
- valuesByStat
- a
StatLineobject showing total values for the season of passing yards, passing TDs, etc
- a
mTeam json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"members": [
{
"displayName": "Wildebeast214",
"firstName": "Thomas",
"id": GUID,
"lastName": "Wilde",
"notificationSettings": [
{
"enabled": true,
"id": "1fbc7858-9606-4338-897b-fdabcca555a9",
"type": "TEAM_PLAYER_STARTBENCH"
},...
]
} ...
],
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"status": {
"activatedDate": 1690375312281,
"createdAsLeagueType": 0,
"currentLeagueType": 0,
"currentMatchupPeriod": 4,
"finalScoringPeriod": 17,
"firstScoringPeriod": 1,
"isActive": true,
"isExpired": false,
"isFull": true,
"isPlayoffMatchupEdited": true,
"isToBeDeleted": false,
"isViewable": true,
"isWaiverOrderEdited": false,
"latestScoringPeriod": 4,
"previousSeasons": [
2014,
2015,
...
],
"standingsUpdateDate": 1695714108553,
"teamsJoined": 16,
"transactionScoringPeriod": 4,
"waiverLastExecutionDate": 1695714107284,
"waiverProcessStatus": {
"2023-09-05T07:31:30.748+0000": 3,
"2023-09-13T08:41:11.851+0000": 7,
"2023-09-14T07:43:12.340+0000": 1,
"2023-09-20T07:40:58.921+0000": 9
}
},
"teams": [
{
"abbrev": "DICK",
"currentProjectedRank": 1,
"divisionId": 3,
"draftDayProjectedRank": 15,
"draftStrategy": {
"futureKeeperPlayerIds": [],
"keeperPlayerIds": []
},
"id": 1,
"isActive": false,
"location": "Richard",
"logo": "https://s3.amazonaws.com/wildebeastmedia.com/richard+buttana.png",
"logoType": "CUSTOM_VALID",
"name": "Richard Buttana",
"nickname": "Buttana",
"owners": [
GUID
],
"pendingTransactions": [
{
"bidAmount": 0,
"executionType": "EXECUTE",
"id": "3370e5c7-74d9-470c-9874-02b6d1685e3c",
"isActingAsTeamOwner": false,
"isLeagueManager": false,
"isPending": true,
"items": [
{
"fromLineupSlotId": -1,
"fromTeamId": 0,
"isKeeper": false,
"overallPickNumber": 0,
"playerId": 4429025,
"toLineupSlotId": -1,
"toTeamId": 1,
"type": "ADD"
},
{
"fromLineupSlotId": 20,
"fromTeamId": 1,
"isKeeper": false,
"overallPickNumber": 0,
"playerId": 3924365,
"toLineupSlotId": -1,
"toTeamId": 0,
"type": "DROP"
}
],
"memberId": GUID,
"processDate": 1695798000000,
"proposedDate": 1695752700012,
"rating": 0,
"scoringPeriodId": 4,
"skipTransactionCounters": false,
"status": "PENDING",
"subOrder": 2,
"teamId": 1,
"type": "WAIVER"
}, ...
],
"playoffSeed": 3,
"points": 302.28999999999996,
"pointsAdjusted": 0.0,
"pointsDelta": 0.0,
"primaryOwner": GUID,
"rankCalculatedFinal": 0,
"rankFinal": 0,
"record": {
"away": {
"gamesBack": 0.0,
"losses": 0,
"percentage": 1.0,
"pointsAgainst": 0.0,
"pointsFor": 0.0,
"streakLength": 1,
"streakType": "WIN",
"ties": 0,
"wins": 1
},
"division": {
"gamesBack": 0.0,
"losses": 0,
"percentage": 1.0,
"pointsAgainst": 0.0,
"pointsFor": 0.0,
"streakLength": 3,
"streakType": "WIN",
"ties": 0,
"wins": 3
},
"home": {
"gamesBack": 0.0,
"losses": 0,
"percentage": 1.0,
"pointsAgainst": 0.0,
"pointsFor": 0.0,
"streakLength": 2,
"streakType": "WIN",
"ties": 0,
"wins": 2
},
"overall": {
"gamesBack": 0.0,
"losses": 0,
"percentage": 1.0,
"pointsAgainst": 215.28,
"pointsFor": 302.28999999999996,
"streakLength": 3,
"streakType": "WIN",
"ties": 0,
"wins": 3
}
},
"tradeBlock": {},
"transactionCounter": {
"acquisitionBudgetSpent": 0,
"acquisitions": 6,
"drops": 8,
"matchupAcquisitionTotals": {
"1": 1,
"2": 3,
"3": 2
},
"misc": 0,
"moveToActive": 11,
"moveToIR": 2,
"paid": 0.0,
"teamCharges": 0.0,
"trades": 0
},
"valuesByStat": {
"128": 0.0,
"129": 0.0,
"130": 2.0,
"3": 1024.0,
"131": 0.0,
"4": 8.0,
"133": 0.0,
"134": 0.0,
"135": 0.0,
"136": 0.0,
"19": 0.0,
"20": 2.0,
"24": 651.0,
"25": 1.0,
"26": 0.0,
"42": 670.0,
"43": 3.0,
"44": 0.0,
"63": 0.0,
"68": 5.0,
"198": 2.0,
"72": 1.0,
"201": 0.0,
"77": 4.0,
"206": 0.0,
"80": 1.0,
"209": 0.0,
"85": 1.0,
"86": 4.0,
"88": 0.0,
"89": 0.0,
"90": 0.0,
"91": 2.0,
"92": 0.0,
"93": 0.0,
"95": 1.0,
"96": 4.0,
"97": 0.0,
"98": 0.0,
"99": 12.0,
"101": 0.0,
"102": 0.0,
"103": 0.0,
"104": 0.0,
"106": 4.0,
"112": 15.0,
"113": 8.0,
"114": 21.0,
"115": 43.0,
"122": 0.0,
"123": 0.0,
"124": 0.0,
"125": 0.0
},
"waiverRank": 14
}, ...
]
}
mStandings¶
mStandings adds a currentSimulationResults object to our teams array. This object includes
divisionWinPct: Percent chance to win divisionplayoffPct: Percent chance to make playoffsrank: Projected final rankmodeRecord: An object that shows our project final record
We also see a schedule object which is an array of match's. This view gives us an overview of each match, i.e. home team id and points and away team id and points.
mStandings json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"schedule": [
{
"away": {
"gamesPlayed": 0,
"teamId": 3,
"totalPoints": 48.06
},
"home": {
"gamesPlayed": 0,
"teamId": 1,
"totalPoints": 91.05
},
"matchupPeriodId": 1
},
...,
// Note: future matches also shown
{
"away": {
"gamesPlayed": 0,
"teamId": 3,
"totalPoints": 0.0
},
"home": {
"gamesPlayed": 0,
"teamId": 18,
"totalPoints": 0.0
},
"matchupPeriodId": 5
},...
],
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"status": { OMMITTED FOR BREVITY
},
"teams": [
{
"currentSimulationResults": {
"divisionWinPct": 0.6205,
"modeRecord": {
"gamesBack": 0.0,
"losses": 5,
"percentage": 0.0,
"pointsAgainst": 0.0,
"pointsFor": 0.0,
"streakLength": 0,
"streakType": "NONE",
"ties": 0,
"wins": 9
},
"playoffClinchType": "UNKNOWN",
"playoffPct": 0.7415,
"rank": 1
},
"id": 1,
"playoffClinchType": "UNKNOWN"
}, ...
]
}
mRoster¶
mRoster populates the roster object for each team which of course describes each player on each teams roster. The way this is structured is as follows
Roster- some fields...
- List<
RosterEntry>
Roster Entry- slot information, acquisition, etc.
PlayerPoolEntry
PlayerPoolEntry- Info about the player in regards to the league, i.e.
status:ONTEAM Player
- Info about the player in regards to the league, i.e.
PlayerEverything you could want to know about the player
Info
If you want to query PlayerPoolEntry specifically, check out kona_player_card json view.
It should be noted that the stats array within the player shows appliedStats which are calculated fantasy points for each of the actual stats. Therefore, this player object contains more fields than would be expected from simply retrieving the player from the espn api. When we create the SpringBoot entity, we may represent this as FantasyPlayer extends Player and the FantasyPlayer object would also be defined by this particular league id.
Let's break down the stats array, which is an array of what I call StatLine objects. Here we will see the StatLine objects have unique id values that designate the the time periord and whether the stat line is a projection or actual. The id value is a concatenation of statSourceId + statSplitTypeId + externalId.
statSourceIdcan have either0meaningactualor1meaning projection.statSplitTypeIdcan have0which meansyear,1which meansweek, or2which I have not yet discerned.externalId- The year if a year stat
- The year plus scoringPeriod for projected stats
- Seemingly a unique identifier for the actual week stats.
Here is a break down of what each id represents.
002023"externalId": "2023""statSourceId": 0"statSplitTypeId": 0- These are the total stats so far in 2023 (current year)
122023- I have not actually deduced what these stats represent
002022- These are the total stats for 2022 (previous year)
102023- These are the projected stats for 2023 (current year)
102022- These were the projected stats for 2022 (previous year)
1120233- These are the Week 3 projected stats (previous week)
01401547438- These are the Week 3 actual stats (previous week)
1120234- These are the Week 4 projected stats (coming week)
Note
Even though we don't know how the id is built for the week actuals, we could still query this using the scoringPeriodId, statSourceId, and statSplitTypeId.
Tip
Other GET params can be added here including scoringPeriodId and rosterForTeamId.
scoringPeriodId: Can be used to get the actual and projected stats for a particular week, i.e. Week 2.rosterForTeamId: This shortens the response to only theRosterfor a particular team.
mRoster JSON view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"status": { ... // Ommitted
},
"teams": [
{
"id": 1,
"roster": {
"appliedStatTotal": 128.48000000000002,
"entries": [
{
"acquisitionDate": 1693799220114,
"acquisitionType": "DRAFT",
"injuryStatus": "NORMAL",
"lineupSlotId": 6,
"pendingTransactionIds": null,
"playerId": 15847,
"playerPoolEntry": {
"appliedStatTotal": 12.9,
"id": 15847,
"keeperValue": 2,
"keeperValueFuture": 1,
"lineupLocked": false,
"onTeamId": 1,
"player": {
"active": true,
"defaultPositionId": 4,
"draftRanksByRankType": {
"STANDARD": {
"auctionValue": 57,
"published": false,
"rank": 5,
"rankSourceId": 0,
"rankType": "STANDARD",
"slotId": 0
},
"PPR": {
"auctionValue": 57,
"published": false,
"rank": 5,
"rankSourceId": 0,
"rankType": "PPR",
"slotId": 0
}
},
"droppable": false,
"eligibleSlots": [
5,
6,
23,
7,
20,
21
],
"firstName": "Travis",
"fullName": "Travis Kelce",
"id": 15847,
"injured": false,
"injuryStatus": "ACTIVE",
"lastName": "Kelce",
"lastNewsDate": 1695601802000,
"lastVideoDate": 1695607613000,
"outlooks": {
"outlooksByWeek": {
"1": "It's amazing to consider that Kelce has finished six of the last seven seasons as the top fantasy tight end. A hyperextended knee suffered in Tuesday's practice, however, puts Kelce's status up in the air against the Lions. Monitor the news headed into Thursday night's kickoff.",
"2": "Given how close to playing it seems Kelce was last week and the extended rest since that Thursday game, the mustached-man is poised to pounce on a young Jacksonville defense.",
"3": "Kelce made his 2023 debut in Week 2 after a knee injury kept him out of the opener. He ended up with four catches for 26 yards and a touchdown in a 17-9 win over the Jaguars. The Chiefs get the Bears at home in Week 3 and Chicago's defense hasn't done much of anything thus far. Kelce should be primed for a big day at home on Sunday afternoon.",
"4": "After being somewhat limited in his return from injury in Week 2, Kelce swiftly regained top tight end status with seven catches for 69 yards in Week 3, including a tailor-made three-yard scoring strike in the third quarter, bringing those in attendance much joy. Kelce tops the tight end charts again in Week 4 when the Chiefs visit the Jets."
}
},
"ownership": {
"auctionValueAverage": 53.481751824817515,
"averageDraftPosition": 7.273834185938359,
"percentChange": -0.0011883992198846727,
"percentOwned": 99.93245561484213,
"percentStarted": 98.40130614492573
},
"proTeamId": 12,
"rankings": {
"0": [
{
"auctionValue": 0,
"published": true,
"rank": 1,
"rankSourceId": 9,
"rankType": "PPR",
"slotId": 6
}, ...
],
"1": [],
"2": [
{
"auctionValue": 0,
"published": true,
"rank": 1,
"rankSourceId": 9,
"rankType": "PPR",
"slotId": 6
},...
],
"3": [
{
"auctionValue": 0,
"published": true,
"rank": 1,
"rankSourceId": 9,
"rankType": "PPR",
"slotId": 6
}, ...
],
"4": [
{
"auctionValue": 0,
"published": true,
"rank": 1,
"rankSourceId": 9,
"rankType": "PPR",
"slotId": 6
}, ...
]
},
"seasonOutlook": "Kelce is fresh off a dominant 2022 season in which he led the tight end position in all fantasy-relevant categories and scored 100.9 more fantasy points than the next-closest player at the position. Kelce set new career-best marks in targets, receptions and TDs and has now finished no lower than second among TEs in catches, yards and fantasy points each of the past seven seasons. Incredibly, Kelce was a top-10 fantasy scorer in 76% of his games, whereas only two other tight ends were over 50%. Kansas City didn't make any major offseason adds at wideout, so Kelce remains locked in as Patrick Mahomes' top target. Kelce is the clear-cut No. 1 TE in fantasy and the 33-year-old should be selected in the middle of the first round in drafts.",
"stats": [
{
"appliedAverage": 10.75,
"appliedStats": {
"42": 9.5,
"43": 12.0
},
"appliedTotal": 21.5,
"externalId": "2023",
"id": "002023",
"proTeamId": 0,
"scoringPeriodId": 0,
"seasonId": 2023,
"statSourceId": 0,
"statSplitTypeId": 0,
"stats": {
"41": 11.0,
"42": 95.0,
"43": 2.0,
"47": 18.0,
"48": 8.0,
"49": 4.0,
"50": 3.0,
"210": 2.0,
"51": 1.0,
"53": 11.0,
"213": 5.0,
"54": 1.0,
"183": 2.0,
"58": 17.0,
"59": 35.0,
"155": 2.0,
"60": 8.63636364,
"61": 47.5,
"158": 12.0
}
},
{
"appliedAverage": 11.490647893764288,
"appliedStats": {
"68": -1.111583956,
"72": -0.618897562,
"24": 0.7513780767,
"25": 0.989157522,
"42": 103.608106,
"26": 0.016962604,
"43": 56.46344792399999,
"44": 0.74115409,
"63": 0.029345814
},
"appliedTotal": 160.86907051270003,
"externalId": "2023",
"id": "122023",
"proTeamId": 0,
"scoringPeriodId": 0,
"seasonId": 2023,
"statSourceId": 1,
"statSplitTypeId": 2,
"stats": {
"23": 2.988330708,
"24": 7.513780767,
"25": 0.164859587,
"26": 0.008481302,
"27": 1.0,
"35": 0.005491231,
"36": 0.003843861,
"37": 1.24341E-4,
"38": 4.24327E-6,
"39": 2.51437391,
"40": 0.536698626,
"42": 1036.08106,
"43": 9.410574654,
"44": 0.370577045,
"45": 0.18871946,
"46": 0.123328167,
"47": 207.0,
"48": 103.0,
"49": 51.0,
"50": 41.0,
"51": 20.0,
"53": 89.55446972,
"54": 17.0,
"55": 8.0,
"56": 3.576782082,
"57": 0.110622126,
"58": 123.1237595,
"60": 11.56928363,
"61": 74.00579002,
"62": 0.379058348,
"63": 0.004890969,
"66": 0.035894532,
"67": 1.075689424,
"68": 1.111583956,
"70": 0.016511485,
"71": 0.602386078,
"72": 0.618897562,
"73": 0.618897562,
"210": 14.0,
"212": 2.264503458,
"213": 51.8847794
}
},
{
"appliedAverage": 12.13529411764706,
"appliedStats": {
"68": -1.0,
"72": -1.0,
"24": 0.5,
"42": 133.8,
"43": 72.0,
"44": 2.0
},
"appliedTotal": 206.3,
"externalId": "2022",
"id": "002022",
"proTeamId": 0,
"scoringPeriodId": 0,
"seasonId": 2022,
"statSourceId": 0,
"statSplitTypeId": 0,
"stats": {
"23": 2.0,
"24": 5.0,
"39": 2.5,
"40": 0.29411765,
"41": 110.0,
"42": 1338.0,
"43": 12.0,
"44": 1.0,
"47": 262.0,
"48": 126.0,
"49": 58.0,
"50": 46.0,
"51": 20.0,
"52": 6.0,
"53": 110.0,
"54": 15.0,
"55": 2.0,
"56": 6.0,
"58": 152.0,
"59": 648.0,
"60": 12.16363636,
"61": 78.70588235,
"67": 1.0,
"68": 1.0,
"71": 1.0,
"72": 1.0,
"73": 1.0,
"108": 2.0,
"109": 2.0,
"155": 14.0,
"156": 3.0,
"158": 74.0,
"183": 8.0,
"184": 2.0,
"186": 2.0,
"210": 17.0,
"213": 75.0
}
},
{
"appliedAverage": 11.824199424285714,
"appliedStats": {
"68": -1.176153911,
"72": -0.654538485,
"24": 1.358639976,
"25": 2.410928928,
"42": 107.0965893,
"26": 0.043933748,
"43": 55.565732280000006,
"44": 0.862609642,
"63": 0.031050462
},
"appliedTotal": 165.53879194,
"externalId": "2023",
"id": "102023",
"proTeamId": 0,
"scoringPeriodId": 0,
"seasonId": 2023,
"statSourceId": 1,
"statSplitTypeId": 0,
"stats": {
"23": 3.419791636,
"24": 13.58639976,
"25": 0.401821488,
"26": 0.021966874,
"27": 2.0,
"28": 1.0,
"35": 0.00628401,
"36": 0.004398807,
"37": 4.10219E-4,
"38": 1.39992E-5,
"39": 3.972873557,
"40": 0.962369983,
"42": 1070.965893,
"43": 9.26095538,
"44": 0.431304821,
"45": 0.211463495,
"46": 0.138191394,
"47": 214.0,
"48": 107.0,
"49": 53.0,
"50": 42.0,
"51": 21.0,
"53": 94.49865715,
"54": 18.0,
"55": 9.0,
"56": 3.252048847,
"57": 0.10057883,
"58": 128.0626205,
"60": 11.33313345,
"61": 75.86008407,
"62": 0.453271695,
"63": 0.005175077,
"66": 0.041077053,
"67": 1.135076858,
"68": 1.176153911,
"70": 0.018895444,
"71": 0.635643041,
"72": 0.654538485,
"73": 0.654538485,
"210": 14.11764706,
"212": 2.916179038,
"213": 53.77726794
}
},
{
"appliedAverage": 8.774414761143749,
"appliedStats": {
"68": -0.91224375,
"72": -0.509012438,
"24": 0.7134166963,
"25": 1.4354572079999999,
"42": 97.30215108,
"26": 0.01947259,
"43": 41.81034978,
"44": 0.506961774,
"63": 0.024083238
},
"appliedTotal": 140.39063617829999,
"externalId": "2022",
"id": "102022",
"proTeamId": 0,
"scoringPeriodId": 0,
"seasonId": 2022,
"statSourceId": 1,
"statSplitTypeId": 0,
"stats": {
"23": 1.784783634,
"24": 7.134166963,
"25": 0.239242868,
"26": 0.009736295,
"27": 1.0,
"35": 0.003276317,
"36": 0.002293422,
"37": 7.95E-5,
"38": 2.71E-6,
"39": 3.997216708,
"40": 0.444252155,
"42": 973.0215108,
"43": 6.96839163,
"44": 0.253480887,
"45": 0.206009451,
"46": 0.134627177,
"47": 194.0,
"48": 97.0,
"49": 48.0,
"50": 38.0,
"51": 19.0,
"53": 86.50713219,
"54": 17.0,
"55": 8.0,
"56": 2.343468438,
"57": 0.072478405,
"58": 118.7592554,
"60": 11.24787617,
"61": 60.59108309,
"62": 0.263217182,
"63": 0.004013873,
"66": 0.018440621,
"67": 0.893803129,
"68": 0.91224375,
"70": 0.008482685,
"71": 0.500529753,
"72": 0.509012438,
"73": 0.509012438,
"210": 16.05882353
}
},
{
"appliedStats": {
"68": -0.07548465,
"72": -0.041979593,
"24": 0.0569742836,
"25": 0.083897556,
"42": 7.3469394900000005,
"26": 0.00142154,
"43": 4.693743942,
"44": 0.061347176,
"63": 0.001992
},
"appliedTotal": 12.1288517446,
"externalId": "20233",
"id": "1120233",
"proTeamId": 0,
"scoringPeriodId": 3,
"seasonId": 2023,
"statSourceId": 1,
"statSplitTypeId": 1,
"stats": {
"23": 0.242941915,
"24": 0.569742836,
"25": 0.013982926,
"26": 7.1077E-4,
"35": 4.46534E-4,
"36": 3.12573E-4,
"37": 1.0E-5,
"38": 3.42E-7,
"39": 2.345181297,
"40": 0.569742836,
"42": 73.4693949,
"43": 0.782290657,
"44": 0.030673588,
"45": 0.015333527,
"46": 0.01002046,
"47": 14.0,
"48": 7.0,
"49": 3.0,
"50": 2.0,
"51": 1.0,
"53": 6.041388568,
"54": 1.0,
"56": 0.251401146,
"57": 0.00778,
"58": 8.438543881,
"60": 12.16101134,
"61": 73.4693949,
"62": 0.031384358,
"63": 3.32E-4,
"66": 0.002918113,
"67": 0.072566538,
"68": 0.07548465,
"70": 0.001342332,
"71": 0.040637261,
"72": 0.041979593,
"73": 0.041979593,
"210": 1.0,
"212": 0.166303092,
"213": 3.655290271
}
},
{
"appliedStats": {
"42": 6.9,
"43": 6.0
},
"appliedTotal": 12.9,
"externalId": "401547438",
"id": "01401547438",
"proTeamId": 12,
"scoringPeriodId": 3,
"seasonId": 2023,
"statSourceId": 0,
"statSplitTypeId": 1,
"stats": {
"41": 7.0,
"42": 69.0,
"43": 1.0,
"47": 13.0,
"48": 6.0,
"49": 3.0,
"50": 2.0,
"51": 1.0,
"53": 7.0,
"54": 1.0,
"58": 8.0,
"59": 21.0,
"60": 9.857,
"61": 69.0,
"155": 1.0,
"158": 6.0,
"183": 1.0,
"210": 1.0,
"213": 4.0
}
},
{
"appliedStats": {
"68": -0.078420659,
"72": -0.043651875,
"24": 0.0518019616,
"25": 0.05828664,
"42": 7.198392986000001,
"26": 0.001008234,
"43": 3.382483302,
"44": 0.044778604,
"63": 0.00207
},
"appliedTotal": 10.6167491936,
"externalId": "20234",
"id": "1120234",
"proTeamId": 0,
"scoringPeriodId": 4,
"seasonId": 2023,
"statSourceId": 1,
"statSplitTypeId": 1,
"stats": {
"23": 0.219533387,
"24": 0.518019616,
"25": 0.00971444,
"26": 5.04117E-4,
"35": 4.03421E-4,
"36": 2.82395E-4,
"37": 7.94E-6,
"38": 2.71E-7,
"39": 2.359639339,
"40": 0.518019616,
"42": 71.98392986,
"43": 0.563747217,
"44": 0.022389302,
"45": 0.012684494,
"46": 0.008289317,
"47": 14.0,
"48": 7.0,
"49": 3.0,
"50": 2.0,
"51": 1.0,
"53": 6.3092289,
"54": 1.0,
"56": 0.240265762,
"57": 0.00743,
"58": 8.674229038,
"60": 11.40930706,
"61": 71.98392986,
"62": 0.022893419,
"63": 3.45E-4,
"66": 0.00263694,
"67": 0.075783719,
"68": 0.078420659,
"70": 0.001212992,
"71": 0.042438883,
"72": 0.043651875,
"73": 0.043651875,
"210": 1.0,
"212": 0.159952334,
"213": 3.586010794
}
}
],
"universeId": 1
},
"ratings": {
"0": {
"positionalRanking": 4,
"totalRanking": 150,
"totalRating": 21.5
}
},
"rosterLocked": false,
"status": "ONTEAM",
"tradeLocked": false
},
"status": "NORMAL"
},
// Other roster entries
...
],
"tradeReservedEntries": 0
}
},
// All other teams
...
]
}
mLiveScoring¶
All this view does is contain a matchupPeriodId id for each match. Basically you'd just want to pair it with mScoreBoard
mLiveScoring json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"schedule": [
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 1
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 2
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 3
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 4
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 5
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 6
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 7
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 8
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 9
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 10
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 11
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 12
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 13
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
},
{
"matchupPeriodId": 14
}
],
"scoringPeriodId": 4,
"seasonId": 2023,
"segmentId": 0,
"status": {
"activatedDate": 1690375312281,
"createdAsLeagueType": 0,
"currentLeagueType": 0,
"currentMatchupPeriod": 4,
"finalScoringPeriod": 17,
"firstScoringPeriod": 1,
"isActive": true,
"isExpired": false,
"isFull": true,
"isPlayoffMatchupEdited": true,
"isToBeDeleted": false,
"isViewable": true,
"isWaiverOrderEdited": false,
"latestScoringPeriod": 4,
"previousSeasons": [
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022
],
"standingsUpdateDate": 1695714108553,
"teamsJoined": 16,
"transactionScoringPeriod": 4,
"waiverLastExecutionDate": 1695714107284,
"waiverProcessStatus": {
"2023-09-05T07:31:30.748+0000": 3,
"2023-09-13T08:41:11.851+0000": 7,
"2023-09-14T07:43:12.340+0000": 1,
"2023-09-20T07:40:58.921+0000": 9
}
}
}
mNav¶
This view really doesn't add much other than isLeagueCreator and isLeagueManager to our `members array.
modular¶
Reduces the league info.
mBoxScore¶
No different than without the view parameter
mMatchupScore¶
mMatchupScore mainly deals with the schedule array, so let's break that down.
We previously saw the structure of the schedule in mStandings. We now get an id value for the match, a playoffTierType, and a winner designation. The total score is also broken down in a pointsBySocringPeriod object which has a score for each scoring period. This would be useful for playoff matches that involve 2 week scoring periods.
We also get a Roster object called rosterForCurrentScoringPeriod if the scoring period is the current scoring period. This Roster is a boiled down view of what would be shown in mRoster, only showing us this weeks projected stats. Note that although future matches are shown, the Rosters are not included for the future matches. Note that this view returns 21,573 lines of code for me.
mMatchupScore json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"gameId": 1,
"id": 695660,
"schedule": [
{
"away": {
"adjustment": 0.0,
"cumulativeScore": {
"losses": 0,
"statBySlot": null,
"ties": 0,
"wins": 0
},
"pointsByScoringPeriod": {
"1": 48.06
},
"teamId": 3,
"tiebreak": 0.0,
"totalPoints": 48.06
},
"home": {
"adjustment": 0.0,
"cumulativeScore": {
"losses": 0,
"statBySlot": null,
"ties": 0,
"wins": 0
},
"pointsByScoringPeriod": {
"1": 91.05
},
"teamId": 1,
"tiebreak": 0.0,
"totalPoints": 91.05
},
"id": 1,
"matchupPeriodId": 1,
"playoffTierType": "NONE",
"winner": "HOME"
},
... // continues like this for previous matches
{
"away": { ...
},
"home": {
"adjustment": 0.0,
"cumulativeScore": {
"losses": 0,
"statBySlot": null,
"ties": 0,
"wins": 0
},
"rosterForCurrentScoringPeriod": {
"appliedStatTotal": 0.0,
"entries": [
{
"lineupSlotId": 4,
"playerPoolEntry": {
"player": {
"stats": [
{
"appliedStats": {
"68": -0.114782457,
"72": -0.064278176,
"42": 8.449198075,
"43": 1.7520858780000002,
"44": 0.028024874,
"63": 0.00303
},
"appliedTotal": 10.053278194,
"proTeamId": 0,
"scoringPeriodId": 4,
"seasonId": 2023,
"statSourceId": 1,
"statSplitTypeId": 1,
"stats": {
"42": 84.49198075,
"43": 0.292014313,
"44": 0.014012437,
"45": 0.016632843,
"46": 0.010869563,
"47": 16.0,
"48": 8.0,
"49": 4.0,
"50": 3.0,
"51": 1.0,
"53": 5.739122871,
"54": 1.0,
"56": 0.333424577,
"57": 0.0103,
"58": 9.50243504,
"60": 14.72210696,
"61": 84.49198075,
"62": 0.014012437,
"63": 5.05E-4,
"67": 0.114782457,
"68": 0.114782457,
"71": 0.064278176,
"72": 0.064278176,
"73": 0.064278176,
"210": 1.0,
"213": 3.689871996
},
"variance": {
"23": 0.309561125,
"24": 2.961189065,
"25": 0.016224972,
"26": 0.197283324,
"35": 0.07,
"36": 0.06,
"42": 29.43187548,
"43": 0.427792632,
"44": 0.27543558,
"45": 0.22,
"46": 0.18,
"53": 1.80050828,
"58": 3.45134245,
"63": 0.001,
"68": 0.323380833,
"72": 0.323380833
}
}
]
}
}
},
... // rest of players on roster
]
},
"rosterForMatchupPeriodDelayed": {
"entries": []
},
"teamId": 16,
"tiebreak": 0.0,
"totalPoints": 0.0,
"totalPointsLive": 0.0
},
"id": 25,
"matchupPeriodId": 4,
"playoffTierType": "NONE",
"winner": "UNDECIDED"
},
... // All other matches this week with player projections
{
"away": {
"adjustment": 0.0,
"teamId": 3,
"tiebreak": 0.0,
"totalPoints": 0.0
},
"home": {
"adjustment": 0.0,
"teamId": 18,
"tiebreak": 0.0,
"totalPoints": 0.0
},
"id": 33,
"matchupPeriodId": 5,
"playoffTierType": "NONE",
"winner": "UNDECIDED"
},
... // all other future mathces
]
}
mScoreboard¶
Much like mMatchupScore, mScoreboard also deals with the schedule. However, this time we do not have a null value for scoreBySlot within the cumulativeScore object the way we did for mMatchupSocre. Instead we have a Statline object showing the to values for each stat, i.e. Rushing TDs, Rushing Yards etc. We also get the projected stats for players for the current week with some additional details like the players fullName so that's convenient to see. We also see totalPointsLive and totalProjectedPointsLive for the current scoring period.
Info
If you want to see the rosterForCurrentScoringPeriod for previous weeks you need to explicity set scoringPeriodId as a GET parameter, with the scoring period as the value.
Alternatively, you can also set the x-fantasy-filter header to {"schedule":{"filterMatchupPeriodIds":{"value":[1]}}} where 1 is the scoring period.
Total Projected Points Live
Probably the best part is that we get totalPointsLive and totalProjectedPointsLive for the current scoringPeriodId
mScoreboard json view
{
"draftDetail": {
"drafted": true,
"inProgress": false
},
"id": 695660,
"schedule": [
{
"away": {
"cumulativeScore": {
"losses": 0,
"scoreByStat": {
"128": {
"ineligible": false,
"rank": 0.0,
"result": null,
"score": 0.0
},
"129": {
"ineligible": false,
"rank": 0.0,
"result": null,
"score": 0.0
},
"130": {
"ineligible": false,
"rank": 0.0,
"result": null,
"score": 0.0
},
"3": {
"ineligible": false,
"rank": 0.0,
"result": null,
"score": 229.0
},
... // all other stat Ids and their total for the match
},
"statBySlot": null,
"ties": 0,
"wins": 0
},
"teamId": 3,
"tiebreak": 0.0,
"totalPoints": 48.06
},
"home": {
...
}
"id": 1,
"winner": "HOME"
},
... // similar for previous weeks
{
"home": {
"cumulativeScore": {
"losses": 0,
"scoreByStat": {
"128": {
"ineligible": false,
"rank": 0.0,
"result": null,
"score": 0.0
},
...
},
"statBySlot": null,
"ties": 0,
"wins": 0
},
"rosterForCurrentScoringPeriod": {
"entries": [
{
"injuryStatus": "NORMAL",
"lineupSlotId": 4,
"playerId": 4361370,
"playerPoolEntry": {
"appliedStatTotal": 0.0,
"id": 4361370,
"onTeamId": 16,
"player": {
"active": true,
"defaultPositionId": 3,
"eligibleSlots": [
3,
4,
5,
23,
7,
20,
21
],
"firstName": "Chris",
"fullName": "Chris Olave",
"id": 4361370,
"injured": false,
"injuryStatus": "ACTIVE",
"jersey": "12",
"lastName": "Olave",
"proTeamId": 18,
"stats": [
{
"appliedStats": {
"68": -0.114782457,
"72": -0.064278176,
"42": 8.449198075,
"43": 1.7520858780000002,
"44": 0.028024874,
"63": 0.00303
},
"appliedTotal": 10.053278194,
"appliedTotalCeiling": 15.473331027999999,
"externalId": "20234",
"id": "1120234",
"lastUpdateInfo": {},
"proTeamId": 0,
"scoringPeriodId": 4,
"seasonId": 2023,
"statSourceId": 1,
"statSplitTypeId": 1,
"stats": {
"42": 84.49198075,
"43": 0.292014313,
"44": 0.014012437,
"45": 0.016632843,
"46": 0.010869563,
"47": 16.0,
"48": 8.0,
"49": 4.0,
"50": 3.0,
"51": 1.0,
"53": 5.739122871,
"54": 1.0,
"56": 0.333424577,
"57": 0.0103,
"58": 9.50243504,
"60": 14.72210696,
"61": 84.49198075,
"62": 0.014012437,
"63": 5.05E-4,
"67": 0.114782457,
"68": 0.114782457,
"71": 0.064278176,
"72": 0.064278176,
"73": 0.064278176,
"210": 1.0,
"213": 3.689871996
},
"variance": {
"23": 0.309561125,
"24": 2.961189065,
"25": 0.016224972,
"26": 0.197283324,
"35": 0.07,
"36": 0.06,
"42": 29.43187548,
"43": 0.427792632,
"44": 0.27543558,
"45": 0.22,
"46": 0.18,
"53": 1.80050828,
"58": 3.45134245,
"63": 0.001,
"68": 0.323380833,
"72": 0.323380833
}
}
],
"universeId": 2
},
"status": "ONTEAM"
},
"status": "NORMAL"
},
]
},
"rosterForMatchupPeriod": {
"entries": []
},
"teamId": 16,
"tiebreak": 0.0,
"totalPoints": 0.0,
"totalPointsLive": 0.0,
"totalProjectedPointsLive": 92.4308868695
},
"id": 25,
"winner": "UNDECIDED"
},
{
"away": {
"teamId": 10,
"tiebreak": 0.0,
"totalPoints": 0.0
},
"home": {
"teamId": 4,
"tiebreak": 0.0,
"totalPoints": 0.0
},
"id": 110,
"winner": "UNDECIDED"
},
... // other future weeks
]
}
Warning
This view does not provide a matchupPeriodId but just the match id. However, that is literally all that mLiveScoring provides, so you might as well group those together.
mMatchup¶
mMatchup is effectively the combination of mMatchupScore, mScoreBoard, and a somewhat reduced view of mRoster. It returns an absolute monstor of a json view: 213,565 lines. Obviously the teams array of Rosters that gets returned won't have some of the details that mRoster provides such as the previous years stats and projection.