---
title: "Create channel commission"
method: POST
path: "/channel-commissions-v2"
tags: ["Channel Commission"]
---

# Create channel commission

`POST /channel-commissions-v2`

## Request

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

Creates a single channel commission for a channel and source.

Omit `unitTypeId` for an account-level commission. Provide `unitTypeId` for a listing-level commission.

Listing-level commissions are saved either way, but they are used for reservations only when the listing `levelEntityType` is `UNIT_TYPE` (see GET/PUT `unit-type/{unitTypeId}/level-configurations`). When the level is `ACCOUNT`, account-level commissions are used instead.

`commission`, `tax`, and `isPreDeduct` are optional. Omit `commission` or `tax` to save without them; `isPreDeduct` defaults to `false`.

If commissions already exist for the account or listing, this entry is added to them.

## Request body

- object
  - `unitTypeId` string: Listing / unit type ID. Omit for an account-level entry; provide to create or update a listing-level entry. Must be a unit type (parent listing), not a sub-unit.
  - `commission` object: Commission percentage (`value`) and which charges it applies to (`of`). On create, omit to save the entry without a commission. On update, omit to remove the existing commission from this entry.
    - `value` number, required: Commission percentage (0–100)
    - `of` string[], required: Which charges the commission applies to. Use these API enum values (for example `ACCOMMODATION_FARE`, `CLEANING_FEE`, `PAYOUT`) — not the Valid Enumerations guide’s legacy names `fareAccommodation` / `fareCleaning`. Allowed values: PAYOUT, ACCOMMODATION_FARE, CLEANING_FEE, CANCELLATION_FEE, ACTIVITIES, ADDITIONAL_BED, ADDITIONAL_CHARGE, AIR_CONDITIONING, BABY_BED, BEVERAGE, BOOKING_FEE, BREAKFAST, BUSINESS_CENTER, CAR_RENTAL, CHEF, CLEANING, CLUB_CARD, COMMISSION_CHARGE, COMMUNITY, CONCIERGE, CREDIT_CARD_PROCESSING_FEE, DAMAGE_CHARGE, DAMAGE_WAIVER, DEPOSIT, DIRECT_SERVICE, DOCK_FEE, EARLY_CHECK_IN, EARLY_CHECKOUT, ELECTRICITY, EQUIPMENT_RENTAL, FLIGHTS, FOOD, GIFT_BASKET, GOLF_CART_RENTAL, GUEST_SERVICE, GUESTY_BASIC_TRAVEL_COVERAGE, GUESTY_EXTENDED_TRAVEL_COVERAGE, GUESTY_SHIELD, HEATING, HOMEOWNERS_ASSOCIATION, HOT_TUB, HOUSEKEEPING, INSURANCE, PROPERTY_INSURANCE, INTERNET, LATE_CHECK_IN, LATE_CHECKOUT, LAUNDRY, LINENS, MANAGEMENT, MEAL, MEET_AND_GREET, MINIBAR, MISCELLANEOUS, OIL, PARKING, PAYMENT_FEE, PET, POOL, POOL_HEATING, RESERVATION_FEE, RESORT, SERVICE, SHIPPING, SPA, TOILETRIES, TOTAL_PAYOUT_BASED, TOUR, TOWELS, TRANSFER, TRANSPORTATION, UTILITY_FEE, VALET, VIP_SERVICES, WATER, WELLNESS, WIFI, WOOD, LOCAL_TAX, CITY_TAX, VAT, GOODS_AND_SERVICES_TAX, TOURISM_TAX, OTHER, STATE_TAX, COUNTY_TAX, OCCUPANCY_TAX, TRANSIENT_OCCUPANCY_TAX, HOME_SHARING_TAX, HARMONIZED_SALES_TAX, MINIMUM_ALTERNATE_TAX. Channel-specific rules still apply (for example `homeaway2` requires `of: ["PAYOUT"]` only). The guide’s “Applies to” column is a product overview and may list fewer or differently named charges.
  - `tax` number: Tax percentage on the channel commission (0–100). On create, omit to save the entry without tax. On update, omit to remove the existing tax from this entry.
  - `channel` string, required: Booking channel name (for example `bookingCom`, `airbnb2`, `homeaway2`, or `manual`). Must form a valid pair with `source`: either `manual` (always allowed), or an **active** pair from the channel-commission configurations catalog. The Guesty Open API [Valid Enumerations — Channel Commission Sources](https://open-api-docs.guesty.com/docs/valid-enumerations) guide is a product overview of sources; acceptance here is the active catalog (invalid pairs return 400). The guide’s “Set Commission” column may disagree with the catalog for a given source.
  - `source` string, required: Booking source within the channel. Often the same as `channel` for direct channels; can differ for channel managers (for example channel `rentalsUnited` with source `homeAway`). Must form a valid pair with `channel` (see `channel` for the catalog rule).
  - `isPreDeduct` boolean: When `true`, Guesty automatically deducts the channel commission from the host payout for reservations from this source (adds a negative host channel fee on the folio). This API only honors `isPreDeduct` for the `manual` channel — for any other channel the value is ignored and stored as `false`. The Valid Enumerations guide may list Pre-deduct for other sources (for example `expedia`) as a product/UI capability; that is not controlled by this field. Defaults to `false` when omitted.

## Response `201`

The created channel commission entry

- object
  - `_id` string: ID of this channel commission entry. Use this value as `channelCommissionId` on PATCH and DELETE.
  - `commission` object: Commission percentage and which charges it applies to. Omitted when no commission is set.
    - `value` number, required: Commission percentage (0–100)
    - `of` string[], required: Which charges the commission applies to (for example `ACCOMMODATION_FARE`, `CLEANING_FEE`, `PAYOUT`)
  - `tax` number: Tax percentage on the channel commission (0–100). Omitted when no tax is set.
  - `source` string, required: Booking source within the channel. Often the same as `channel` for direct channels; can differ for channel managers.
  - `channel` string, required: Booking channel name (for example `bookingCom`, `airbnb2`, `homeaway2`, or `manual`)
  - `isPreDeduct` boolean: When `true`, Guesty automatically deducts the channel commission from the host payout for this source. Applies only to the `manual` channel. Omitted or `false` when not used.

## Other responses

- `400`: The request is invalid. Common causes: missing/invalid body fields, invalid channel/source pair, or `unitTypeId` refers to a sub-unit (only unit types / parent listings are allowed).
- `409`: A channel commission for the same channel/source pair already exists at this account or listing level.

## Changes

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

[Operation history](https://skmtc.dev/guesty/apis/guesty-open-api/changes/channel-commissions-v2/post.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)
