New endpoint: POST /expenses-api/expenses/{id}/attachments - Upload attachments to existing expenses
Added optional attachments field to:
Request: POST /expenses-api/expenses - Include attachments when creating expenses
Response: GET /expenses-api/expenses and GET /expenses-api/expenses/{id} - View attachments associated with expenses
Tax Payee Types
Added optional taxPayeeTypes field to:
Request: POST /expenses-api/expenses - Specify tax payee types when creating expenses
Response: GET /expenses-api/expenses and GET /expenses-api/expenses/{id} - View tax payee types associated with expenses
Improvements
More Flexible Expense Creation
The type field in POST /expenses-api/expenses is now optional, providing greater flexibility when creating expenses
VATPE (VAT on expense), MARF(markup on fees), and JE (manual journal entry) have been added to the chargeCode enum parameter of the /accounting-api/ endpoints.
API Documentation Updates
Renamed API tag from "Accounting (only available for accounting add-on users)" to "Expenses (only available for accounting add-on users)" for better clarity across all expenses endpoints
Validation Changes ⚠️
New Field Length Restrictions
Added maximum length validations to POST /expenses-api/expenses request properties:
currency: 3 characters maximum
name: 255 characters maximum
description: 255 characters maximum
taxName: 255 characters maximum
taxDescription: 255 characters maximum
Important: Please ensure your client applications respect these field length restrictions before upgrading. Requests exceeding these limits will be rejected.
Due to a glitch in our publishing process, change logs weren't published as expected. Here are the Open API updates that have occurred in 2025.
December
[2025-12-28] Removed the ability to update the url of an existing webhook; it was causing a bug. Editing eventsis still supported. Consider a delete and replace approach moving forward.
[2025-12-18] Removed the defunct Hooks endpoints. These represented the old auto-messages system that was replaced by workflow automation in 2022. There is no API for the current automation.
[2025-12-18] Added calendar.updated.v2 to the list of supported webhook event enums. See the migration article for more information.
[2025-12-18] New full document management capabilities for owners:
[2025-09-25] Removed the beta smart calendar rules endpoints. This was a closed pilot that has been discontinued.
[2025-09-21] New calendars webhook piloted for heavy users of calendar resources. Paired with an optimized endpoint, it improves the delivery of calendar event payloads and provided the user with the option of retreiving a "minified" calendar payload instead of the regular one. See the links below for further details.
[2025-07-30] Removed the beta tags from the property photos endpoints.
[2025-07-24] New categories endpoint published for accounting customers for retrieving owner charge and PMC expense categories.
[2025-07-24] A new optional categoryId field has been added alongside the existing category field, which has also been updated to be optional instead of required. A gst enum has been added to the category options.
[2025-07-24] A new endpoint for creating owner charges associated with specific listings has been released (Accounting customer only)
[2025-06-30] Added season conditions (conditions) to the additional fees endpoints, as well as new fields to support versions 2 and 3 of this feature, where each fee is configured per channel (channelConfigurations) and manual source (sourcesConfigurations). Endpoints include:
[2025-05-21] Updated the description for the Update reservation status document. The status enums have been removed from the description; instead, refer to the status dropdown in the document for the supported values.
[2025-05-05] Added an FAQ for receiving reservation webhooks out of order.
[2025-05-05] Added clarifications to the Stripe tokenization flow guide to make it easier for developers to understand the prerequisites for building a successful integration.
[2025-03-20] Owner portal settings added to owners:
showOverallGuestRating (boolean)
showGuestReviews (boolean)
inquiriesCount (boolean)
averageBookingValue (boolean)
averageGuestStay (boolean)
ownerReservationRevenueLoss (boolean)
ownerReservationBookedNights (boolean)
[2025-03-20] Added explicit limit information to the Stripe payment processor listing assignment endpoint. The documentation now clearly states that a single request can process a maximum of 100 listing IDs. This allows you to design your integration with suitable batching logic from the beginning.
[2025-03-03] Added deprecation notice to the Create a reservation endpoint. You should replace the booking flows based on that endpoint with the v3 flow.
[2025-03-03] Added owner dashboard settings fields to the Update owner in preparation for the new owners' dashboard in development.
New field
Description
HC article
netAccommodationFare (boolean)
When toggled on, the owner will view the net accommodation fare under the reservation tooltip only. Supported only for non-accounting users.
Add a pre-defined reservation report to owners (BETA)
showReservationTooltips (boolean)
When toggled on the owner can view the data per reservation
showNotesForCoOwnerReservations (boolean)
When enabled, the owner can view notes entered for co-owner reservations, only available for new type owner reservations
netRentalIncome (boolean)
This toggle is available for Accounting users only. Allows your property owner to view rental income by hovering over a specific reservation to view the Reservation tooltip in the "My Properties" section.
[2025-02-25] Removed the private rm-los-calendar API. It never graduated from its pilot and was deprecated.
[2025-02-24] Fixed character limit error messaging for description and name fields of the Create owner charge, Create expense, and Create expense by listing endpoints. This resolves the mysterious 500 status error users received when they exceeded the 255-character limit.
As an alternative to the UI interactions, two new endpoints have been created to provide you with the same functionality available on the UI. These endpoints are:
New Create expense by listing [Pilot] endpoint. Testers can create an expense for the provided listing. Unless a specific owner is provided, the expense will be created for all listing owners.
Added a new referenceId field to the Create owner charge and Create expense endpoints. This allows you to link the vendor reference ID with the charge or expense, group transactions on the owners' statement using the vendor's ID, and create an audit trail to the relevant vendor account or service.
Added transaction date filtering and updated descriptions to the Get journal entries document.
Additional Fees
Upsells[beta]
Introduced upsells for the Guesty booking website. You can define an upsell fee and add images and a description (it can be a hyperlink).
Added descriptions for the prices.monthlyPriceFactor and prices.weeklyPriceFactor parameters to the Create a listing listing document, clarifying the range and format of accepted values.
Added page descriptions to each endpoint document explaining the API's application scope, that it is in beta testing, and how to apply to become a tester.
Tasks
Updated the assigneeId, listingId, reservationId, and supervisorId descriptions on the Create a new task and Update a task endpoints.
assigneeId - "The unique Guesty identifier of the person assigned to the task." Replaces, “The unique identifier of the person assigned to the task.”
listingId - "The object ID of the Guesty listing the task is attached to." Replaces, “The object ID of the listing the task is attached to."
reservationId - "The object ID of the Guesty reservation the task is attached to." Replaces, “The reservation ID of the listing the task is attached to."
supervisorId - "The unique Guesty identifier of the person assigned to supervise the task." Replaces, "The uniqueID of the person assigned to supervise the task."
Added a blockReason field to the Update the calendar for a single listing endpoint. You can select from: Owner block, Offboarded, Migrated unit block, Maintenance, Onboarding, Emergency out of order, Do not sell, Deactivated, or Other.
Patched 🔧
Calendar
The description of the Update the calendar for a single listing endpoint suggested that it is possible to set availability for multiple dates or date ranges, but that was inaccurate. The request only permits a single date or date range. The document description was amended to, "Set the nightly rate, minimum stay and availability of any calendar date per listing."
The Update calendar for multiple listings endpoint suggested that cta/ctd values could be updated, but this isn't the case. These body parameters were removed from the document.
The new GuestyPay rolling reserve (RR) charge code was added to the Get journal entriesaccounting endpoint. This will allow you to maintain an accurate picture of the amount withheld by GuestyPay and sync it with their financial reporting solutions.
Calendar
New endpoint for retrieving calendar block logs. You can select logs based on listing ID, username, date range, block type, and event type.
Added the option to override fee type, amount and quantifier in channel per channel, including the ability to specify whether the fee should be bundled as a part of the accommodation fare and whether it should be deducted from it when a reservation is created.
We have added price adjustment support for the Expedia AFE (Expedia bundles and sends reservation additional fees as a single invoice item).
Patched 🔧
Guests and Reservations
Defined the individual address fields for the guest object on the guests and reservations APIs, delivering clarity for those working with guest data. These fields already existed but needed to be documented.
Guesty has replaced the property identifiers unitType and unitTypeId with the more familiar listing and listingId. The changes ensure consistency in naming conventions and improve code readability and maintainability. For example:
Reservation guest invoice items now have their own API and currently only support one action: adding an invoice item to an existing reservation. The table below highlights the changes between the versions.
Working Capital is moving from the owners domain to accounting.
What's New?
Working Capital now has its own API. This will allow you to update Owner Working Capital via the API and permit accounting role permission changes to be applied to Working Capital. Additionally, it opens the possibility of adding historical snapshots of its value.
The default behavior remains the same. When a new owner is added, their working capital remains at zero until it is updated.
We plan to deprecate Working Capital from the Owners API between February 26 and March 4, 2024 (UTC+2). Please ensure you update your flows beforehand.