# Models

## The Deal object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"Deal":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the deal."},"Name":{"type":"string","description":"The display name of the deal."},"Description":{"type":"string","nullable":true,"description":"A description of the deal that may be shown to partners."},"CampaignId":{"type":"integer","description":"The unique identifier of the campaign the deal belongs to."},"State":{"$ref":"#/components/schemas/DealState","description":"The current state of the deal."},"Type":{"$ref":"#/components/schemas/DealType","description":"The type of deal — what it offers."},"Scope":{"$ref":"#/components/schemas/DealScope","description":"What the deal applies to."},"Products":{"type":"array","description":"The products this deal applies to, when Scope is PRODUCT.","items":{"$ref":"#/components/schemas/DealProduct"}},"Categories":{"type":"string","nullable":true,"description":"Comma-separated list of categories the deal applies to, when Scope is CATEGORY."},"DiscountType":{"type":"string","nullable":true,"description":"How the discount is calculated.","enum":["FIXED","PERCENT","PERCENT_RANGE","PERCENT_MAXIMUM"]},"DiscountAmount":{"type":"number","format":"decimal","nullable":true,"description":"The flat discount amount, when DiscountType is FIXED."},"DiscountCurrency":{"type":"string","nullable":true,"description":"Three-letter ISO 4217 currency code for the discount amount."},"DiscountPercent":{"type":"number","format":"float","nullable":true,"description":"The discount percentage, when DiscountType is PERCENT."},"DiscountMaximumPercent":{"type":"number","format":"float","nullable":true,"description":"The maximum discount percentage, when DiscountType is PERCENT_MAXIMUM."},"DiscountPercentRangeStart":{"type":"number","format":"float","nullable":true,"description":"The lower bound of the discount range, when DiscountType is PERCENT_RANGE."},"DiscountPercentRangeEnd":{"type":"number","format":"float","nullable":true,"description":"The upper bound of the discount range, when DiscountType is PERCENT_RANGE."},"Gift":{"type":"string","nullable":true,"description":"The gift offered, when Type is GIFT_WITH_PURCHASE."},"RebateAmount":{"type":"number","format":"decimal","nullable":true,"description":"The rebate amount, when Type is REBATE."},"RebateCurrency":{"type":"string","nullable":true,"description":"Three-letter ISO 4217 currency code for the rebate amount."},"DefaultPromoCode":{"type":"string","description":"The default promo code partners can promote for this deal."},"MinimumPurchaseAmount":{"type":"number","format":"decimal","nullable":true,"description":"The minimum order amount required for the deal to apply."},"MinimumPurchaseAmountCurrency":{"type":"string","nullable":true,"description":"Three-letter ISO 4217 currency code for the minimum purchase amount."},"MaximumSavingsAmount":{"type":"number","format":"decimal","nullable":true,"description":"The maximum total savings the deal can apply to a single order."},"MaximumSavingsCurrency":{"type":"string","nullable":true,"description":"Three-letter ISO 4217 currency code for the maximum savings amount."},"BogoBuyQuantity":{"type":"integer","description":"Quantity the customer must buy in a BOGO deal."},"BogoBuyScope":{"type":"string","nullable":true,"description":"Whether the \"buy\" requirement is a specific product or category in a BOGO deal.","enum":["PRODUCT","CATEGORY"]},"BogoBuyName":{"type":"string","description":"Name of the item the customer must buy in a BOGO deal."},"BogoBuyImageUrl":{"type":"string","format":"uri","description":"Image URL of the \"buy\" item in a BOGO deal."},"BogoGetQuantity":{"type":"integer","description":"Quantity the customer receives in a BOGO deal."},"BogoGetScope":{"type":"string","nullable":true,"description":"Whether the \"get\" item is a specific product or category in a BOGO deal.","enum":["PRODUCT","CATEGORY"]},"BogoGetDiscountType":{"type":"string","nullable":true,"description":"How the discount on the \"get\" item is calculated in a BOGO deal.","enum":["FREE","AMOUNT","PERCENT"]},"BogoGetName":{"type":"string","description":"Name of the item the customer receives in a BOGO deal."},"BogoGetImageUrl":{"type":"string","format":"uri","description":"Image URL of the \"get\" item in a BOGO deal."},"BogoGetDiscountAmount":{"type":"number","format":"decimal","nullable":true,"description":"The flat discount amount on the \"get\" item in a BOGO deal."},"BogoGetDiscountCurrency":{"type":"string","nullable":true,"description":"Three-letter ISO 4217 currency code for the BOGO get discount amount."},"BogoGetDiscountPercent":{"type":"number","format":"float","nullable":true,"description":"The discount percentage on the \"get\" item in a BOGO deal."},"PurchaseLimitQuantity":{"type":"integer","description":"Maximum number of times the deal can be applied per order."},"StartDate":{"type":"string","format":"date-time","nullable":true,"description":"The date and time the deal becomes active."},"EndDate":{"type":"string","format":"date-time","nullable":true,"description":"The date and time the deal expires."},"SynchAdsPromoCodes":{"type":"boolean","description":"Whether to synchronize promo codes with ads."},"RestrictedMediaPartners":{"type":"array","description":"Partner IDs that are restricted from promoting this deal.","items":{"type":"string"}},"RestrictedMediaPartnerGroups":{"type":"array","description":"Partner group IDs that are restricted from promoting this deal.","items":{"type":"string"}},"Uri":{"type":"string","format":"uri-reference","description":"The unique reference to this deal in the impact.com API."}}},"DealState":{"type":"string","enum":["ACTIVE","EXPIRED","PENDING"]},"DealType":{"type":"string","enum":["GENERAL_SALE","FREE_SHIPPING","GIFT_WITH_PURCHASE","REBATE","BOGO"]},"DealScope":{"type":"string","enum":["CATEGORY","ENTIRE_STORE","PRODUCT"]},"DealProduct":{"type":"object","properties":{"ProductName":{"type":"string","description":"The name of the product."},"ProductImageUrl":{"type":"string","format":"uri-reference","description":"URL of the product image."},"ProductBeforePriceAmount":{"type":"number","format":"decimal","description":"The product's price before the deal is applied."},"ProductBeforePriceCurrency":{"type":"string","description":"Three-letter ISO 4217 currency code for the before-price amount."},"ProductAfterPriceAmount":{"type":"number","format":"decimal","description":"The product's price after the deal is applied."},"ProductAfterPriceCurrency":{"type":"string","description":"Three-letter ISO 4217 currency code for the after-price amount."}}}}}}
```

## The DealProduct object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"DealProduct":{"type":"object","properties":{"ProductName":{"type":"string","description":"The name of the product."},"ProductImageUrl":{"type":"string","format":"uri-reference","description":"URL of the product image."},"ProductBeforePriceAmount":{"type":"number","format":"decimal","description":"The product's price before the deal is applied."},"ProductBeforePriceCurrency":{"type":"string","description":"Three-letter ISO 4217 currency code for the before-price amount."},"ProductAfterPriceAmount":{"type":"number","format":"decimal","description":"The product's price after the deal is applied."},"ProductAfterPriceCurrency":{"type":"string","description":"Three-letter ISO 4217 currency code for the after-price amount."}}}}}}
```

