---
title: "[Beta] Update reservation channel commission"
method: PUT
path: "/channel-commissions-v2/reservations/{reservationId}"
tags: ["Channel Commission"]
---

# \[Beta\] Update reservation channel commission

`PUT /channel-commissions-v2/reservations/{reservationId}`

## Request

- Base URL: `https://open-api.guesty.com/v1`
- URL: `https://open-api.guesty.com/v1/channel-commissions-v2/reservations/{reservationId}`
- Auth: API key in header `authorization`

[Beta] Sets a custom channel commission amount on a reservation and updates the folio.

Send the new `amount` in the reservation currency and `realizationDates` for when it should be recognized.

Realization-date rules:
- Dates are evaluated in the **listing timezone**.
- The **allowed recognition window** is the inclusive `from`/`to` range returned by Guesty Accounting™ for this reservation’s channel-commission (`CM`) line item (`allowedRanges[0]`). It is reservation-specific (driven by the account’s accounting / business-model recognition rules). This API does not return the window; a `date` or both ends of a `from`/`to` range (after normalization) must fall inside it, or the request returns 400 (`realization date not in allowed dates range`).
- For `from`/`to`, the range must also match the stay: before or on check-in use check-in→checkout; during the stay use today→checkout. There must be enough days left before checkout. The stored end date is normalized to checkout minus one day.

Not allowed when the channel has already deducted the commission from the host payout (a prededucted host channel fee is already on the folio — common for Booking.com). In that case the request returns 400.

## Path parameters

- `reservationId` string, required

## Request body

- object
  - `realizationDates` union, required: When this channel commission should be recognized for accounting. Send exactly one of the two shapes: `{ date }`, or `{ from, to }` (not both styles, and not an empty object). Invalid or empty values return 400. Example range: `{ "from": "2026-01-01", "to": "2026-01-10" }`.
    - object
      - `date` string, date, required: Single date (`YYYY-MM-DD`) when the channel commission should be recognized for accounting. Evaluated in the listing timezone; must fall inside the allowed recognition window for this reservation.
    - object
      - `from` string, date, required: Start date (`YYYY-MM-DD`) of the recognition range. Required together with `to`. Evaluated in the listing timezone; must fall inside the allowed recognition window for this reservation.
      - `to` string, date, required: End date (`YYYY-MM-DD`) of the recognition range. Required together with `from`. Evaluated in the listing timezone; must fall inside the allowed recognition window for this reservation.
  - `amount` number, required: New channel commission amount in the reservation currency (for example USD or EUR). There is no separate currency field — send the amount already in that currency.

## Response `200`

The recalculated reservation folio after the channel commission change. The response body is the full folio; the schema below documents the fields most relevant to this operation (`reservationId`, `currency`, `hostServiceFee`, and related tax fields when present).

- object
  - `reservationId` string, required: Reservation ID
  - `currency` string, required: Reservation currency (ISO 4217). All amounts in the response use this currency.
  - `hostServiceFee` number, required: Channel commission amount after the override, in the reservation currency.
  - `hostServiceFeeTax` number: Tax on the channel commission, when applicable, in the reservation currency.
  - `hostServiceFeeIncTax` number: Channel commission including tax, when applicable, in the reservation currency.

## Other responses

- `400`: The request is invalid. Common causes: missing or invalid `amount` or `realizationDates` (including an empty object, both `date` and `from`/`to`, or only one of `from`/`to`), invalid `reservationId`, a prededucted host channel fee already exists on the reservation, the date/range is outside Accounting’s allowed recognition window for `CM` on this reservation, or a `from`/`to` range does not match the stay rules / has insufficient days before checkout.
- `404`: No folio was found for the given `reservationId`.

## Changes

- **2026-11-03** `3122b8618183`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/guesty/apis/guesty-open-api/changes/channel-commissions-v2/reservations/:reservationId/put.md)

---

[API](https://skmtc.dev/guesty/apis/guesty-open-api.md) - [All operations](https://skmtc.dev/guesty/apis/guesty-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/guesty/apis/guesty-open-api/revisions/3122b8618183?raw)
