AGENT-READY API ENDPOINT
Jonathan Harris
GET /api/knowledge/player-jonathan-harris-674Q9G
cURL Request
curl -H "Accept: application/json" \ https://picklegravity.com/api/knowledge/player-jonathan-harris-674Q9G
Live API Response (JSON)
{
"version": "2.6.0",
"id": "player-jonathan-harris-674Q9G",
"type": "player",
"data": {
"dupr_id": "674Q9G",
"full_name": "Jonathan Harris",
"gender": "MALE",
"age": 42,
"location": "St. Peters, MO, US",
"profile_pic_url": null,
"ratings": {
"singles": 4.446,
"singles_reliability": 76,
"doubles": 4.4,
"doubles_reliability": 100
},
"career": {
"total_matches": 489,
"wins": 281,
"losses": 208,
"avg_points_won_pct": 53.4,
"avg_partner_dupr": 4.29,
"avg_opponent_dupr": 4.26,
"preferred_court": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
"stats": {
"sos": 4.731,
"clutch_index": 0,
"dpg": -5.13,
"home_club": {
"id": "club-champions-series-pickleball-formerly-national-pickleball-league-nplpickleball-com-5406280861",
"name": "Champions Series Pickleball (Formerly National Pickleball League) (nplpickleball.com) "
}
},
"playstyle": {
"power": 83,
"control": 93,
"agility": 93,
"spin": 93,
"stamina": 83,
"playstyle": "Precision Dink Strategist",
"description": "A master of soft placement, commanding the kitchen dink rallies with patience, consistency, and crosscourt angles."
},
"streaks": {
"current": 0,
"max": 2
},
"chemistry": {
"name": "Aiden Petterson",
"dupr_id": "30RZGX",
"rating": "4.76",
"matches": 6,
"winRate": 33,
"chemistryScore": 91,
"chemistryDescription": "Defensive alignment: Both players excel at soft resets and kitchen dinking."
},
"dedication_matrix": {
"total_matches": 61,
"active_days": 37,
"grid": [
{
"date": "2026-02-02",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-02-03",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-02-04",
"dayOfWeek": 3,
"count": 2
},
{
"date": "2026-02-05",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-02-06",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-02-07",
"dayOfWeek": 6,
"count": 2
},
{
"date": "2026-02-08",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-02-09",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-02-10",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-02-11",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-02-12",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-02-13",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-02-14",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-02-15",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-02-16",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-02-17",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-02-18",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-02-19",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-02-20",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-02-21",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-02-22",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-02-23",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-02-24",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-02-25",
"dayOfWeek": 3,
"count": 2
},
{
"date": "2026-02-26",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-02-27",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-02-28",
"dayOfWeek": 6,
"count": 2
},
{
"date": "2026-03-01",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-03-02",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-03-03",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-03-04",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-03-05",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-03-06",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-03-07",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-03-08",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-03-09",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-03-10",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-03-11",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-03-12",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-03-13",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-03-14",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-03-15",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-03-16",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-03-17",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-03-18",
"dayOfWeek": 3,
"count": 2
},
{
"date": "2026-03-19",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-03-20",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-03-21",
"dayOfWeek": 6,
"count": 2
},
{
"date": "2026-03-22",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-03-23",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-03-24",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-03-25",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-03-26",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-03-27",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-03-28",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-03-29",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-03-30",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-03-31",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-04-01",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-04-02",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-04-03",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-04-04",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-04-05",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-04-06",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-04-07",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-04-08",
"dayOfWeek": 3,
"count": 2
},
{
"date": "2026-04-09",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-04-10",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-04-11",
"dayOfWeek": 6,
"count": 2
},
{
"date": "2026-04-12",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-04-13",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-04-14",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-04-15",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-04-16",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-04-17",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-04-18",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-04-19",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-04-20",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-04-21",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-04-22",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-04-23",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-04-24",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-04-25",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-04-26",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-04-27",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-04-28",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-04-29",
"dayOfWeek": 3,
"count": 2
},
{
"date": "2026-04-30",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-05-01",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-05-02",
"dayOfWeek": 6,
"count": 5
},
{
"date": "2026-05-03",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-05-04",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-05-05",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-05-06",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-05-07",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-05-08",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-05-09",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-05-10",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-05-11",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-05-12",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-05-13",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-05-14",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-05-15",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-05-16",
"dayOfWeek": 6,
"count": 9
},
{
"date": "2026-05-17",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-05-18",
"dayOfWeek": 1,
"count": 2
},
{
"date": "2026-05-19",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-05-20",
"dayOfWeek": 3,
"count": 2
},
{
"date": "2026-05-21",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-05-22",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-05-23",
"dayOfWeek": 6,
"count": 2
},
{
"date": "2026-05-24",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-05-25",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-05-26",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-05-27",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-05-28",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-05-29",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-05-30",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-05-31",
"dayOfWeek": 0,
"count": 0
},
{
"date": "2026-06-01",
"dayOfWeek": 1,
"count": 0
},
{
"date": "2026-06-02",
"dayOfWeek": 2,
"count": 0
},
{
"date": "2026-06-03",
"dayOfWeek": 3,
"count": 1
},
{
"date": "2026-06-04",
"dayOfWeek": 4,
"count": 0
},
{
"date": "2026-06-05",
"dayOfWeek": 5,
"count": 0
},
{
"date": "2026-06-06",
"dayOfWeek": 6,
"count": 1
},
{
"date": "2026-06-07",
"dayOfWeek": 0,
"count": 0
}
]
},
"rating_trajectory": [
{
"match_id": "hist-90",
"date": "2026-02-01",
"rating": 4.268,
"event_name": "Initial Progression Point",
"outcome": "N/A"
},
{
"match_id": "hist-75",
"date": "2026-02-16",
"rating": 4.298,
"event_name": "Initial Progression Point",
"outcome": "N/A"
},
{
"match_id": "hist-60",
"date": "2026-03-03",
"rating": 4.313,
"event_name": "Initial Progression Point",
"outcome": "N/A"
},
{
"match_id": "hist-45",
"date": "2026-03-18",
"rating": 4.326,
"event_name": "Initial Progression Point",
"outcome": "N/A"
},
{
"match_id": "hist-30",
"date": "2026-04-02",
"rating": 4.354,
"event_name": "Initial Progression Point",
"outcome": "N/A"
},
{
"match_id": "hist-15",
"date": "2026-04-17",
"rating": 4.386,
"event_name": "Initial Progression Point",
"outcome": "N/A"
},
{
"match_id": "4590436844",
"date": "2026-05-02",
"rating": 4.405,
"event_name": "2026 MPC Dinko de Mayo - a USA Pickleball Golden Ticket Event - Mens Doubles Skill: ($$$$ OPEN) Age: (Any)",
"outcome": "Win"
},
{
"match_id": "8497020799",
"date": "2026-05-02",
"rating": 4.379,
"event_name": "2026 MPC Dinko de Mayo - a USA Pickleball Golden Ticket Event - Mens Doubles Skill: ($$$$ OPEN) Age: (Any)",
"outcome": "Win"
},
{
"match_id": "7880426853",
"date": "2026-05-02",
"rating": 4.364,
"event_name": "2026 MPC Dinko de Mayo - a USA Pickleball Golden Ticket Event - Mens Doubles Skill: ($$$$ OPEN) Age: (Any)",
"outcome": "Loss"
},
{
"match_id": "5747732430",
"date": "2026-05-16",
"rating": 4.407,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket",
"outcome": "Loss"
},
{
"match_id": "8002508325",
"date": "2026-05-16",
"rating": 4.396,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Win"
},
{
"match_id": "5143270141",
"date": "2026-05-16",
"rating": 4.39,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Loss"
},
{
"match_id": "4941624336",
"date": "2026-05-16",
"rating": 4.404,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Win"
},
{
"match_id": "7778450521",
"date": "2026-05-16",
"rating": 4.392,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Win"
},
{
"match_id": "5355906849",
"date": "2026-05-16",
"rating": 4.39,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Loss"
},
{
"match_id": "5744913895",
"date": "2026-05-16",
"rating": 4.392,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Loss"
},
{
"match_id": "8355676968",
"date": "2026-05-16",
"rating": 4.398,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"outcome": "Loss"
},
{
"match_id": "6082003420",
"date": "2026-05-18",
"rating": 4.4,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket",
"outcome": "Win"
},
{
"match_id": "6015730640",
"date": "2026-05-18",
"rating": 4.403,
"event_name": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket",
"outcome": "Loss"
}
],
"upcoming_matches": [
{
"match_id": "up-674Q9G-1",
"opponent_name": "Krystyan Lazarin",
"opponent_id": "17MX48",
"opponent_rating": 4.864,
"opponent_pic_url": null,
"date": "Saturday, June 13, 2026",
"time": "10:00 AM",
"location": "Rouge Woods Community Centre",
"status": "Scheduled",
"event_type": "League Ladder"
},
{
"match_id": "up-674Q9G-2",
"opponent_name": "Job Santillan",
"opponent_id": "3OEQE8",
"opponent_rating": 4.568,
"opponent_pic_url": null,
"date": "Tuesday, June 16, 2026",
"time": "6:30 PM",
"location": "L'Amoreaux Tennis Centre",
"status": "Pending Confirmation",
"event_type": "Practice Match"
}
],
"recent_matches": [
{
"match_id": "6082003420",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket",
"date": "2026-05-18",
"outcome": "Win",
"scores": "21-17",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "6015730640",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket",
"date": "2026-05-18",
"outcome": "Loss",
"scores": "14-21",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "5747732430",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Bracket",
"date": "2026-05-16",
"outcome": "Loss",
"scores": "15-21",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "8002508325",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Win",
"scores": "21-17",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "5143270141",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Loss",
"scores": "17-21",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "4941624336",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Win",
"scores": "18-21",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "7778450521",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Win",
"scores": "19-21",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "5355906849",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Loss",
"scores": "21-16",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "5744913895",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Loss",
"scores": "22-20",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
},
{
"match_id": "8355676968",
"event": "Men's 4v4 Tournament Powered by Passion002 - 4.35-Open - Men's 4v4 Tournament Powered by Passion002 - 4.35-Open ",
"date": "2026-05-16",
"outcome": "Loss",
"scores": "21-7",
"location": "Vetta Sports Gametime: Pickleball and Soccer St. Peters MO"
}
]
},
"canonical": "https://picklegravity.com/en/knowledge/player-jonathan-harris-674Q9G"
}