Add reservation search at GET /reservations-v3/search, with filtering, sorting, and pagination
Add reservation travel information updates at PUT /reservations-v3/{reservationId}/travel-information
Add reservation activity log retrieval at GET /reservation-logs/{reservationId}
Changed
Make mergeAccommodationFarePriceComponents optional and defaulted on GET /reservations-v3, PUT /reservations-v3/{reservationId}/source, PUT /reservations-v3/{reservationId}/dates, PUT /reservations-v3/{reservationId}/guests, and PUT /reservations-v3/{reservationId}/relocate
Make mergeAccommodationFarePriceComponents optional and defaulted on GET /quotes/{quoteId}, POST /quotes, POST /quotes/multiple, and POST /quotes/{quoteId}/coupons
Add mergeInclusiveTaxes support to GET /reservations-v3
Add ignoreCalendar, ignoreTerms, and ignoreBlocks request fields to PUT /reservations-v3/{reservationId}/dates, PUT /reservations-v3/{reservationId}/guests, and PUT /reservations-v3/{reservationId}/relocate
Add reservedUntil request and response support to PUT /reservations-v3/{reservationId}/status
Allow HOST as a cancellation actor on PUT /reservations-v3/{reservationId}/status
Make reason and messageToGuest optional on POST /reservations-v3/{reservationId}/decline
Expose additional reservation metadata in reservation and quote responses, including isUsingVCC and channel cancellationFee
Deprecation tags added to legacy listings and reservations resources to indicate Guesty's intention to sunset them in the near future
Added
Add the isTest flag to GET /listings, POST /listings, GET /listings/{id}, PUT /listings/{id}, PUT /listings/{id}/availability-settings, GET /owners-reservations, GET /owners-reservations/{id}, and PUT /owners-reservations/{id} responses to identify test properties
Add secondarySource to GET /reservations, POST /reservations, GET /reservations/{id}, PUT /reservations/{id}, and POST /reservations/{id}/invoiceItems responses to expose the reservation website name when available
Added feeGroupName to GET /payment-transactions/reports/payouts-reconciliation responses to expose the fee group name for payout reconciliation entries
Changed
Deprecate GET /listings/{id}/custom-fields, PUT /listings/{id}/custom-fields, GET /listings/{id}/custom-fields/{field_id}, and DELETE /listings/{listing_id}/custom-fields/{field_id}
Deprecate POST /reservations.csv and POST /reservations.email
No breaking changes have been introduced to taxes; rather, the documentation now aligns with the actual product behavior.
Added
Add pre-deduct commission support so you can configure automatic deduction behavior in commission settings (PUT /channel-commissions-v2/account, PUT /channel-commissions-v2/listings, PUT /channel-commission/listings, and PUT /channel-commission/account)
Add optional isUpsellFee to requests for POST /invoice-items/reservation/:reservationId
Add optional realizationDates.items.from and realizationDates.items.to to requests for POST /invoice-items/reservation/:reservationId
Add optional stayIndex to requests for POST /invoice-items/reservation/:reservationId
Add DIRECT_SERVICE, GUESTY_BASIC_TRAVEL_COVERAGE, GUESTY_EXTENDED_TRAVEL_COVERAGE, GUESTY_SHIELD, PROPERTY_INSURANCE, and TOTAL_PAYOUT_BASED enum values to secondIdentifier in requests for POST /invoice-items/reservation/:reservationId
Support parentInvoiceItemId, realizationDates[].from, realizationDates[].to, and stayIndex in requests to POST /price-adjustments/manual-total-amount to allow richer mapping of manual total amount adjustments
Support additional secondIdentifier values DIRECT_SERVICE, GUESTY_BASIC_TRAVEL_COVERAGE, GUESTY_EXTENDED_TRAVEL_COVERAGE, GUESTY_SHIELD, PROPERTY_INSURANCE, and TOTAL_PAYOUT_BASED in requests to POST /price-adjustments/manual-total-amount
Support additional normalType values MAR and MARF in requests to POST /price-adjustments/manual-total-amount
Return optional parentInvoiceItemId, realizationDatesRange, and stayIndex fields in 200 responses from GET /price-adjustments/total-amount/:id for better visibility into item-level adjustment context
Add optional request property channelOverrides to POST /taxes and PATCH /taxes/:id
Add optional request property isInclusive to POST /taxes and PATCH /taxes/:id
Add optional query parameter applyRequiredChangesToTaxesWithSameType to PATCH /taxes/:id
Add optional response property channelOverrides to POST /taxes, PATCH /taxes/:id, GET /taxes/account, GET /taxes/unit-type/:id, and GET /taxes/unit-type/:id/actual
Add optional response property isInclusive to POST /taxes, PATCH /taxes/:id, GET /taxes/account, GET /taxes/unit-type/:id, and GET /taxes/unit-type/:id/actual
Expand supported request enum values for appliedOnFees/items in POST /taxes and PATCH /taxes/:id to include many additional fee types (for example: ACTIVITIES, ADDITIONAL_BED, BOOKING_FEE, CLEANING, PARKING, POOL_HEATING, RESORT, WIFI, WOOD, and others)
Changed
Restrict appliedOnFees/items to enum values in POST /taxes and PATCH /taxes/:id
Restrict conditionalOverrides.rules[].dateRange.from and conditionalOverrides.rules[].dateRange.to to MMDD_DATE_FORMAT_REGEX in POST /taxes and PATCH /taxes/:id
Add vrboLite as a possible response enum value for appliedByDefaultOnChannels/items in POST /taxes, PATCH /taxes/:id, GET /taxes/account, GET /taxes/unit-type/:id, and GET /taxes/unit-type/:id/actual
Expand the supported commission.of values by adding DIRECT_SERVICE, GUESTY_BASIC_TRAVEL_COVERAGE, GUESTY_EXTENDED_TRAVEL_COVERAGE, GUESTY_SHIELD, PROPERTY_INSURANCE, and TOTAL_PAYOUT_BASED in update payloads for PUT /channel-commission/account, PUT /channel-commission/listings, PUT /channel-commissions-v2/account, and PUT /channel-commissions-v2/listings
Relax validation by making tax optional for payloads used by PUT /channel-commissions-v2/account and PUT /channel-commissions-v2/listings
Allow commission tax to be omitted when it is not relevant in channel commission updates (PUT /channel-commissions-v2/account, PUT /channel-commissions-v2/listings)
Improve consistency of channel commission update inputs to make account and listing updates more predictable (PUT /channel-commissions-v2/account, PUT /channel-commissions-v2/listings).
Make realizationDates.items.date optional in requests for POST /invoice-items/reservation/:reservationId
Allow priceAdjustments[].realizationDates[].date to be omitted in requests to POST /price-adjustments/manual-total-amount when using range-based realization dates (from/to)
Removed
Remove channel enum values agoda, airbnb, bookingCom, bookingPal, expedia, homeAway, homeaway2, rentalsUnited, siteMinder, and tripAdvisor from request property appliedByDefaultOnChannels/items in POST /taxes and PATCH /taxes/:id
Roles are deprecated from the /users API and separated into their own /roles and /user-scope API resources to align Guesty's Open API with the latest roles and permissions version supported by the platform.
Added
Add GET /roles to retrieve a list of supported user roles and permissions
Add GET /roles/:id to retrieve the roles and permissions assigned to a user
Add POST /roles/assign to assign roles and permissions to a user
Add POST /user-scope/assign to assign the scope of listing permissions to a user
Add GET /user-scope/:id to retrieve the scope of listing permissions assigned to a user
Changed
Add optional country request property to POST /users
Add optional registrationOrigin request property to POST /users
Removed
Breaking: deprecated the roles property from the /user endpoints. Update your integrations to utilise the /roles and /user-scope APIs to manage user roles and permissions instead
New feature for adding and managing external links in your property's "Channels" section, and a new owner-guest creation endpoint to support owner-guest reservations
Added
Add POST /properties-api/listing-settings/external-links/{propertyId} for adding an external link to the property's page
Add PUT /properties-api/listing-settings/external-links/{propertyId}/{linkId} for updating the URL and name of an existing external link
Add PUT /properties-api/listing-settings/external-links/{propertyId}/order for reordering the list of external links
Add GET /properties-api/listing-settings/external-links/{propertyId} for retrieving the property's list of external links
Add DEL properties-api/listing-settings/external-links/{propertyId}/{linkId} for deleting an external link
Add POST /owners/:ownerId/guest endpoint to support owner reservations. You need to generate this ID only for a first-time owner reservation.
Changed
Add EXPENSES_CSV_IMPORT as a filterable trigger to GET /accounting-api/journal-entries and GET /accounting-api/journal-entries/all
Document GET /expenses-api/expenses pagination limit as “up to 100 items per page” in the endpoint description.
Document POST /expenses-api/expenses validation/usage details in the endpoint description (including lock period behavior and clarifications around required inputs and mutual exclusivity of owners vs listingIds).
Document GET /expenses-api/expenses/:id} returned details to explicitly mention attachments in the endpoint description.
Document POST /expenses-api/expenses/:id/attachments constraints and required fields in the endpoint description (including “up to 10 attachments per request” and urlThumbnail).
Document DELETE /expenses-api/expenses/:id/attachments/:attachmentId behavior in the endpoint description to emphasize it returns the updated expense after removal.
Document updated cancellation rules for POST /expenses-api/expenses/:id/cancel in the endpoint description (expanded eligible statuses and clarified rejection conditions).
Simplify/standardize multiple 404 response descriptions (e.g., “Expense not found”, “Expense or attachment not found”).
Add businessInformation.businessName to Owner create/update payloads and expose it in Owner responses (POST /owners, PUT /owners/:ownerId, GET /owners/:ownerId).
Add ownersPortalSettings.rentalIncome to Owner create/update payloads and expose it in Owner responses (POST /owners, PUT /owners/:ownerId, GET /owners/:ownerId).
Add bulk support for businessInformation.businessName and ownersPortalSettings.rentalIncome in request/response items (POST /owners/bulk).
Remove CASH from the supported recorded payment enums list, as it is part of the payment automations workflow and can lead to an unintended credit card charge, once a valid credit card is added to the reservation. Use RECORDED_CASH instead.
Add reservation.created.v2 and reservation.updated.v2 enum values to the events request and response properties for the GET, POST, and PUT methods on the /webhooks and /webhooks/{id} endpoints.
Changed
Deprecate the PUT /reservations/{id}/custom-fields, GET /reservations/{id}/custom-fields/{field_id}, and DELETE /reservations/{reservation_id}/custom-fields/{field_id} endpoints. See Custom Reservation Fields Migration.
Add POST /properties-api/groups/group to create COMBO or DUPLICATES groups
Add GET /properties-api/groups/group to list and filter property groups with pagination
Add GET /properties-api/groups/group/{id} to retrieve details for a specific group
Add PATCH /properties-api/groups/group/{id} to modify group membership or primary listing
Add DELETE /properties-api/groups/group/{id} to remove groups and associated rules
Add DELETE /expenses-api/expenses/{id}/attachments/{attachmentId} to permit you to correct any mistakes with expense attachments
Changed
Update description of owners property in POST /expenses-api/expenses request body to clarify requirements: that you may only send owners entries if the corresponding OWNER appears in the shares array with a payment share.