No they can't redo the contract. They can extend only.
https://ninernoise.com/posts/how-nfl-rookie-contracts-work
If he could, his camp would immediately turn to the Niners and demand a reworked contract that paid him an appropriate amount of money. Should San Francisco budge, Purdy could...