Split player model architecture into dedicated documentation files for clarity and maintainability. Added Phase 1 status tracking and comprehensive player model specs covering API models, game models, mappers, and testing strategy. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
540 lines
18 KiB
Markdown
540 lines
18 KiB
Markdown
# Player Model API Examples
|
|
In all examples of API URLs, here are the baseUrl values:
|
|
- PD: https://pd.manticorum.com/
|
|
- SBa: https://api.sba.manticorum.com/
|
|
## PD Player
|
|
### API URL:
|
|
{{baseUrl}}/api/v2/players/:player_id?csv=false
|
|
### API Response
|
|
{
|
|
"player_id": 11223,
|
|
"p_name": "Matt Karchner",
|
|
"cost": 1266,
|
|
"image": "https://pd.manticorum.com/api/v2/players/11223/pitchingcard?d=2025-4-14",
|
|
"image2": null,
|
|
"mlbclub": "Chicago White Sox",
|
|
"franchise": "Chicago White Sox",
|
|
"cardset": {
|
|
"id": 20,
|
|
"name": "1998 Season",
|
|
"description": "Cards based on the 1998 MLB season",
|
|
"event": null,
|
|
"for_purchase": true,
|
|
"total_cards": 1,
|
|
"in_packs": true,
|
|
"ranked_legal": true
|
|
},
|
|
"set_num": 1006697,
|
|
"rarity": {
|
|
"id": 1,
|
|
"value": 5,
|
|
"name": "MVP",
|
|
"color": "56f1fa"
|
|
},
|
|
"pos_1": "RP",
|
|
"pos_2": "CP",
|
|
"pos_3": null,
|
|
"pos_4": null,
|
|
"pos_5": null,
|
|
"pos_6": null,
|
|
"pos_7": null,
|
|
"pos_8": null,
|
|
"headshot": "https://www.baseball-reference.com/req/202412180/images/headshots/5/506ce471_sabr.jpg",
|
|
"vanity_card": null,
|
|
"strat_code": null,
|
|
"bbref_id": "karchma01",
|
|
"fangr_id": "1006697",
|
|
"description": "1998 Season",
|
|
"quantity": 999,
|
|
"mlbplayer": {
|
|
"id": 4180,
|
|
"first_name": "Matt",
|
|
"last_name": "Karchner",
|
|
"key_fangraphs": 1006697,
|
|
"key_bbref": "karchma01",
|
|
"key_retro": "karcm001",
|
|
"key_mlbam": 116840,
|
|
"offense_col": 2
|
|
},
|
|
"paperdex": {
|
|
"count": 1,
|
|
"paperdex": [
|
|
{
|
|
"id": 40108,
|
|
"team": 69,
|
|
"player": 11223,
|
|
"created": 1742675422723
|
|
}
|
|
]
|
|
}
|
|
}
|
|
## PD Scouting Data
|
|
### Batting API URL:
|
|
{{baseUrl}}/api/v2/battingcardratings/player/:player_id?short_output=false
|
|
### Batting API Response:
|
|
{
|
|
"count": 2,
|
|
"ratings": [
|
|
{
|
|
"id": 9703,
|
|
"battingcard": {
|
|
"id": 4871,
|
|
"player": {
|
|
"player_id": 10633,
|
|
"p_name": "Chuck Knoblauch",
|
|
"cost": 77,
|
|
"image": "https://pd.manticorum.com/api/v2/players/10633/battingcard?d=2025-4-14",
|
|
"image2": null,
|
|
"mlbclub": "New York Yankees",
|
|
"franchise": "New York Yankees",
|
|
"cardset": {
|
|
"id": 20,
|
|
"name": "1998 Season",
|
|
"description": "Cards based on the 1998 MLB season",
|
|
"event": null,
|
|
"for_purchase": true,
|
|
"total_cards": 1,
|
|
"in_packs": true,
|
|
"ranked_legal": true
|
|
},
|
|
"set_num": 609,
|
|
"rarity": {
|
|
"id": 3,
|
|
"value": 2,
|
|
"name": "Starter",
|
|
"color": "C0C0C0"
|
|
},
|
|
"pos_1": "2B",
|
|
"pos_2": null,
|
|
"pos_3": null,
|
|
"pos_4": null,
|
|
"pos_5": null,
|
|
"pos_6": null,
|
|
"pos_7": null,
|
|
"pos_8": null,
|
|
"headshot": "https://www.baseball-reference.com/req/202410300/images/headshots/1/1ab36543_sabr.jpg",
|
|
"vanity_card": null,
|
|
"strat_code": null,
|
|
"bbref_id": "knoblch01",
|
|
"fangr_id": "609",
|
|
"description": "1998 Season",
|
|
"quantity": 999,
|
|
"mlbplayer": {
|
|
"id": 3699,
|
|
"first_name": "Chuck",
|
|
"last_name": "Knoblauch",
|
|
"key_fangraphs": 609,
|
|
"key_bbref": "knoblch01",
|
|
"key_retro": "knobc001",
|
|
"key_mlbam": 117197,
|
|
"offense_col": 1
|
|
}
|
|
},
|
|
"variant": 0,
|
|
"steal_low": 8,
|
|
"steal_high": 11,
|
|
"steal_auto": true,
|
|
"steal_jump": 0.25,
|
|
"bunting": "C",
|
|
"hit_and_run": "D",
|
|
"running": 13,
|
|
"offense_col": 1,
|
|
"hand": "R"
|
|
},
|
|
"vs_hand": "L",
|
|
"pull_rate": 0.29379,
|
|
"center_rate": 0.41243,
|
|
"slap_rate": 0.29378,
|
|
"homerun": 0.0,
|
|
"bp_homerun": 2.0,
|
|
"triple": 1.4,
|
|
"double_three": 0.0,
|
|
"double_two": 5.1,
|
|
"double_pull": 5.1,
|
|
"single_two": 3.5,
|
|
"single_one": 4.5,
|
|
"single_center": 1.35,
|
|
"bp_single": 5.0,
|
|
"hbp": 2.0,
|
|
"walk": 18.25,
|
|
"strikeout": 9.75,
|
|
"lineout": 9.0,
|
|
"popout": 16.0,
|
|
"flyout_a": 0.0,
|
|
"flyout_bq": 1.65,
|
|
"flyout_lf_b": 1.9,
|
|
"flyout_rf_b": 2.0,
|
|
"groundout_a": 7.0,
|
|
"groundout_b": 10.5,
|
|
"groundout_c": 2.0,
|
|
"avg": 0.2263888888888889,
|
|
"obp": 0.41388888888888886,
|
|
"slg": 0.37453703703703706
|
|
},
|
|
{
|
|
"id": 9704,
|
|
"battingcard": {
|
|
"id": 4871,
|
|
"player": {
|
|
"player_id": 10633,
|
|
"p_name": "Chuck Knoblauch",
|
|
"cost": 77,
|
|
"image": "https://pd.manticorum.com/api/v2/players/10633/battingcard?d=2025-4-14",
|
|
"image2": null,
|
|
"mlbclub": "New York Yankees",
|
|
"franchise": "New York Yankees",
|
|
"cardset": {
|
|
"id": 20,
|
|
"name": "1998 Season",
|
|
"description": "Cards based on the 1998 MLB season",
|
|
"event": null,
|
|
"for_purchase": true,
|
|
"total_cards": 1,
|
|
"in_packs": true,
|
|
"ranked_legal": true
|
|
},
|
|
"set_num": 609,
|
|
"rarity": {
|
|
"id": 3,
|
|
"value": 2,
|
|
"name": "Starter",
|
|
"color": "C0C0C0"
|
|
},
|
|
"pos_1": "2B",
|
|
"pos_2": null,
|
|
"pos_3": null,
|
|
"pos_4": null,
|
|
"pos_5": null,
|
|
"pos_6": null,
|
|
"pos_7": null,
|
|
"pos_8": null,
|
|
"headshot": "https://www.baseball-reference.com/req/202410300/images/headshots/1/1ab36543_sabr.jpg",
|
|
"vanity_card": null,
|
|
"strat_code": null,
|
|
"bbref_id": "knoblch01",
|
|
"fangr_id": "609",
|
|
"description": "1998 Season",
|
|
"quantity": 999,
|
|
"mlbplayer": {
|
|
"id": 3699,
|
|
"first_name": "Chuck",
|
|
"last_name": "Knoblauch",
|
|
"key_fangraphs": 609,
|
|
"key_bbref": "knoblch01",
|
|
"key_retro": "knobc001",
|
|
"key_mlbam": 117197,
|
|
"offense_col": 1
|
|
}
|
|
},
|
|
"variant": 0,
|
|
"steal_low": 8,
|
|
"steal_high": 11,
|
|
"steal_auto": true,
|
|
"steal_jump": 0.25,
|
|
"bunting": "C",
|
|
"hit_and_run": "D",
|
|
"running": 13,
|
|
"offense_col": 1,
|
|
"hand": "R"
|
|
},
|
|
"vs_hand": "R",
|
|
"pull_rate": 0.25824,
|
|
"center_rate": 0.1337,
|
|
"slap_rate": 0.60806,
|
|
"homerun": 1.05,
|
|
"bp_homerun": 3.0,
|
|
"triple": 1.2,
|
|
"double_three": 0.0,
|
|
"double_two": 3.5,
|
|
"double_pull": 3.5,
|
|
"single_two": 4.3,
|
|
"single_one": 6.4,
|
|
"single_center": 2.4,
|
|
"bp_single": 5.0,
|
|
"hbp": 3.0,
|
|
"walk": 12.1,
|
|
"strikeout": 9.9,
|
|
"lineout": 11.0,
|
|
"popout": 13.0,
|
|
"flyout_a": 0.0,
|
|
"flyout_bq": 1.6,
|
|
"flyout_lf_b": 1.5,
|
|
"flyout_rf_b": 1.95,
|
|
"groundout_a": 12.0,
|
|
"groundout_b": 11.6,
|
|
"groundout_c": 0.0,
|
|
"avg": 0.2439814814814815,
|
|
"obp": 0.3837962962962963,
|
|
"slg": 0.40185185185185185
|
|
}
|
|
]
|
|
}
|
|
### Pitching API URL:
|
|
{{baseUrl}}/api/v2/pitchingcardratings/player/:player_id?short_output=false
|
|
### Pitching API Response:
|
|
{
|
|
"count": 2,
|
|
"ratings": [
|
|
{
|
|
"id": 8097,
|
|
"pitchingcard": {
|
|
"id": 4049,
|
|
"player": {
|
|
"player_id": 8558,
|
|
"p_name": "Josh Lindblom",
|
|
"cost": 15,
|
|
"image": "https://pd.manticorum.com/api/v2/players/8558/pitchingcard?d=2025-3-22",
|
|
"image2": null,
|
|
"mlbclub": "Milwaukee Brewers",
|
|
"franchise": "Free Agents",
|
|
"cardset": {
|
|
"id": 1,
|
|
"name": "2021 Season",
|
|
"description": "Cards based on the full 2021 season",
|
|
"event": null,
|
|
"for_purchase": true,
|
|
"total_cards": 791,
|
|
"in_packs": true,
|
|
"ranked_legal": false
|
|
},
|
|
"set_num": 7882,
|
|
"rarity": {
|
|
"id": 5,
|
|
"value": 0,
|
|
"name": "Replacement",
|
|
"color": "454545"
|
|
},
|
|
"pos_1": "RP",
|
|
"pos_2": null,
|
|
"pos_3": null,
|
|
"pos_4": null,
|
|
"pos_5": null,
|
|
"pos_6": null,
|
|
"pos_7": null,
|
|
"pos_8": null,
|
|
"headshot": "https://www.baseball-reference.com/req/202311010/images/headshots/6/6a648ede_mlbam.jpg",
|
|
"vanity_card": null,
|
|
"strat_code": "458676",
|
|
"bbref_id": "lindbjo01",
|
|
"fangr_id": "7882",
|
|
"description": "2021",
|
|
"quantity": 999,
|
|
"mlbplayer": {
|
|
"id": 1527,
|
|
"first_name": "Josh",
|
|
"last_name": "Lindblom",
|
|
"key_fangraphs": 7882,
|
|
"key_bbref": "lindbjo01",
|
|
"key_retro": "lindj004",
|
|
"key_mlbam": 458676,
|
|
"offense_col": 2
|
|
}
|
|
},
|
|
"variant": 0,
|
|
"balk": 0,
|
|
"wild_pitch": 20,
|
|
"hold": 9,
|
|
"starter_rating": 1,
|
|
"relief_rating": 2,
|
|
"closer_rating": null,
|
|
"batting": "#1WR-C",
|
|
"offense_col": 1,
|
|
"hand": "R"
|
|
},
|
|
"vs_hand": "L",
|
|
"homerun": 2.6,
|
|
"bp_homerun": 6.0,
|
|
"triple": 2.1,
|
|
"double_three": 0.0,
|
|
"double_two": 7.1,
|
|
"double_cf": 0.0,
|
|
"single_two": 1.0,
|
|
"single_one": 1.0,
|
|
"single_center": 0.0,
|
|
"bp_single": 5.0,
|
|
"hbp": 6.0,
|
|
"walk": 17.6,
|
|
"strikeout": 11.4,
|
|
"flyout_lf_b": 0.0,
|
|
"flyout_cf_b": 7.75,
|
|
"flyout_rf_b": 3.6,
|
|
"groundout_a": 1.75,
|
|
"groundout_b": 6.1,
|
|
"xcheck_p": 1.0,
|
|
"xcheck_c": 3.0,
|
|
"xcheck_1b": 2.0,
|
|
"xcheck_2b": 6.0,
|
|
"xcheck_3b": 3.0,
|
|
"xcheck_ss": 7.0,
|
|
"xcheck_lf": 2.0,
|
|
"xcheck_cf": 3.0,
|
|
"xcheck_rf": 2.0,
|
|
"avg": 0.17870370370370367,
|
|
"obp": 0.3972222222222222,
|
|
"slg": 0.4388888888888889
|
|
},
|
|
{
|
|
"id": 8098,
|
|
"pitchingcard": {
|
|
"id": 4049,
|
|
"player": {
|
|
"player_id": 8558,
|
|
"p_name": "Josh Lindblom",
|
|
"cost": 15,
|
|
"image": "https://pd.manticorum.com/api/v2/players/8558/pitchingcard?d=2025-3-22",
|
|
"image2": null,
|
|
"mlbclub": "Milwaukee Brewers",
|
|
"franchise": "Free Agents",
|
|
"cardset": {
|
|
"id": 1,
|
|
"name": "2021 Season",
|
|
"description": "Cards based on the full 2021 season",
|
|
"event": null,
|
|
"for_purchase": true,
|
|
"total_cards": 791,
|
|
"in_packs": true,
|
|
"ranked_legal": false
|
|
},
|
|
"set_num": 7882,
|
|
"rarity": {
|
|
"id": 5,
|
|
"value": 0,
|
|
"name": "Replacement",
|
|
"color": "454545"
|
|
},
|
|
"pos_1": "RP",
|
|
"pos_2": null,
|
|
"pos_3": null,
|
|
"pos_4": null,
|
|
"pos_5": null,
|
|
"pos_6": null,
|
|
"pos_7": null,
|
|
"pos_8": null,
|
|
"headshot": "https://www.baseball-reference.com/req/202311010/images/headshots/6/6a648ede_mlbam.jpg",
|
|
"vanity_card": null,
|
|
"strat_code": "458676",
|
|
"bbref_id": "lindbjo01",
|
|
"fangr_id": "7882",
|
|
"description": "2021",
|
|
"quantity": 999,
|
|
"mlbplayer": {
|
|
"id": 1527,
|
|
"first_name": "Josh",
|
|
"last_name": "Lindblom",
|
|
"key_fangraphs": 7882,
|
|
"key_bbref": "lindbjo01",
|
|
"key_retro": "lindj004",
|
|
"key_mlbam": 458676,
|
|
"offense_col": 2
|
|
}
|
|
},
|
|
"variant": 0,
|
|
"balk": 0,
|
|
"wild_pitch": 20,
|
|
"hold": 9,
|
|
"starter_rating": 1,
|
|
"relief_rating": 2,
|
|
"closer_rating": null,
|
|
"batting": "#1WR-C",
|
|
"offense_col": 1,
|
|
"hand": "R"
|
|
},
|
|
"vs_hand": "R",
|
|
"homerun": 5.0,
|
|
"bp_homerun": 2.0,
|
|
"triple": 1.0,
|
|
"double_three": 0.0,
|
|
"double_two": 0.0,
|
|
"double_cf": 6.15,
|
|
"single_two": 6.5,
|
|
"single_one": 0.0,
|
|
"single_center": 6.5,
|
|
"bp_single": 5.0,
|
|
"hbp": 2.0,
|
|
"walk": 10.2,
|
|
"strikeout": 26.65,
|
|
"flyout_lf_b": 0.0,
|
|
"flyout_cf_b": 0.0,
|
|
"flyout_rf_b": 0.0,
|
|
"groundout_a": 6.0,
|
|
"groundout_b": 2.0,
|
|
"xcheck_p": 1.0,
|
|
"xcheck_c": 3.0,
|
|
"xcheck_1b": 2.0,
|
|
"xcheck_2b": 6.0,
|
|
"xcheck_3b": 3.0,
|
|
"xcheck_ss": 7.0,
|
|
"xcheck_lf": 2.0,
|
|
"xcheck_cf": 3.0,
|
|
"xcheck_rf": 2.0,
|
|
"avg": 0.2652777777777778,
|
|
"obp": 0.37824074074074077,
|
|
"slg": 0.5074074074074074
|
|
}
|
|
]
|
|
}
|
|
## SBa Player
|
|
### API URL:
|
|
{{baseUrl}}/players/:player_id?short_output=false
|
|
### API Response
|
|
{
|
|
"id": 12288,
|
|
"name": "Ronald Acuna Jr",
|
|
"wara": 0.0,
|
|
"image": "https://sba-cards-2024.s3.us-east-1.amazonaws.com/2024-cards/ronald-acuna-jr.png",
|
|
"image2": null,
|
|
"team": {
|
|
"id": 499,
|
|
"abbrev": "WV",
|
|
"sname": "Black Bears",
|
|
"lname": "West Virginia Black Bears",
|
|
"manager_legacy": null,
|
|
"division_legacy": null,
|
|
"gmid": "258104532423147520",
|
|
"gmid2": null,
|
|
"manager1": {
|
|
"id": 3,
|
|
"name": "Cal",
|
|
"image": null,
|
|
"headline": null,
|
|
"bio": null
|
|
},
|
|
"manager2": null,
|
|
"division": {
|
|
"id": 41,
|
|
"division_name": "Big Chungus",
|
|
"division_abbrev": "BBC",
|
|
"league_name": "SBa",
|
|
"league_abbrev": "SBa",
|
|
"season": 12
|
|
},
|
|
"mascot": null,
|
|
"stadium": "https://i.postimg.cc/rpRZ2NNF/wvpark.png",
|
|
"gsheet": null,
|
|
"thumbnail": "https://i.postimg.cc/HjDc8bBF/blackbears-transparent.png",
|
|
"color": "6699FF",
|
|
"dice_color": null,
|
|
"season": 12,
|
|
"auto_draft": null
|
|
},
|
|
"season": 12,
|
|
"pitcher_injury": null,
|
|
"pos_1": "RF",
|
|
"pos_2": null,
|
|
"pos_3": null,
|
|
"pos_4": null,
|
|
"pos_5": null,
|
|
"pos_6": null,
|
|
"pos_7": null,
|
|
"pos_8": null,
|
|
"last_game": null,
|
|
"last_game2": null,
|
|
"il_return": null,
|
|
"demotion_week": 16,
|
|
"headshot": null,
|
|
"vanity_card": null,
|
|
"strat_code": "Acuna,R",
|
|
"bbref_id": "acunaro01",
|
|
"injury_rating": "5p30",
|
|
"sbaplayer": null
|
|
} |