What is it?
Use the Query Coupons API to return configuration information for active hotel-level or chain-level single-use and multi-use coupons. You can use this API to export or import the coupon configuration information to or from a CRM or a data warehouse.
Before You Begin
- You must authenticate before you can use this API. For full instructions, see Get a Token for REST APIs.
- At any time, you can go to this API's Reference Documentation tab, where you can make test calls with the following endpoints.
How to use
This section covers the endpoints for this API and examples of how to use them.
It also covers examples (use cases) for the following:
- Retrieve coupon information for a hotel.
- Retrieve Coupon Information for One or More Coupon Codes.
GET coupon information for a chain #
This endpoint enables you to retrieve a list of hotel-level or chain-level single-use or multi-use coupon configurations.
[GET] /v1/api/admin/product/coupons?chainId={chainId}Query Parameters
The following table describes the elements that you can include when you query this endpoint:
| Element | Description | Type | Required? |
|---|---|---|---|
| chainId | The chainId uniquely identifies a single chain SynXis. Use this to specify the chain for which you want to get coupons. Example : 9141 | array | Required |
| hotelId | The hotelId uniquely identifies a single hotel in Control Center. Use this to specify a list of hotels for which you want to request coupons. | array | Optional |
| primaryChannel | This is the primary channel for retrieving translated content. | string | Optional |
| filterChannel | Filter channel code accepts one or multiple channel codes to filter coupons based on its channel assignment in SynXis. | array | Optional |
| couponCode | The couponCode is the Coupon Offer Code you specify to retrieve more information for that coupon configured in SynXis. | array | Optional |
| level | This is the level of the coupons. Default is Any. | string | Optional |
| pageStart | The starting record to return in the response. Example: /v1/api/admin/product/coupons?pageStart=1 | integer | Optional |
| pageSize | The number of records to return in the response. Use 0 to return all. Example: /v1/api/admin/product/coupons?pageSize=20 | integer | Optional |
Response in JSON
{
"paging": {
"Size": 50,
"Start": 0,
"Total": 146
},
"ContentList": {
"HotelList": [
{
"Code": "AMORIMF",
"ID": 11113,
"Name": "Aven Hospitality Test Hotel"
}
],
"ChainList": [
{
"Code": "SABTC",
"ID": 19923,
"Name": "Aven Hospitality Test Chain"
}
],
"RateList": [
{
"Code": "Rate1",
"Name": "Rate One"
}
],
"RoomList": [
{
"Code": "Room1",
"Name": "Room One"
}
],
"RateCategoryList": [
{
"Code": "Rate1Category",
"Name": "Rate1 Category"
}
],
"RoomCategoryList": [
{
"Code": "Room1Category",
"Name": "Room1 Category"
}
],
"ChannelList": [
{
"Code": "CRS",
"Name": "SynXis Center Reservation"
}
]
},
"CouponOfferList": [
{
"Code": "Exclusive",
"Name": "Exclusive Offer",
"Description": "Exclusive Offer for Black Friday in Texas",
"Active": true,
"MultiuseCoupon": true,
"ChannelList": [
{
"Code": "WEB"
}
],
"GroupRateApplicable": false,
"RoomUpsellAllowed": false,
"ReusableAfterCancellation": false,
"CombinedCouponsRestricted": false,
"SellLimit": 10,
"CouponAccessList": [
{
"Code": "Save50",
"Consumed": true
}
],
"ExclusionList": [
{
"CouponOfferCode": "CHRISTMAS35,SPRING20"
}
],
"ValidityRules": {
"ArrivalStartDate": "2026-05-01T00:00:00",
"ArrivalEndDate": "2026-05-30T00:00:00",
"BookingStartDate": "2026-04-01T00:00:00",
"BookingEndDate": "2026-04-31T00:00:00"
},
"Hotel": {
"Id": 65095
},
"Chain": {
"Id": 14048
},
"PricingRule": {
"Rule": "CombinedOffer",
"Assignment": {
"ValueList": [
{
"Code": "ADV"
}
],
"Type": "Rates"
},
"MinimumSpend": 100,
"AppliesTo": "ReservationTotal",
"PriceAdjustment": -50,
"PriceAdjustmentUnit": "Percentage"
}
}
]
}Response Elements
The following table explains the elements you receive in the response:
| Element | Description | Type |
|---|---|---|
| ContentList | The array to hold all the retrieved content. | array |
| HotelList | The array to hold the list of hotels. | array |
| Code | The code that uniquely identifies a single hotel in SynXis. | string |
| ID | The ID that uniquely identifies a single hotel in SynXis. | number |
| Name | The name of the hotel. | string |
| ChainList | The array to hold the list of chains. | array |
| Code | The code that uniquely identifies a single chain in SynXis. | string |
| ID | The ID that uniquely identifies a single chain in SynXis. | number |
| Name | The name of the chain. | string |
| RateList | The array to hold the list of rates. | array |
| Code | The code that uniquely identifies a single rate. | string |
| Name | The name of the rate. | number |
| RoomList | The array to hold the list of rooms. | array |
| Code | The code that uniquely identifies a single room. | string |
| Name | The name of the room. | string |
| RateCategoryList | The array to hold the list of rate categories. | array |
| Code | The code that uniquely identifies a single rate category. | string |
| Name | The name of the rate category. | number |
| RoomCategoryList | The array to hold the list of room categories. | array |
| Code | The code that uniquely identifies a single room category. | string |
| Name | The name of the room category. | string |
| ChannelList | The array to hold the list of channels. | array |
| Code | The code that uniquely identifies a channel. | string |
| Name | The name of the channel. | string |
| CouponOfferList | The array to hold the list of active promotions. | array |
| Code | The SynXis CR code to identify the coupon. | string |
| Name | The name of the coupon code. This supports multi-language content based on language and primary channel. | string |
| Description | The description for the coupon. This supports multi-language content based on language and primary channel. | string |
| Active | This is true when the coupon is active. It is false when the coupon is inactive. | boolean |
| MultiuseCoupon | This is true when the coupon can be used more than once. It is false when the coupon is for a single use only. | boolean |
| ChannelList | The array to hold the list of channels. | array |
| Code | This is the SynXis CR code for a reservation channel. | string |
| GroupRateApplicable | This is true when the coupon can be applied to group rates. It is false when the coupon cannot be applied to group rates. | boolean |
| RoomUpsellAllowed | This is true when the coupon can be used in a room upsell. It is false when the coupon cannot be used in a room upsell. | boolean |
| ReusableAfterCancellation | This is true when the coupon can reused after a cancellation. It is false when when the coupon cannot reused after a cancellation | boolean |
| CombinedCouponsRestricted | This is true when the coupon cannot be combined with any other coupons. It is false when the coupon can be combined with another coupon. | boolean |
| SellLimit | You can use the SellLimit to create urgency for your offers by limiting the number of coupons that can be redeemed. For example, 1000 coupons exist, but this offer applies to only the first 50 customers. You cannot use SellLimit MultiuseCoupon is true. | integer |
| CouponAccessList | The array to hold coupon access informationb. | array |
| Code | Code for a coupon or an offer. This is the code that a guest would use on a booking engine. | string |
| Consumed | This is true when the coupon has been consumed. This is false when the coupon has not been consumed. | boolean |
| ExclusionList | The array to hold the list of offers that are excluded. | array |
| CouponOfferCode | Offer codes that cannot be combined with this coupon when CombinedCouponsRestricted is true. | string |
| ValidityRules | The array to hold the start and end dates and times for the coupon. | array |
| ArrivalStartDate | This the first date that a guest can check in for the coupon. | string |
| ArrivalEndDate | This the last date that a guest can check in for the coupon. | string |
| BookingStartDate | This is the first date that the coupon can be booked. | string |
| BookingEndDate | This is the last date that the coupon can be booked. | string |
| Hotel | If the coupon is configured for specific hotel, this array holds the ID that uniquely identifies the single hotel property. | array |
| Id | The ID that uniquely identifies a single hotel in SynXis. | integer |
| Chain | If the coupon is configured for specific chain, this array holds the ID that uniquely identifies the chain. | array |
| Id | The ID that uniquely identifies a single chain in SynXis. | integer |
| PricingRule | The array to hold a simple or combined pricing rule for a specific coupon. | array |
| Rule | The Rule is CombinedOffer when the offer applies a discount by Rates, Rate Categories, Rooms, or Room Categories. It is SimpleOffer when the offer requires a minimum spend. | string |
| Assignment | The array to hold information about whether the offer applies a discount by Rates assignment, Rate Categories, Rooms, or Room Categories. | array |
| ValueList | The array to hold a list of rates associated to the coupon. | array |
| Code | This is the code for the associated rate. | string |
| Type | The type is one of the following to specify what the pricing rule is based on: Rates, Rooms, RoomCategories, RateCategories | string |
| MinimumSpend | This is the amount (excluding tax and service charges) that must be spent to make the coupon valid. | number |
| AppliesTo | This is ReservationTotal when the adjustment applies to the entire reservation (less taxes and fees), including the room price and any packages selected in the booking process. It is RoomPrice when the adjustment applies to only the room portion of the reservation (less taxes and fees). | string |
| PriceAdjustment | This is the value of the price adjustment, shown as an increase or a discount. For example, a discount could be -50. | number |
| PriceAdjustmentUnit | This is the discount basis unit for the coupon. It is Percentage if the offer is for a certain percentage off the price. It is Amount if the offer is for a certain amount off the price. | string |
Examples for Querying Coupons #
The following examples (use cases) demonstrate how to use query parameters for this API's endpoint.
Retrieve Coupon Information for a Hotel #
Use this request to retrieve a list of hotel-level single-use or multi-use coupon configurations. Note that chainId must be included because it is a required parameter.
[GET] /v1/api/admin/product/coupons?chainId=9141&hotelId=13098Retrieve Coupon Information for One or More Coupon Codes #
Use this request to retrieve coupon information for one or more coupon codes.
[GET] /v1/api/admin/product/coupons?chainId=9141&couponCode=SAVE25,SAVE50