{"referee":{"id":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","officialId":"2530"},"queryMode":"All Roles","assignmentCounts":{"total":7,"byRole":{"Referee":3,"Crew Chief":2,"Umpire":1,"Alternate":1}},"recentAssignmentsRaw":[{"gameId":"0042500312","gameDate":"2026-05-20","matchup":"SAS @ OKC","role":"Umpire","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-27T14:23:26Z","updatedAt":"2026-05-27T14:23:26Z"},{"gameId":"0042500311","gameDate":"2026-05-18","matchup":"SAS @ OKC","role":"Crew Chief","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-19T01:22:07Z","updatedAt":"2026-05-19T01:22:07Z"},{"gameId":"0042500223","gameDate":"2026-05-09","matchup":"OKC @ LAL","role":"Referee","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-27T14:22:30Z","updatedAt":"2026-05-27T14:22:30Z"},{"gameId":"0042500114","gameDate":"2026-04-26","matchup":"BOS @ PHI","role":"Alternate","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:42:07Z","updatedAt":"2026-05-07T01:42:07Z"},{"gameId":"0042500102","gameDate":"2026-04-22","matchup":"ORL @ DET","role":"Referee","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:43:45Z","updatedAt":"2026-05-07T01:43:45Z"},{"gameId":"0042500171","gameDate":"2026-04-18","matchup":"HOU @ LAL","role":"Referee","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:47:23Z","updatedAt":"2026-05-07T01:47:23Z"},{"gameId":"0022501194","gameDate":"2026-04-12","matchup":"MEM @ HOU","role":"Crew Chief","source":"espn","sourceUrl":null,"createdAt":"2026-05-07T01:49:20Z","updatedAt":"2026-05-07T01:49:20Z"}],"recentGamesReturnedByPage":[{"gameId":"0042500312","date":"2026-05-20","matchup":"SAS @ OKC","awayTeamAbbr":"SAS","homeTeamAbbr":"OKC","awayScore":113,"homeScore":122,"selectedRefereeRole":"Umpire","crew":[{"refereeId":17,"refereeKey":"karl-lane","name":"Karl Lane","jerseyNumber":"77","displayName":"Karl Lane #77","role":"Crew Chief","officialId":"202026","profileUrl":null},{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Referee","officialId":"201639","profileUrl":null},{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Umpire","officialId":"2530","profileUrl":null},{"refereeId":1,"refereeKey":"tony-brothers","name":"Tony Brothers","jerseyNumber":"25","displayName":"Tony Brothers #25","role":"Alternate","officialId":"1146","profileUrl":null}],"metrics":{"totalFouls":null,"awayFouls":null,"homeFouls":null,"foulDifferential":null,"totalFta":null,"awayFta":null,"homeFta":null,"ftaDifferential":null,"technicalFouls":0,"offensiveFouls":7,"shootingFouls":20,"looseBallFouls":5,"flagrantFouls":0,"clutchFouls":2,"clutchFta":null,"awayFtr":null,"homeFtr":null,"foulsPer100":null}},{"gameId":"0042500311","date":"2026-05-18","matchup":"SAS @ OKC","awayTeamAbbr":"SAS","homeTeamAbbr":"OKC","awayScore":122,"homeScore":115,"selectedRefereeRole":"Crew Chief","crew":[{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Crew Chief","officialId":"2530","profileUrl":null},{"refereeId":16,"refereeKey":"zach-zarba","name":"Zach Zarba","jerseyNumber":"15","displayName":"Zach Zarba #15","role":"Referee","officialId":"2534","profileUrl":null},{"refereeId":46,"refereeKey":"john-goble","name":"John Goble","jerseyNumber":"10","displayName":"John Goble #10","role":"Umpire","officialId":"101284","profileUrl":null},{"refereeId":24,"refereeKey":"mitchell-ervin","name":"Mitchell Ervin","jerseyNumber":"27","displayName":"Mitchell Ervin #27","role":"Alternate","officialId":"203591","profileUrl":null}],"metrics":{"totalFouls":45,"awayFouls":19,"homeFouls":26,"foulDifferential":7,"totalFta":48,"awayFta":29,"homeFta":19,"ftaDifferential":-10,"technicalFouls":0,"offensiveFouls":6,"shootingFouls":22,"looseBallFouls":4,"flagrantFouls":0,"clutchFouls":8,"clutchFta":null,"awayFtr":0.302,"homeFtr":0.188,"foulsPer100":null}},{"gameId":"0042500223","date":"2026-05-09","matchup":"OKC @ LAL","awayTeamAbbr":"OKC","homeTeamAbbr":"LAL","awayScore":131,"homeScore":108,"selectedRefereeRole":"Referee","crew":[{"refereeId":9,"refereeKey":"james-capers","name":"James Capers","jerseyNumber":"19","displayName":"James Capers #19","role":"Crew Chief","officialId":"1148","profileUrl":null},{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Referee","officialId":"2530","profileUrl":null},{"refereeId":19,"refereeKey":"curtis-blair","name":"Curtis Blair","jerseyNumber":"74","displayName":"Curtis Blair #74","role":"Umpire","officialId":"200832","profileUrl":null}],"metrics":{"totalFouls":38,"awayFouls":22,"homeFouls":16,"foulDifferential":-6,"totalFta":35,"awayFta":10,"homeFta":25,"ftaDifferential":15,"technicalFouls":1,"offensiveFouls":8,"shootingFouls":18,"looseBallFouls":6,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.106,"homeFtr":0.309,"foulsPer100":null}},{"gameId":"0042500114","date":"2026-04-26","matchup":"BOS @ PHI","awayTeamAbbr":"BOS","homeTeamAbbr":"PHI","awayScore":128,"homeScore":96,"selectedRefereeRole":"Alternate","crew":[{"refereeId":97,"refereeKey":"mousa-dagher","name":"Mousa Dagher","jerseyNumber":"28","displayName":"Mousa Dagher #28","role":"Crew Chief","officialId":"1628159","profileUrl":null},{"refereeId":23,"refereeKey":"josh-tiven","name":"Josh Tiven","jerseyNumber":"58","displayName":"Josh Tiven #58","role":"Referee","officialId":"201639","profileUrl":null},{"refereeId":30,"refereeKey":"mark-lindsay","name":"Mark Lindsay","jerseyNumber":"29","displayName":"Mark Lindsay #29","role":"Umpire","officialId":"200834","profileUrl":null},{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Alternate","officialId":"2530","profileUrl":null}],"metrics":{"totalFouls":42,"awayFouls":21,"homeFouls":21,"foulDifferential":0,"totalFta":52,"awayFta":28,"homeFta":24,"ftaDifferential":-4,"technicalFouls":1,"offensiveFouls":10,"shootingFouls":23,"looseBallFouls":1,"flagrantFouls":1,"clutchFouls":0,"clutchFta":null,"awayFtr":0.322,"homeFtr":0.3,"foulsPer100":null}},{"gameId":"0042500102","date":"2026-04-22","matchup":"ORL @ DET","awayTeamAbbr":"ORL","homeTeamAbbr":"DET","awayScore":83,"homeScore":98,"selectedRefereeRole":"Referee","crew":[{"refereeId":9,"refereeKey":"james-capers","name":"James Capers","jerseyNumber":"19","displayName":"James Capers #19","role":"Crew Chief","officialId":"1148","profileUrl":null},{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Referee","officialId":"2530","profileUrl":null},{"refereeId":4,"refereeKey":"tyler-ford","name":"Tyler Ford","jerseyNumber":"39","displayName":"Tyler Ford #39","role":"Umpire","officialId":"204059","profileUrl":null},{"refereeId":42,"refereeKey":"ray-acosta","name":"Ray Acosta","jerseyNumber":"54","displayName":"Ray Acosta #54","role":"Alternate","officialId":"1626300","profileUrl":null}],"metrics":{"totalFouls":null,"awayFouls":null,"homeFouls":null,"foulDifferential":null,"totalFta":null,"awayFta":null,"homeFta":null,"ftaDifferential":null,"technicalFouls":2,"offensiveFouls":8,"shootingFouls":22,"looseBallFouls":1,"flagrantFouls":1,"clutchFouls":0,"clutchFta":null,"awayFtr":null,"homeFtr":null,"foulsPer100":null}},{"gameId":"0042500171","date":"2026-04-18","matchup":"HOU @ LAL","awayTeamAbbr":"HOU","homeTeamAbbr":"LAL","awayScore":98,"homeScore":107,"selectedRefereeRole":"Referee","crew":[{"refereeId":4,"refereeKey":"tyler-ford","name":"Tyler Ford","jerseyNumber":"39","displayName":"Tyler Ford #39","role":"Crew Chief","officialId":"204059","profileUrl":null},{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Referee","officialId":"2530","profileUrl":null},{"refereeId":9,"refereeKey":"james-capers","name":"James Capers","jerseyNumber":"19","displayName":"James Capers #19","role":"Umpire","officialId":"1148","profileUrl":null}],"metrics":{"totalFouls":47,"awayFouls":22,"homeFouls":25,"foulDifferential":3,"totalFta":51,"awayFta":25,"homeFta":26,"ftaDifferential":1,"technicalFouls":2,"offensiveFouls":2,"shootingFouls":18,"looseBallFouls":5,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.269,"homeFtr":0.394,"foulsPer100":null}},{"gameId":"0022501194","date":"2026-04-12","matchup":"MEM @ HOU","awayTeamAbbr":"MEM","homeTeamAbbr":"HOU","awayScore":101,"homeScore":132,"selectedRefereeRole":"Crew Chief","crew":[{"refereeId":100,"refereeKey":"ed-malloy","name":"Ed Malloy","jerseyNumber":"7","displayName":"Ed Malloy #7","role":"Crew Chief","officialId":"2530","profileUrl":null},{"refereeId":250,"refereeKey":"rodney-mott","name":"Rodney Mott","jerseyNumber":"","displayName":"Rodney Mott","role":"Referee","officialId":null,"profileUrl":null},{"refereeId":251,"refereeKey":"ashley-moyer-gleich","name":"Ashley Moyer-Gleich","jerseyNumber":"","displayName":"Ashley Moyer-Gleich","role":"Umpire","officialId":null,"profileUrl":null}],"metrics":{"totalFouls":34,"awayFouls":24,"homeFouls":10,"foulDifferential":-14,"totalFta":40,"awayFta":10,"homeFta":30,"ftaDifferential":20,"technicalFouls":null,"offensiveFouls":null,"shootingFouls":null,"looseBallFouls":null,"flagrantFouls":null,"clutchFouls":null,"clutchFta":null,"awayFtr":0.105,"homeFtr":0.286,"foulsPer100":null}}],"tables":{"totalGames":244,"completedGames":235,"gamesWithAnyAssignments":99,"completedGamesWithoutAssignments":136},"possibleDuplicateRefereeRows":[{"id":26,"referee_key":"gediminas-petraitis","name":"Gediminas Petraitis","jersey_number":"50","official_id":"204058","source":"nba_api_v2"},{"id":95,"referee_key":"dedric-taylor","name":"Dedric Taylor","jersey_number":"21","official_id":"203592","source":"espn"},{"id":255,"referee_key":"bill-kennedy","name":"Bill Kennedy","jersey_number":null,"official_id":null,"source":"espn"},{"id":257,"referee_key":"jenna-schroeder","name":"Jenna Schroeder","jersey_number":null,"official_id":null,"source":"espn"}],"roleBreakdownInSample":{"Umpire":1,"Crew Chief":2,"Referee":3,"Alternate":1},"diagnosis":{"status":"INSUFFICIENT_ASSIGNMENTS","reason":"Only 7 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."}}