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
team
information, and basicmember
information
- 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
StatLine
object 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.
Player
Everything 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
.
statSourceId
can have either0
meaningactual
or1
meaning projection.statSplitTypeId
can have0
which meansyear
,1
which meansweek
, or2
which 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 theRoster
for 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.