{"referee":{"id":97,"refereeKey":"mousa-dagher","name":"Mousa Dagher","jerseyNumber":"28","officialId":"1628159"},"queryMode":"All Roles","assignmentCounts":{"total":4,"byRole":{"Alternate":3,"Crew Chief":1}},"recentAssignmentsRaw":[{"gameId":"0042500114","gameDate":"2026-04-26","matchup":"BOS @ PHI","role":"Crew Chief","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:42:07Z","updatedAt":"2026-05-07T01:42:07Z"},{"gameId":"0042500113","gameDate":"2026-04-24","matchup":"BOS @ PHI","role":"Alternate","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:43:06Z","updatedAt":"2026-05-07T01:43:06Z"},{"gameId":"0042500122","gameDate":"2026-04-20","matchup":"ATL @ NYK","role":"Alternate","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:45:42Z","updatedAt":"2026-05-07T01:45:42Z"},{"gameId":"0042500121","gameDate":"2026-04-18","matchup":"ATL @ NYK","role":"Alternate","source":"nba_api_v2","sourceUrl":null,"createdAt":"2026-05-07T01:47:12Z","updatedAt":"2026-05-07T01:47:12Z"}],"recentGamesReturnedByPage":[{"gameId":"0042500114","date":"2026-04-26","matchup":"BOS @ PHI","awayTeamAbbr":"BOS","homeTeamAbbr":"PHI","awayScore":128,"homeScore":96,"selectedRefereeRole":"Crew Chief","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":"0042500113","date":"2026-04-24","matchup":"BOS @ PHI","awayTeamAbbr":"BOS","homeTeamAbbr":"PHI","awayScore":108,"homeScore":100,"selectedRefereeRole":"Alternate","crew":[{"refereeId":46,"refereeKey":"john-goble","name":"John Goble","jerseyNumber":"10","displayName":"John Goble #10","role":"Crew Chief","officialId":"101284","profileUrl":null},{"refereeId":43,"refereeKey":"brent-barnaky","name":"Brent Barnaky","jerseyNumber":"36","displayName":"Brent Barnaky #36","role":"Referee","officialId":"201638","profileUrl":null},{"refereeId":54,"refereeKey":"andy-nagy","name":"Andy Nagy","jerseyNumber":"83","displayName":"Andy Nagy #83","role":"Umpire","officialId":"1627534","profileUrl":null},{"refereeId":97,"refereeKey":"mousa-dagher","name":"Mousa Dagher","jerseyNumber":"28","displayName":"Mousa Dagher #28","role":"Alternate","officialId":"1628159","profileUrl":null}],"metrics":{"totalFouls":39,"awayFouls":19,"homeFouls":20,"foulDifferential":1,"totalFta":33,"awayFta":17,"homeFta":16,"ftaDifferential":-1,"technicalFouls":1,"offensiveFouls":18,"shootingFouls":13,"looseBallFouls":4,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.21,"homeFtr":0.184,"foulsPer100":null}},{"gameId":"0042500122","date":"2026-04-20","matchup":"ATL @ NYK","awayTeamAbbr":"ATL","homeTeamAbbr":"NYK","awayScore":107,"homeScore":106,"selectedRefereeRole":"Alternate","crew":[{"refereeId":61,"refereeKey":"john-butler","name":"John Butler","jerseyNumber":"30","displayName":"John Butler #30","role":"Crew Chief","officialId":"1628951","profileUrl":null},{"refereeId":17,"refereeKey":"karl-lane","name":"Karl Lane","jerseyNumber":"77","displayName":"Karl Lane #77","role":"Referee","officialId":"202026","profileUrl":null},{"refereeId":16,"refereeKey":"zach-zarba","name":"Zach Zarba","jerseyNumber":"15","displayName":"Zach Zarba #15","role":"Umpire","officialId":"2534","profileUrl":null},{"refereeId":97,"refereeKey":"mousa-dagher","name":"Mousa Dagher","jerseyNumber":"28","displayName":"Mousa Dagher #28","role":"Alternate","officialId":"1628159","profileUrl":null}],"metrics":{"totalFouls":null,"awayFouls":null,"homeFouls":null,"foulDifferential":null,"totalFta":null,"awayFta":null,"homeFta":null,"ftaDifferential":null,"technicalFouls":2,"offensiveFouls":10,"shootingFouls":21,"looseBallFouls":5,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":null,"homeFtr":null,"foulsPer100":null}},{"gameId":"0042500121","date":"2026-04-18","matchup":"ATL @ NYK","awayTeamAbbr":"ATL","homeTeamAbbr":"NYK","awayScore":102,"homeScore":113,"selectedRefereeRole":"Alternate","crew":[{"refereeId":19,"refereeKey":"curtis-blair","name":"Curtis Blair","jerseyNumber":"74","displayName":"Curtis Blair #74","role":"Crew Chief","officialId":"200832","profileUrl":null},{"refereeId":46,"refereeKey":"john-goble","name":"John Goble","jerseyNumber":"10","displayName":"John Goble #10","role":"Referee","officialId":"101284","profileUrl":null},{"refereeId":42,"refereeKey":"ray-acosta","name":"Ray Acosta","jerseyNumber":"54","displayName":"Ray Acosta #54","role":"Umpire","officialId":"1626300","profileUrl":null},{"refereeId":97,"refereeKey":"mousa-dagher","name":"Mousa Dagher","jerseyNumber":"28","displayName":"Mousa Dagher #28","role":"Alternate","officialId":"1628159","profileUrl":null}],"metrics":{"totalFouls":45,"awayFouls":21,"homeFouls":24,"foulDifferential":3,"totalFta":49,"awayFta":19,"homeFta":30,"ftaDifferential":11,"technicalFouls":1,"offensiveFouls":6,"shootingFouls":17,"looseBallFouls":7,"flagrantFouls":0,"clutchFouls":0,"clutchFta":null,"awayFtr":0.218,"homeFtr":0.375,"foulsPer100":null}}],"tables":{"totalGames":244,"completedGames":235,"gamesWithAnyAssignments":99,"completedGamesWithoutAssignments":136},"possibleDuplicateRefereeRows":[],"roleBreakdownInSample":{"Crew Chief":1,"Alternate":3},"diagnosis":{"status":"INSUFFICIENT_ASSIGNMENTS","reason":"Only 4 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."}}