Improvements to the guest payment method and vendor documentation

Changed

  • Rename POST /guests/{id}/payment-methods from “Create payment method" to “Create guest payment method”
  • Label the POST /guests/{id}/payment-methods request-body variants as Stripe Payment Method and Guesty Pay Payment Method while preserving their required fields
  • Document payoutMethod in vendor response bodies for GET /vendors and GET /vendors/{id}, including bank account, routing, BSB, sort code, account holder, and business address fields

Added

  • Document the 201 application/json response body for POST /guests/{id}/payment-methods with a guest payment method schema and example
  • Document the 200 application/json response body for GET /guests/{id}/payment-methods with a list of guest payment methods and example
  • Add PaymentMethod and PaymentMethodList schemas for guest payment method response documentation covering /guests/{id}/payment-methods
  • Add POST /vendors for creating vendors with company, firstName, lastName, email, optional contact details, tax code, notes, and payoutMethod request fields
  • Add PATCH /vendors/{id} for updating vendor details and vendor payoutMethod data by vendor ID
  • Add create and update vendor schemas for POST /vendors and PATCH /vendors/{id}, including CreatePayoutMethodDto, UpdatePayoutMethodDto, and vendor response schemas

Reservations V3 Updates - 2026-05-12


Added

  • 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

Financials - 2026-04-27

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

Owner Payout Methods 2026-04-23

New Payouts API for managing owner payout details

Added

  • Add GET /payouts/owners/{ownerId} to retrieve owner payout details
  • Add POST /payouts/owners/{ownerId} for creating a payout method for a given owner
  • Add PUT /payouts/owners/{ownerId} for updating an existing payout method for a given owner
  • Add POST /payouts/owners/bulk for adding payout methods for multiple owners in a single request

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).

Resources


Added


Removed

  • 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.

Introducing a new custom review functionality for uploading external reviews to Guesty. Learn more

Changed

  • General backend optimizations

Added

  • Add POST /reviews/custom-channel-reviews endpoint.
  • Add GET /reviews/custom-channels endpoint.
  • Add POST /reviews/custom-channels endpoint.

Removed

  • Remove non-functional and unsupported PUT /reviews endpoint.

Added

  • 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.