The move was first reported by ESPN The Magazine's Buster Olney.
The 31-year-old, 32-32 with a 4.28 ERA, is joining his 10th team. He spent the last three seasons with the Minnesota Twins and was 3-0 with a 2.33 ERA in a career-high 75 games last season, the most by a lefty in the AL. Left-handed batters hit .202 against him, and opponents overall hit just .235.
Reyes is currently with Mexico's national team ahead of its World Baseball Classic opener Sunday against Australia.
In addition to his salary, Reyes could earn $500,000 over the deal in performance bonuses.
The Cardinals have been searching for a left-handed reliever, with Royce Ring and Charlie Manning, along with non-roster invitees Ian Ostlund and Katsuhiko Maekawa, competing in spring training for a spot in the bullpen alongside lefty Trever Miller.
Information from ESPN The Magazine senior writer Buster Olney and The Associated Press was used in this report.