\n","providerName":"Twitter","providerUrl":"https://twitter.com","thumbnail_url":null,"type":"oembed","width":550,"contentType":"rich"},{"__typename":"Markdown","content":"With nine pitchers in the bullpen, Whitley didn't appear in Friday’s opener vs. the Pirates. He’ll likely pitch his way into a role with the Cardinals -- the better he does, the higher leverage situation he’ll pitch. But his fastball, which he uses to attack hitters in the strike zone, and a swing-and-miss slider could find success in the big leagues.\n\n“Guy’s aggressive, trusts his stuff,” Shildt said. “Throws strikes, has a secondary pitch. Got a lot of soft contact and some swing-and-miss stuff. He’s more than earned a spot on the Opening Day roster for the St. Louis Cardinals.”\n\n**Miller in Springfield for rehab** \nInfielder Brad Miller arrived at the Cardinals’ alternate training site in Springfield, Mo., Thursday night to get at-bats while on the 10-day injured list for bursitis in his right ankle. Miller faced pitchers and played some defense in Summer Camp, but he couldn't participate in running.\n\nThe Cardinals hope to have Miller on the roster by next weekend, when the Cardinals play the Brewers.\n\n**Gallegos close to being ready** \nReliever Giovanny Gallegos will throw more batting practice Saturday and will be “pretty close” to being available on the roster afterward, Shildt said. Gallegos was left off the Opening Day roster -- which has 29 players -- because of his late arrival to Summer Camp.\n\nThe Cardinals wanted to give Gallegos a few extra days to get ready and to make sure he recovers well from the live batting practice he threw Thursday during the Cardinals’ optional workout.\n\n“Arm strength was there,” Shildt said. “The secondary pitches had the life that we would expect. Command not as crisp, but you would expect that out of the first live.”","type":"text"}],"relativeSiteUrl":"/news/kodi-whitley-excited-to-make-cardinals-roster","contentType":"news","subHeadline":null,"summary":"ST. LOUIS -- On Monday, reliever Kodi Whitley was welcomed to the Cardinals by singing the national anthem before a Summer Camp workout as part of a rookie prank that Miles Mikolas put together. On Tuesday, manager Mike Shildt informed Whitley that he had made the Opening Day roster.\nWelcome,","tagline({\"formatString\":\"none\"})":null,"tags":[{"__typename":"InternalTag","slug":"storytype-article","title":"Article","type":"article"},{"__typename":"TeamTag","slug":"teamid-138","title":"St. Louis Cardinals","team":{"__ref":"Team:138"},"type":"team"},{"__typename":"ContributorTag","slug":"anne-rogers","title":"Anne Rogers","type":"contributor"},{"__typename":"GameTag","gamePk":630989,"slug":"gamepk-630989","title":"2020/07/24 pit@stl","type":"game"},{"__typename":"TaxonomyTag","slug":"opening-day","title":"Opening Day","type":"taxonomy"},{"__typename":"PersonTag","slug":"playerid-676831","title":"Kodi Whitley","person":{"__ref":"Person:676831"},"type":"player"}],"type":"story","thumbnail":"https://img.mlbstatic.com/mlb-images/image/private/{formatInstructions}/mlb/tdj7zisvlqstk33zavqf","title":"Kodi Whitley excited to make Cardinals' roster"},"getTeamsBySportId({\"ids\":[1]})":[{"__ref":"Team:133"},{"__ref":"Team:134"},{"__ref":"Team:135"},{"__ref":"Team:136"},{"__ref":"Team:137"},{"__ref":"Team:138"},{"__ref":"Team:139"},{"__ref":"Team:140"},{"__ref":"Team:141"},{"__ref":"Team:142"},{"__ref":"Team:143"},{"__ref":"Team:144"},{"__ref":"Team:145"},{"__ref":"Team:146"},{"__ref":"Team:147"},{"__ref":"Team:158"},{"__ref":"Team:108"},{"__ref":"Team:109"},{"__ref":"Team:110"},{"__ref":"Team:111"},{"__ref":"Team:112"},{"__ref":"Team:113"},{"__ref":"Team:114"},{"__ref":"Team:115"},{"__ref":"Team:116"},{"__ref":"Team:117"},{"__ref":"Team:118"},{"__ref":"Team:119"},{"__ref":"Team:120"},{"__ref":"Team:121"}],"getHeaderFromForgePath({\"contentSource\":\"MLB\",\"headerPath\":\"/_navs/header/mlb/global-nav\",\"paletteKey\":\"mlb-base-palette\",\"propertiesKey\":\"mlb-global-properties\"})":{"__typename":"Header","navigation":[{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"MLB.TV","linkUrl":"https://www.mlb.com/tv?&affiliateId=mlbMENUtv","placement":"right","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV Offseason Package","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB.TV Partners","linkUrl":"https://www.mlb.com/live-stream-games/partners?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Link Account","linkUrl":"live-stream-games/partners?&affiliateId=mlbMENUtv","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"/live-stream-games/help-center?&affiliateID=mlbMENUtv","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":null,"linkTarget":null,"linkText":"Tickets","linkUrl":"/tickets","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"All-Star Tickets","linkUrl":"/all-star/tickets","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1721167200;"},{"__typename":"NavItem","placement":null,"linkText":"MLB at Rickwood Field","linkUrl":"/events/rickwood/tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"expires:1718924400;"},{"__typename":"NavItem","placement":null,"linkText":"Spring Training","linkUrl":"/tickets/spring-training","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":"expires:1711511940;"},{"__typename":"NavItem","placement":null,"linkText":"Postseason Tickets","linkUrl":"/tickets/postseason","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Buy on SeatGeek","linkUrl":"https://seatgeek.com/mlb-tickets?aid=15994&pid=integration&rid=1&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Sell on SeatGeek","linkUrl":"https://seatgeek.com/sell/mlb-tickets?aid=15994&pid=integration&rid=15&utm_medium=partnership&utm_source=mlb_sponsorship&utm_campaign=integration","linkTarget":"_blank","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Season Tickets","linkUrl":"/tickets/season-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Single Game Tickets","linkUrl":"/schedule","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Group Tickets","linkUrl":"/tickets/group-tickets","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Special Ticket Offers","linkUrl":"/tickets/fan-value","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"VIP Ticket Packages","linkUrl":"/tickets/on-location-experiences","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Students","linkUrl":"/tickets/students","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Tourism","linkUrl":"/tourism","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB World Tour","linkUrl":"/international/events","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Ticket Terms & Conditions","linkUrl":"/tickets/terms-and-conditions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;","icon":"shopping-cart","linkTarget":null,"linkText":"Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"MLB Online Shop","linkUrl":"https://www.mlbshop.com/?_s=bm-mlbcom-hp","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Auction","linkUrl":"https://auctions.mlb.com/iSynApp/showHomePage.action?sid=1101001&isynsharedsession=9mislq-18JnZhOEp-FeGzvUB3G6zxwkeKqwX99MKAttEdaSACl02r4aCDzYhNvUm","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Gift Cards","linkUrl":"https://www.mlbshop.com/gift-cards/x-462351+z-94899005-3509039474?_s=bm-mlbcom-Home","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"MLB NYC Flagship Store","linkUrl":"/shop/nyc-retail-store","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"European Shop","linkUrl":"http://www.mlbshopeurope.com/stores/mlb/en?portal=MLTS66FS&CMP=PSC-MLTS66FS","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":""},{"__typename":"NavItem","placement":null,"linkText":"Photo Store","linkUrl":"https://photostore.mlb.com/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true","icon":null,"linkTarget":null,"linkText":"News","linkUrl":"/news","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Rule Changes","linkUrl":"https://www.mlb.com/rule-changes-2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Probable Pitchers","linkUrl":"/probable-pitchers/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Starting Lineups","linkUrl":"/starting-lineups","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Transactions","linkUrl":"https://www.mlb.com/transactions","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Injury Report","linkUrl":"/injury-report","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"World Baseball Classic","linkUrl":"/world-baseball-classic","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Draft","linkUrl":"/draft/2024","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"All-Star Game","linkUrl":"/all-star/","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Life","linkUrl":"/fans/mlb-life","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Pipeline","linkUrl":"https://www.mlb.com/pipeline","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Postseason History","linkUrl":"/postseason/history","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Great Stories","linkUrl":"/news/topic/longform","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Podcasts","linkUrl":"/fans/podcasts","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Watch","linkUrl":"/tv?&affiliateId=mlbMENU","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":"Video","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Search","linkUrl":"/video","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Statcast","linkUrl":"/video/topic/statcast","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Network","linkUrl":"/network","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]},{"__typename":"SubnavColumn","title":"MLB.TV","navigation":[{"__typename":"NavItem","placement":null,"linkText":"Buy MLB.TV Postseason Package","linkUrl":"/live-stream-games/subscribe?&affiliateId=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Watch & Listen","linkUrl":"/live-stream-games?&affiliateID=mlbMENU","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Help Center","linkUrl":"/live-stream-games/help-center?&affiliateID=mlbMENU","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Scores","linkUrl":"/scores","placement":"mobile","visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;mobile:true;","icon":null,"linkTarget":null,"linkText":"Schedule","linkUrl":"/postseason","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"2023 Postseason Recap","linkUrl":"/postseason/history/2023","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Regular Season","linkUrl":"/schedule/","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2024 Postseason","linkUrl":"/postseason","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"2025 Spring Training","linkUrl":"/schedule/2025-02-20","linkTarget":null,"visible":"true","icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Events","linkUrl":"/events","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Team by Team Schedule","linkUrl":"/schedule/team-by-team","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"National Broadcasts","linkUrl":"/live-stream-games/national-broadcast-schedule","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"mobile:true;amp:true;","icon":null,"linkTarget":null,"linkText":"Stats","linkUrl":"/stats","placement":"mobile","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Statcast Leaders","linkUrl":"https://baseballsavant.mlb.com/statcast_leaderboard","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Statcast","linkUrl":"/statcast","linkTarget":"","visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Baseball Savant","linkUrl":"https://baseballsavant.mlb.com/","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Top Prospect Stats","linkUrl":"/prospects/stats/top-prospects?type=all&minPA=1","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;","icon":null,"linkTarget":null,"linkText":"Standings","linkUrl":"/standings/wild-card","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"Youth","linkUrl":"/youth-baseball-softball","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Play Ball","linkUrl":"/play-ball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Youth Baseball & Softball","linkUrl":"/youth-baseball-softball","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"","icon":"group","linkTarget":null,"linkText":"Players","linkUrl":"/players","placement":null,"visible":"true","subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Prospect Rankings","linkUrl":"/prospects","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Depth Charts","linkUrl":"/team/roster/depth-chart","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"MLB Players Association","linkUrl":"https://www.mlbplayers.com","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Negro Leagues","linkUrl":"/history/negro-leagues","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":null,"icon":null,"linkTarget":null,"linkText":"MLB Play","linkUrl":"/play","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Beat the Streak","linkUrl":"/play?gameId=BeatTheStreak2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Immaculate Grid","linkUrl":"/play?gameId=ImmaculateGrid2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Trivia","linkUrl":"/play?gameId=SporcleTrivia2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Pickle","linkUrl":"/play?gameId=Pickle2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"By the Numbers","linkUrl":"/play?gameId=ByTheNumbers2022","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Diamond Decisions","linkUrl":"/play?gameId=DiamondDecisions2024","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null},{"__typename":"NavItem","placement":null,"linkText":"Bingo","linkUrl":"/play?gameId=Bingo2023","linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":null}]}]},{"__typename":"NavItem","customPropertiesString":"expires:1720022400;","icon":null,"linkTarget":null,"linkText":"Vote","linkUrl":"/all-star/ballot?affiliateId=asb-topnav-mlb-2024","placement":null,"visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[]}]},{"__typename":"NavItem","customPropertiesString":"amp:true;module:teammodule;align:right;","icon":null,"linkTarget":null,"linkText":"Teams","linkUrl":"/team","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"Team Module","linkUrl":null,"linkTarget":null,"visible":null,"icon":null,"tooltip":null,"customPropertiesString":"module:teammodule;"}]}]},{"__typename":"NavItem","customPropertiesString":"align:right;lang:es;label:Español","icon":null,"linkTarget":null,"linkText":"ES","linkUrl":"/es","placement":"right","visible":null,"subNav":[{"__typename":"SubnavColumn","title":null,"navigation":[{"__typename":"NavItem","placement":null,"linkText":"日本語","linkUrl":"http://www.mlb.jp/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":"lang:ja"},{"__typename":"NavItem","placement":null,"linkText":"한국어","linkUrl":"https://www.mlbkor.com/","linkTarget":null,"visible":"false","icon":null,"tooltip":null,"customPropertiesString":"lang:ko"}]}]}],"cfPalette":{"__typename":"CF_Palette","headerMastheadBackgroundColor":"#002D72","headerMastheadTextColor":"#ffffff","headerNavigationBackgroundColor":"#041E42","headerNavigationBorderColor":"#057AFF","headerNavigationTextColorHover":"#ffffff","headerNavigationTextColor":"#ffffff"},"cfWebProperties":{"__typename":"CF_WebProperties","urlLogo":null,"headerMastheadTagline":null,"headerPrimaryLogo":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadSponsorImage":{"__typename":"CF_Asset","url":null,"description":null},"headerMastheadTaglineContainerWidth":"512px","headerMastheadTaglineContainerHeight":"56px"}}},"Team:138":{"__typename":"Team","id":138,"division":{"__ref":"Division:205"},"name":"St. Louis Cardinals","shortName":"St. Louis","teamName":"Cardinals"},"Person:676831":{"__typename":"Person","id":676831},"Division:200":{"__typename":"Division","id":"200"},"Team:133":{"__typename":"Team","division":{"__ref":"Division:200"},"id":133,"name":"Athletics","shortName":"Athletics","teamName":"Athletics"},"Division:205":{"__typename":"Division","id":"205"},"Team:134":{"__typename":"Team","division":{"__ref":"Division:205"},"id":134,"name":"Pittsburgh Pirates","shortName":"Pittsburgh","teamName":"Pirates"},"Division:203":{"__typename":"Division","id":"203"},"Team:135":{"__typename":"Team","division":{"__ref":"Division:203"},"id":135,"name":"San Diego Padres","shortName":"San Diego","teamName":"Padres"},"Team:136":{"__typename":"Team","division":{"__ref":"Division:200"},"id":136,"name":"Seattle Mariners","shortName":"Seattle","teamName":"Mariners"},"Team:137":{"__typename":"Team","division":{"__ref":"Division:203"},"id":137,"name":"San Francisco Giants","shortName":"San Francisco","teamName":"Giants"},"Division:201":{"__typename":"Division","id":"201"},"Team:139":{"__typename":"Team","division":{"__ref":"Division:201"},"id":139,"name":"Tampa Bay Rays","shortName":"Tampa Bay","teamName":"Rays"},"Team:140":{"__typename":"Team","division":{"__ref":"Division:200"},"id":140,"name":"Texas Rangers","shortName":"Texas","teamName":"Rangers"},"Team:141":{"__typename":"Team","division":{"__ref":"Division:201"},"id":141,"name":"Toronto Blue Jays","shortName":"Toronto","teamName":"Blue Jays"},"Division:202":{"__typename":"Division","id":"202"},"Team:142":{"__typename":"Team","division":{"__ref":"Division:202"},"id":142,"name":"Minnesota Twins","shortName":"Minnesota","teamName":"Twins"},"Division:204":{"__typename":"Division","id":"204"},"Team:143":{"__typename":"Team","division":{"__ref":"Division:204"},"id":143,"name":"Philadelphia Phillies","shortName":"Philadelphia","teamName":"Phillies"},"Team:144":{"__typename":"Team","division":{"__ref":"Division:204"},"id":144,"name":"Atlanta Braves","shortName":"Atlanta","teamName":"Braves"},"Team:145":{"__typename":"Team","division":{"__ref":"Division:202"},"id":145,"name":"Chicago White Sox","shortName":"Chi White Sox","teamName":"White Sox"},"Team:146":{"__typename":"Team","division":{"__ref":"Division:204"},"id":146,"name":"Miami Marlins","shortName":"Miami","teamName":"Marlins"},"Team:147":{"__typename":"Team","division":{"__ref":"Division:201"},"id":147,"name":"New York Yankees","shortName":"NY Yankees","teamName":"Yankees"},"Team:158":{"__typename":"Team","division":{"__ref":"Division:205"},"id":158,"name":"Milwaukee Brewers","shortName":"Milwaukee","teamName":"Brewers"},"Team:108":{"__typename":"Team","division":{"__ref":"Division:200"},"id":108,"name":"Los Angeles Angels","shortName":"LA Angels","teamName":"Angels"},"Team:109":{"__typename":"Team","division":{"__ref":"Division:203"},"id":109,"name":"Arizona Diamondbacks","shortName":"Arizona","teamName":"D-backs"},"Team:110":{"__typename":"Team","division":{"__ref":"Division:201"},"id":110,"name":"Baltimore Orioles","shortName":"Baltimore","teamName":"Orioles"},"Team:111":{"__typename":"Team","division":{"__ref":"Division:201"},"id":111,"name":"Boston Red Sox","shortName":"Boston","teamName":"Red Sox"},"Team:112":{"__typename":"Team","division":{"__ref":"Division:205"},"id":112,"name":"Chicago Cubs","shortName":"Chi Cubs","teamName":"Cubs"},"Team:113":{"__typename":"Team","division":{"__ref":"Division:205"},"id":113,"name":"Cincinnati Reds","shortName":"Cincinnati","teamName":"Reds"},"Team:114":{"__typename":"Team","division":{"__ref":"Division:202"},"id":114,"name":"Cleveland Guardians","shortName":"Cleveland","teamName":"Guardians"},"Team:115":{"__typename":"Team","division":{"__ref":"Division:203"},"id":115,"name":"Colorado Rockies","shortName":"Colorado","teamName":"Rockies"},"Team:116":{"__typename":"Team","division":{"__ref":"Division:202"},"id":116,"name":"Detroit Tigers","shortName":"Detroit","teamName":"Tigers"},"Team:117":{"__typename":"Team","division":{"__ref":"Division:200"},"id":117,"name":"Houston Astros","shortName":"Houston","teamName":"Astros"},"Team:118":{"__typename":"Team","division":{"__ref":"Division:202"},"id":118,"name":"Kansas City Royals","shortName":"Kansas City","teamName":"Royals"},"Team:119":{"__typename":"Team","division":{"__ref":"Division:203"},"id":119,"name":"Los Angeles Dodgers","shortName":"LA Dodgers","teamName":"Dodgers"},"Team:120":{"__typename":"Team","division":{"__ref":"Division:204"},"id":120,"name":"Washington Nationals","shortName":"Washington","teamName":"Nationals"},"Team:121":{"__typename":"Team","division":{"__ref":"Division:204"},"id":121,"name":"New York Mets","shortName":"NY Mets","teamName":"Mets"}}}
window.adobeAnalytics = {"reportingSuiteId":"mlbglobal08,mlbcom08","linkInternalFilters":"mlb"}
window.globalState = {"tracking_title":"Major League Baseball","lang":"en"}
window.appId = ''
/*-->*/
ST. LOUIS -- On Monday, reliever Kodi Whitley was welcomed to the Cardinals by singing the national anthem before a Summer Camp workout as part of a rookie prank that Miles Mikolas put together. On Tuesday, manager Mike Shildt informed Whitley that he had made the Opening Day roster.
Welcome, officially, to the team.
“I walked in and they said, ‘Oh, here’s the singer,’” Whitley said. “But [Shildt] then looked at me and said, ‘It’s always a good thing to be able to tell somebody that they made the Opening Day roster.’ It was awesome.”
Whitley said he called his mom, who was with his sister, as soon as he left Busch Stadium to share the news. He told his girlfriend in person back at his hotel.
“They’re both crying, and they’re making me start crying because they’re crying,” Whitley said. “And then my girlfriend was crying, too, so it was a big cryfest, a lot of happy tears. It was a cool moment to get to call them, the people that have supported me all the way through, and to get to share that news with them, it was an awesome moment.”
Whitley, St. Louis' No. 14 prospect per MLB Pipeline, moved quickly through the Cardinals' system last season, finding success at three levels (Class A Advanced, Double-A and Triple-A) and posting a 1.60 ERA across 67 1/3 innings. The right-hander struck out 78 and walked 19 while collecting nine saves, and he continued that success in the Arizona Fall League. He was invited to his first big league Spring Training and continued to impress with his stuff against Major League hitters.
That confidence continued to build at Summer Camp, and Whitley took advantage of the expanded rosters and camp absences to start the season with St. Louis.
“Obviously, with what has happened with all this and the roster expanding helped me out a lot, but going into Spring Training this year, that was never a thought, breaking with the team and being on the Opening Day roster,” Whitley said. “It was, 'Go and enjoy your first camp, try to learn as much as you can, try to just perform and do well and have an open mind and whatever happens, happens.'
“When I got to Spring Training this year, you’re throwing pitches to higher-caliber hitters and you’re still getting them out with your stuff, so it raises your confidence level and makes you feel more confident that when you go on the mound, your stuff does play.”
Four of the #STLCards' Top 30 prospects make St. Louis' 2020 #OpeningDay roster:
6. Andrew Knizner, C 10. Junior Fernández, RHP 14. Kodi Whitley, RHP 20. Edmundo Sosa, INF
With nine pitchers in the bullpen, Whitley didn't appear in Friday’s opener vs. the Pirates. He’ll likely pitch his way into a role with the Cardinals -- the better he does, the higher leverage situation he’ll pitch. But his fastball, which he uses to attack hitters in the strike zone, and a swing-and-miss slider could find success in the big leagues.
“Guy’s aggressive, trusts his stuff,” Shildt said. “Throws strikes, has a secondary pitch. Got a lot of soft contact and some swing-and-miss stuff. He’s more than earned a spot on the Opening Day roster for the St. Louis Cardinals.”
Miller in Springfield for rehab Infielder Brad Miller arrived at the Cardinals’ alternate training site in Springfield, Mo., Thursday night to get at-bats while on the 10-day injured list for bursitis in his right ankle. Miller faced pitchers and played some defense in Summer Camp, but he couldn't participate in running.
The Cardinals hope to have Miller on the roster by next weekend, when the Cardinals play the Brewers.
Gallegos close to being ready Reliever Giovanny Gallegos will throw more batting practice Saturday and will be “pretty close” to being available on the roster afterward, Shildt said. Gallegos was left off the Opening Day roster -- which has 29 players -- because of his late arrival to Summer Camp.
The Cardinals wanted to give Gallegos a few extra days to get ready and to make sure he recovers well from the live batting practice he threw Thursday during the Cardinals’ optional workout.
“Arm strength was there,” Shildt said. “The secondary pitches had the life that we would expect. Command not as crisp, but you would expect that out of the first live.”