Yes, some hotel bookings can be changed through the API, but many cannot, and which ones can depends entirely on the supplier and the rate your customer booked.
Where a change is allowed, the API gives you a modification call. You send the booking reference along with the new details, such as different dates, a different number of guests, or a corrected guest name. The supplier then checks whether the room is still free on the new dates and at what rate, and answers with a fresh price. If the new dates cost more, the difference is collected. If they cost less, you may or may not see money come back, again according to that supplier's own terms.
Plenty of rates, especially the cheaper ones that cannot be refunded, allow no change at all. For those the only route is to cancel, accept whatever penalty the policy carries, and make a new booking. Small corrections, like a spelling mistake in a guest name, are often treated more kindly than a date change, but even that is the supplier's decision rather than ours, and a few suppliers ask that such requests go through their own support desk instead of the API.
So before you promise a customer that a stay can be moved, look at the change and cancellation terms the API returned at the time of booking and save them with the reservation. That way your staff can see at a glance which bookings are flexible and which are locked in, and nobody has to guess on the phone.