## The DealCreate object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"DealCreate":{"type":"object","required":["CampaignId","Name","Scope","Type"],"properties":{"CampaignId":{"type":"integer","description":"The unique identifier of the campaign the deal belongs to."},"Name":{"type":"string","description":"The display name of the deal."},"Scope":{"$ref":"#/components/schemas/DealScope","description":"What the deal applies to."},"Type":{"$ref":"#/components/schemas/DealType","description":"The type of deal."},"Description":{"type":"string","description":"A description of the deal that may be shown to partners."},"StartDate":{"type":"string","format":"date-time","description":"The date and time the deal becomes active."},"EndDate":{"type":"string","format":"date-time","description":"The date and time the deal expires."},"DefaultPromoCode":{"type":"string","description":"The default promo code partners can promote for this deal."},"SynchAdsPromoCodes":{"type":"boolean","description":"Whether to synchronize promo codes with ads."},"DiscountType":{"type":"string","description":"How the discount is calculated.","enum":["FIXED","PERCENT","PERCENT_RANGE","PERCENT_MAXIMUM"]},"DiscountAmount":{"type":"number","format":"decimal","description":"The flat discount amount, when DiscountType is FIXED."},"DiscountCurrency":{"type":"string","description":"Three-letter ISO 4217 currency code for the discount amount."},"Gift":{"type":"string","description":"The gift offered, when Type is GIFT_WITH_PURCHASE."},"RebateAmount":{"type":"number","format":"decimal","description":"The rebate amount, when Type is REBATE."},"RebateCurrency":{"type":"string","description":"Three-letter ISO 4217 currency code for the rebate amount."},"BogoBuyQuantity":{"type":"integer","description":"Quantity the customer must buy in a BOGO deal."},"BogoBuyScope":{"type":"string","description":"Whether the \"buy\" requirement is a specific product or category.","enum":["PRODUCT","CATEGORY"]}}},"DealScope":{"type":"string","enum":["CATEGORY","ENTIRE_STORE","PRODUCT"]},"DealType":{"type":"string","enum":["GENERAL_SALE","FREE_SHIPPING","GIFT_WITH_PURCHASE","REBATE","BOGO"]}}}}
```

## The DealUpdate object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"DealUpdate":{"type":"object","properties":{"Description":{"type":"string","description":"A description of the deal that may be shown to partners."},"StartDate":{"type":"string","format":"date-time","description":"The date and time the deal becomes active."},"EndDate":{"type":"string","format":"date-time","description":"The date and time the deal expires."},"Name":{"type":"string","description":"The display name of the deal."},"SynchAdsPromoCodes":{"type":"boolean","description":"Whether to synchronize promo codes with ads."},"DealScope":{"type":"string","description":"To what extent the deal applies to the store. Enum values: `PRODUCT`, `CATEGORY`, `ENTIRE_STORE`."},"DiscountType":{"type":"string","description":"What kind of discount a consumer receives. Use only if `DealType=GENERAL_SALE`. Enum values: `FIXED`, `PERCENT`, `PERCENT_RANGE`, `PERCENT_MAXIMUM`."},"DiscountAmount":{"type":"number","format":"decimal","description":"Deal's discount amount. Required when `DiscountType=FIXED`."},"DiscountPercent":{"type":"number","format":"float","description":"Deal's discount percent. Required when `DiscountType=PERCENT`."},"DiscountPercentRangeStart":{"type":"number","format":"float","description":"Beginning of the discount range. Required when `DiscountType=PERCENT_RANGE`."},"DiscountPercentRangeEnd":{"type":"number","format":"float","description":"End of the discount range. Required when `DiscountType=PERCENT_RANGE`."},"DiscountMaximumPercent":{"type":"number","format":"float","description":"Maximum discount percent. Required when `DiscountType=PERCENT_MAXIMUM`."},"Gift":{"type":"string","description":"Name of the gift that comes with a purchase. Required when `DealType=GIFT_WITH_PURCHASE`."},"RebateAmount":{"type":"number","format":"decimal","description":"Purchase rebate amount. Required when `DealType=REBATE`."},"BogoBuyName":{"type":"string","description":"Name of the \"buy\" product. Required when `DealType=BOGO`."},"BogoBuyQuantity":{"type":"integer","description":"\"Buy\" product quantity available. Required when `DealType=BOGO`."},"BogoBuyScope":{"type":"string","description":"\"Buy\" product scope. Required when `DealType=BOGO`. Enum values: `PRODUCT`, `CATEGORY`."},"BogoBuyImageFileName":{"type":"string","description":"URL to the \"buy\" product's image. Used when `DealType=BOGO`."},"BogoGetName":{"type":"string","description":"\"Get\" product name. Required when `DealType=BOGO`."},"BogoGetQuantity":{"type":"integer","description":"\"Get\" product quantity available. Required when `DealType=BOGO`."},"BogoGetScope":{"type":"string","description":"\"Get\" product scope. Required when `DealType=BOGO`. Enum values: `PRODUCT`, `CATEGORY`."},"BogoGetDiscountType":{"type":"string","description":"\"Get\" product discount type. Required when `DealType=BOGO`. Enum values: `FREE`, `AMOUNT`, `PERCENT`."},"BogoGetDiscountAmount":{"type":"number","format":"decimal","description":"\"Get\" product discount amount. Required when `DealType=BOGO` and `BogoGetDiscountType=AMOUNT`."},"BogoGetDiscountPercent":{"type":"number","format":"float","description":"\"Get\" product discount percentage. Required when `DealType=BOGO` and `BogoGetDiscountType=PERCENT`."},"BogoGetImageFileName":{"type":"string","description":"URL to the \"get\" product's image. Used when `DealType=BOGO`."},"ProductName":{"type":"string","description":"Product's name. Required when `DealScope=PRODUCT`."},"ProductFileName":{"type":"string","description":"Product's image file name. Used when `DealScope=PRODUCT`."},"RegularPrice":{"type":"number","format":"decimal","description":"Product's original price. Used when `DealScope=PRODUCT`."},"DealPrice":{"type":"number","format":"decimal","description":"Product's deal price. Used when `DealScope=PRODUCT`."},"PurchaseLimitQuantity":{"type":"integer","description":"Maximum quantity of \"buy\" product purchasable in one transaction. Enter `0` for no limit. Used when `DealScope=PRODUCT`."},"Categories":{"type":"string","description":"Comma-separated list of deal categories. Used when `DealScope=CATEGORY`."}},"description":"Fields available for updating an existing deal. All fields are optional; only provided fields are updated.\n\n**Note:** The following fields appear on the deal object but **cannot be updated via API** — they are managed in the impact.com platform: `Seasonal`, `DealType`, `DefaultPromoCode`, `MinimumPurchaseAmount`, `MaximumSavingsAmount`, `LimitedTimeDeal`, `RestrictedMediaPartners`, `RestrictedMediaPartnerGroups`."}}}}
```

## The DealState object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"DealState":{"type":"string","enum":["ACTIVE","EXPIRED","PENDING"]}}}}
```

## The DealType object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"DealType":{"type":"string","enum":["GENERAL_SALE","FREE_SHIPPING","GIFT_WITH_PURCHASE","REBATE","BOGO"]}}}}
```

## The DealScope object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"DealScope":{"type":"string","enum":["CATEGORY","ENTIRE_STORE","PRODUCT"]}}}}
```

## The SuccessUriResponse object

```json
{"openapi":"3.1.0","info":{"title":"Brand API - Deals","version":"v12"},"components":{"schemas":{"SuccessUriResponse":{"type":"object","properties":{"Status":{"type":"string","description":"Indicates whether the operation was successful."},"Uri":{"type":"string","format":"uri-reference","description":"The unique reference to the affected deal."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/brand-api-reference/brand-api-reference-v12/reference/deals/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
