Overview
The Promotions Retrieve API allows you to get all active promotions available for a specific property through your distribution channel. Promotions include coupons, early booker discounts, last-minute deals, free night offers, and more.Retrieving Property Promotions
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| propertyId | string | Yes | Identifier of the property to retrieve promotions for |
Example Request
Example Response
Response Fields
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the promotion |
| code | string | Promotion code that guests can apply |
| title | string | Display title of the promotion |
| description | string | Detailed description |
| startDateTime | string (datetime) | When the promotion becomes available for booking |
| endDateTime | string (datetime) | When the promotion expires |
| stayStartDate | string (date) | Earliest check-in date the promotion applies to |
| stayEndDate | string (date) | Latest check-out date the promotion applies to |
| maximumUsageLimit | integer | Maximum number of times the promotion can be redeemed |
| usageCount | integer | Number of times already redeemed |
| minimumNights | integer | Minimum stay length required |
| maximumNights | integer | Maximum stay length the promotion covers |
| discountMethod | string | PERCENTAGE or FLAT |
| discountType | string | Type of discount applied |
| target | string | What the discount applies to (e.g., ROOM, TOTAL) |
| discountAmount | integer | Flat discount amount (when discountMethod is FLAT) |
| discountPercentage | number | Percentage discount (when discountMethod is PERCENTAGE) |
| maximumDiscountAllowed | integer | Maximum discount cap for percentage-based discounts |
| minimumBookingAmount | integer | Minimum booking amount required |
| status | string | ACTIVE, INACTIVE, or EXPIRED |
| type | string | Promotion category (see Promotion Types below) |
| nonRefundable | boolean | Whether bookings using this promotion are non-refundable |
| weekendOnly | boolean | Applies only on weekends |
| weekdayOnly | boolean | Applies only on weekdays |
| clubbed | boolean | Can be combined with other promotions |
| lastMinuteUnit | string | Time unit for last-minute offers (HOURS or DAYS) |
| lastMinuteValue | integer | Time value for last-minute eligibility |
| earlyBookerValueInDays | integer | Minimum days in advance for early booker offers |
| freeNights | integer | Number of free nights (for free-night promotions) |
| termsAndConditions | string | Terms and conditions text |
| icon | string | Icon identifier for display |
| rank | integer | Display priority (lower = higher priority) |
| blackoutDates | object | Dates when the promotion is not applicable |
| checkinBlackoutDates | object | Check-in dates when the promotion is not applicable |
| rule | object | Additional rules and conditions |
Promotion Types
| Type | Description |
|---|---|
| COUPON | Code-based discount that guests can apply at checkout |
| EARLY_BOOKER | Discount for bookings made a certain number of days in advance |
| LAST_MINUTE | Discount for bookings close to the check-in date |
| FREE_NIGHT | Offers free nights (e.g., “Stay 3, Pay 2”) |
| BASIC | Standard promotion without special conditions |
Authentication
All requests must include the following headers:Api-Key: Your API key for authenticationChannel-Id: Identifier for the channel making the request
Error Handling
The API returns standard HTTP status codes:- 200: Success
- 401: Unauthorized
- 404: Property not found
- 500: Internal Server Error

