{"referee":{"id":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","officialId":"2004"},"queryMode":"All Roles","assignmentCounts":{"total":9,"byRole":{"Umpire":3,"Referee":2,"Crew Chief":2,"Alternate":2}},"recentAssignmentsRaw":[{"gameId":"0042500313","gameDate":"2026-05-22","matchup":"OKC @ SAS","role":"Umpire","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-27T14:23:29Z","updatedAt":"2026-05-27T14:23:29Z"},{"gameId":"0042500203","gameDate":"2026-05-09","matchup":"DET @ CLE","role":"Umpire","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-27T14:21:52Z","updatedAt":"2026-05-27T14:21:52Z"},{"gameId":"0042500211","gameDate":"2026-05-04","matchup":"PHI @ NYK","role":"Referee","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T00:58:16Z","updatedAt":"2026-05-07T00:58:16Z"},{"gameId":"0042500166","gameDate":"2026-04-30","matchup":"DEN @ MIN","role":"Referee","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T00:59:06Z","updatedAt":"2026-05-07T00:59:06Z"},{"gameId":"0042500125","gameDate":"2026-04-28","matchup":"ATL @ NYK","role":"Alternate","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:41:21Z","updatedAt":"2026-05-07T01:41:21Z"},{"gameId":"0042500133","gameDate":"2026-04-23","matchup":"CLE @ TOR","role":"Umpire","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:43:42Z","updatedAt":"2026-05-07T01:43:42Z"},{"gameId":"0042500172","gameDate":"2026-04-21","matchup":"HOU @ LAL","role":"Crew Chief","source":"espn","sourceUrl":null,"createdAt":"2026-05-07T01:45:09Z","updatedAt":"2026-05-07T01:45:09Z"},{"gameId":"0042500151","gameDate":"2026-04-19","matchup":"POR @ SAS","role":"Alternate","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:46:45Z","updatedAt":"2026-05-07T01:46:45Z"},{"gameId":"0022501191","gameDate":"2026-04-12","matchup":"MIL @ PHI","role":"Crew Chief","source":"espn","sourceUrl":null,"createdAt":"2026-05-07T01:49:09Z","updatedAt":"2026-05-07T01:49:09Z"}],"recentGamesReturnedByPage":[{"gameId":"0042500313","date":"2026-05-22","matchup":"OKC @ SAS","awayTeamAbbr":"OKC","homeTeamAbbr":"SAS","awayScore":123,"homeScore":108,"selectedRefereeRole":"Umpire","crew":[{"refereeId":32,"refereeKey":"justin-van-duyne","name":"Justin Van Duyne","jerseyNumber":"64","displayName":"Justin Van Duyne #64","role":"Crew Chief","officialId":"203593","profileUrl":null},{"refereeId":43,"refereeKey":"brent-barnaky","name":"Brent Barnaky","jerseyNumber":"36","displayName":"Brent Barnaky #36","role":"Referee","officialId":"201638","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Umpire","officialId":"2004","profileUrl":null},{"refereeId":40,"refereeKey":"marc-davis","name":"Marc Davis","jerseyNumber":"8","displayName":"Marc Davis #8","role":"Alternate","officialId":"1830","profileUrl":null}],"metrics":{"totalFouls":null,"awayFouls":null,"homeFouls":null,"foulDifferential":null,"totalFta":null,"awayFta":null,"homeFta":null,"ftaDifferential":null,"technicalFouls":1,"offensiveFouls":9,"shootingFouls":23,"looseBallFouls":4,"flagrantFouls":1,"clutchFouls":0,"clutchFta":null,"awayFtr":null,"homeFtr":null,"foulsPer100":null}},{"gameId":"0042500203","date":"2026-05-09","matchup":"DET @ CLE","awayTeamAbbr":"DET","homeTeamAbbr":"CLE","awayScore":109,"homeScore":116,"selectedRefereeRole":"Umpire","crew":[{"refereeId":5,"refereeKey":"scott-foster","name":"Scott Foster","jerseyNumber":"48","displayName":"Scott Foster #48","role":"Crew Chief","officialId":"1162","profileUrl":null},{"refereeId":22,"refereeKey":"pat-fraher","name":"Pat Fraher","jerseyNumber":"26","displayName":"Pat Fraher #26","role":"Referee","officialId":"2003","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Umpire","officialId":"2004","profileUrl":null},{"refereeId":14,"refereeKey":"tre-maddox","name":"Tre Maddox","jerseyNumber":"23","displayName":"Tre Maddox #23","role":"Alternate","officialId":"202027","profileUrl":null}],"metrics":{"totalFouls":42,"awayFouls":25,"homeFouls":17,"foulDifferential":-8,"totalFta":50,"awayFta":22,"homeFta":28,"ftaDifferential":6,"technicalFouls":1,"offensiveFouls":14,"shootingFouls":23,"looseBallFouls":3,"flagrantFouls":0,"clutchFouls":3,"clutchFta":null,"awayFtr":0.242,"homeFtr":0.378,"foulsPer100":null}},{"gameId":"0042500211","date":"2026-05-04","matchup":"PHI @ NYK","awayTeamAbbr":"PHI","homeTeamAbbr":"NYK","awayScore":98,"homeScore":137,"selectedRefereeRole":"Referee","crew":[{"refereeId":5,"refereeKey":"scott-foster","name":"Scott Foster","jerseyNumber":"48","displayName":"Scott Foster #48","role":"Crew Chief","officialId":"1162","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Referee","officialId":"2004","profileUrl":null},{"refereeId":3,"refereeKey":"eric-dalen","name":"Eric Dalen","jerseyNumber":"37","displayName":"Eric Dalen #37","role":"Umpire","officialId":"200833","profileUrl":null},{"refereeId":8,"refereeKey":"kevin-cutler","name":"Kevin Cutler","jerseyNumber":"34","displayName":"Kevin Cutler #34","role":"Alternate","officialId":"201246","profileUrl":null}],"metrics":{"totalFouls":49,"awayFouls":24,"homeFouls":25,"foulDifferential":1,"totalFta":51,"awayFta":34,"homeFta":17,"ftaDifferential":-17,"technicalFouls":0,"offensiveFouls":5,"shootingFouls":17,"looseBallFouls":7,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.466,"homeFtr":0.202,"foulsPer100":null}},{"gameId":"0042500166","date":"2026-04-30","matchup":"DEN @ MIN","awayTeamAbbr":"DEN","homeTeamAbbr":"MIN","awayScore":98,"homeScore":110,"selectedRefereeRole":"Referee","crew":[{"refereeId":11,"refereeKey":"jb-derosa","name":"JB DeRosa","jerseyNumber":"14","displayName":"JB DeRosa #14","role":"Crew Chief","officialId":"1155","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Referee","officialId":"2004","profileUrl":null},{"refereeId":2,"refereeKey":"brian-forte","name":"Brian Forte","jerseyNumber":"45","displayName":"Brian Forte #45","role":"Umpire","officialId":"101283","profileUrl":null},{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Alternate","officialId":"201639","profileUrl":null}],"metrics":{"totalFouls":47,"awayFouls":26,"homeFouls":21,"foulDifferential":-5,"totalFta":49,"awayFta":25,"homeFta":24,"ftaDifferential":-1,"technicalFouls":2,"offensiveFouls":8,"shootingFouls":19,"looseBallFouls":4,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.333,"homeFtr":0.255,"foulsPer100":null}},{"gameId":"0042500125","date":"2026-04-28","matchup":"ATL @ NYK","awayTeamAbbr":"ATL","homeTeamAbbr":"NYK","awayScore":97,"homeScore":126,"selectedRefereeRole":"Alternate","crew":[{"refereeId":54,"refereeKey":"andy-nagy","name":"Andy Nagy","jerseyNumber":"83","displayName":"Andy Nagy #83","role":"Crew Chief","officialId":"1627534","profileUrl":null},{"refereeId":32,"refereeKey":"justin-van-duyne","name":"Justin Van Duyne","jerseyNumber":"64","displayName":"Justin Van Duyne #64","role":"Referee","officialId":"203593","profileUrl":null},{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Umpire","officialId":"201639","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Alternate","officialId":"2004","profileUrl":null}],"metrics":{"totalFouls":49,"awayFouls":26,"homeFouls":23,"foulDifferential":-3,"totalFta":51,"awayFta":17,"homeFta":34,"ftaDifferential":17,"technicalFouls":0,"offensiveFouls":9,"shootingFouls":19,"looseBallFouls":7,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.205,"homeFtr":0.43,"foulsPer100":null}},{"gameId":"0042500133","date":"2026-04-23","matchup":"CLE @ TOR","awayTeamAbbr":"CLE","homeTeamAbbr":"TOR","awayScore":104,"homeScore":126,"selectedRefereeRole":"Umpire","crew":[{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Crew Chief","officialId":"201639","profileUrl":null},{"refereeId":30,"refereeKey":"mark-lindsay","name":"Mark Lindsay","jerseyNumber":"29","displayName":"Mark Lindsay #29","role":"Referee","officialId":"200834","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Umpire","officialId":"2004","profileUrl":null},{"refereeId":22,"refereeKey":"pat-fraher","name":"Pat Fraher","jerseyNumber":"26","displayName":"Pat Fraher #26","role":"Alternate","officialId":"2003","profileUrl":null}],"metrics":{"totalFouls":36,"awayFouls":15,"homeFouls":21,"foulDifferential":6,"totalFta":44,"awayFta":23,"homeFta":21,"ftaDifferential":-2,"technicalFouls":0,"offensiveFouls":6,"shootingFouls":22,"looseBallFouls":1,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.284,"homeFtr":0.241,"foulsPer100":null}},{"gameId":"0042500172","date":"2026-04-21","matchup":"HOU @ LAL","awayTeamAbbr":"HOU","homeTeamAbbr":"LAL","awayScore":94,"homeScore":101,"selectedRefereeRole":"Crew Chief","crew":[{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Crew Chief","officialId":"2004","profileUrl":null},{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Referee","officialId":"201639","profileUrl":null},{"refereeId":32,"refereeKey":"justin-van-duyne","name":"Justin Van Duyne","jerseyNumber":"64","displayName":"Justin Van Duyne #64","role":"Umpire","officialId":"203593","profileUrl":null}],"metrics":{"totalFouls":null,"awayFouls":null,"homeFouls":null,"foulDifferential":null,"totalFta":null,"awayFta":null,"homeFta":null,"ftaDifferential":null,"technicalFouls":0,"offensiveFouls":4,"shootingFouls":17,"looseBallFouls":6,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":null,"homeFtr":null,"foulsPer100":null}},{"gameId":"0042500151","date":"2026-04-19","matchup":"POR @ SAS","awayTeamAbbr":"POR","homeTeamAbbr":"SAS","awayScore":98,"homeScore":111,"selectedRefereeRole":"Alternate","crew":[{"refereeId":85,"refereeKey":"aaron-smith","name":"Aaron Smith","jerseyNumber":"51","displayName":"Aaron Smith #51","role":"Crew Chief","officialId":"1626302","profileUrl":null},{"refereeId":11,"refereeKey":"jb-derosa","name":"JB DeRosa","jerseyNumber":"14","displayName":"JB DeRosa #14","role":"Referee","officialId":"1155","profileUrl":null},{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Umpire","officialId":"201639","profileUrl":null},{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Alternate","officialId":"2004","profileUrl":null}],"metrics":{"totalFouls":null,"awayFouls":null,"homeFouls":null,"foulDifferential":null,"totalFta":null,"awayFta":null,"homeFta":null,"ftaDifferential":null,"technicalFouls":1,"offensiveFouls":5,"shootingFouls":14,"looseBallFouls":5,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":null,"homeFtr":null,"foulsPer100":null}},{"gameId":"0022501191","date":"2026-04-12","matchup":"MIL @ PHI","awayTeamAbbr":"MIL","homeTeamAbbr":"PHI","awayScore":106,"homeScore":126,"selectedRefereeRole":"Crew Chief","crew":[{"refereeId":6,"refereeKey":"courtney-kirkland","name":"Courtney Kirkland","jerseyNumber":"61","displayName":"Courtney Kirkland #61","role":"Crew Chief","officialId":"2004","profileUrl":null},{"refereeId":95,"refereeKey":"dedric-taylor","name":"Dedric Taylor","jerseyNumber":"21","displayName":"Dedric Taylor #21","role":"Referee","officialId":"203592","profileUrl":null},{"refereeId":10,"refereeKey":"sean-corbin","name":"Sean Corbin","jerseyNumber":"33","displayName":"Sean Corbin #33","role":"Umpire","officialId":"1151","profileUrl":null}],"metrics":{"totalFouls":34,"awayFouls":15,"homeFouls":19,"foulDifferential":4,"totalFta":43,"awayFta":22,"homeFta":21,"ftaDifferential":-1,"technicalFouls":null,"offensiveFouls":null,"shootingFouls":null,"looseBallFouls":null,"flagrantFouls":null,"clutchFouls":null,"clutchFta":null,"awayFtr":0.244,"homeFtr":0.231,"foulsPer100":null}}],"tables":{"totalGames":244,"completedGames":235,"gamesWithAnyAssignments":99,"completedGamesWithoutAssignments":136},"possibleDuplicateRefereeRows":[],"roleBreakdownInSample":{"Umpire":3,"Referee":2,"Alternate":2,"Crew Chief":2},"diagnosis":{"status":"INSUFFICIENT_ASSIGNMENTS","reason":"Only 9 assignment row(s) exist for this referee. 136 completed games in DB have no referee assignments at all. Run POST /api/referees/sync-assignments to backfill historical games."}}