Changelog
Every change to version 1 of the Public API, newest first. An entry ships on the day the change reaches production.
October 23, 2026 · Check-out grace in `valid_until` of lock codes
- Changed
valid_untilof alock_codenow includes the check-out grace a host can set per Property (0 to 120 minutes): it is the moment the code stops opening the door, which can be later than the operational check-out time. Without a grace it is unchanged.
October 17, 2026 · `subscription_blocked` during a SEPA debit
- Changed A past-due subscription whose SEPA debit is still being collected no longer answers
subscription_blockedfor up to 14 days, as in the ZenHost app. It used to answer it as soon as the subscription was past due. - Fixed An account whose subscription ended and was deleted now answers
subscription_blocked. Its calls used to succeed.
October 15, 2026 · Default values of property-specific Shortcodes
- Changed
shortcodesonGET /properties/{id}/guide: a property-specific Shortcode with no value of its own for the Property now comes with its default values, the ones ZenHost sends for that Property. It used to be left out. - Fixed
POST /bookings/{booking_id}/messages: a property-specific Shortcode with no value of its own for the Property is now replaced by its default value. It used to be replaced by nothing.
October 14, 2026 · Booking amount details
- Added
amounts.linesonGET /bookings: the amount lines of the booking, each with its ZenHosttype,label,amount,withheld_by_channelandincluded_in_price. Cancelled, failed, refunded or partially refunded lines are left out. - Changed
amounts.totalis now the sum of thelinesnot included in another line. It used to be the amount recorded on the booking. - Removed
amounts.netis removed: ZenHost does not compute what the host receives. Derive it fromtotal,commissionand thelineswithwithheld_by_channel. - Changed Adding, editing or removing an amount line now sends
booking.updatedto the connections withprices.read. Unchanged public amounts send no additional event. While a booking event (booking.created,booking.updatedorbooking.cancelled) for the same connection, booking and Property is still queued and not yet tried, nobooking.updatedis added: re-read the booking when that event arrives. - Fixed
created_atis when the booking was made on its Sales Channel: a later revision, such as a cancellation, or a re-import no longer moves it forward.