Offers

Retrieve all active promotions and discounts available across all providers. Offers are also surfaced in the cart response as availableOffers.

Get All Offers

GET /ret11/api/offers
Auth Required

Include a Bearer token in the Authorization header. See Authentication.

Parameters

No query or path parameters required.

Response

Returns an array of offer objects. Each object describes one promotion including its qualifying conditions and the benefit awarded.

FieldTypeDescription
idstringOffer identifier (e.g., discp60, flat150, buy2get3)
providerobjectProvider this offer belongs to
provider.idstringProvider ID
typestringOffer type: "discount" | "buyXgetY" | "slab" | "delivery". See Offer Types.
imagesstring[]Offer banner image URLs
locationIdsstring[]Provider location IDs where this offer is valid
itemIdsstring[]Item IDs this offer applies to
categoryIdsstring[]Category IDs this offer applies to
timeStartstringISO 8601 datetime — offer validity start
timeEndstringISO 8601 datetime — offer validity end
qualifiers[]arrayConditions required to activate the offer. See qualifiers[].
benifits[]arrayWhat the customer receives when the offer is activated. See benifits[].

qualifiers[]

Each element describes a condition the cart must satisfy for the offer to apply.

FieldTypeDescription
minValuestring | nullMinimum cart value required. Example: "159" = cart must be ₹159 or above
itemCountnumber | nullMinimum item count required. For buyXgetY this is the "buy X" quantity. For slab this is the lower bound of the tier.
itemCountUppernumber | nullUpper item count bound for slab tiers. Example: itemCount: 6, itemCountUpper: 9 means "buy 6 to 9 items". null for non-slab offers.
itemIdsstring[]Specific item IDs that must be in the cart to qualify

benifits[]

Each element describes what the customer receives when the offer qualifiers are met.

FieldTypeDescription
valuestring | nullDiscount value. A negative number represents a discount. Example: "-60" with valueType: "percent" = 60% off; "-150" with valueType: "amount" = ₹150 off
valueTypestring | null"percent" or "amount". null for buyXgetY offers.
valueCapstring | nullMaximum cap on the discount. Example: "-120" = maximum ₹120 off regardless of percentage
itemCountnumber | nullNumber of free items awarded (buyXgetY). Example: 1 = get 1 item free
itemIdsstring[]IDs of the free items awarded (buyXgetY)
itemValuestring | nullPrice of the free item. "0" = completely free

Offer Types

TypeDescriptionExample
discountPercentage or flat amount off the cart value. Optionally capped.60% off on orders above ₹159 (max ₹120 off)
buyXgetYBuy a set number of qualifying items and receive additional items free.Buy 2 items, get 1 free
slabTiered discount based on item quantity. Different slabs can offer different discount percentages.10% off when cart has 6–9 items; 15% off for 10–14 items
deliveryDiscount applied to delivery charges rather than the item subtotal.100% off delivery (max ₹75) on orders above ₹299

Examples

discount — Percentage off with cap

60% off on orders above ₹159. Maximum discount capped at ₹120.

{
  "id": "discp60",
  "provider": { "id": "pramaan_provider_1" },
  "type": "discount",
  "images": [],
  "locationIds": ["SSL1"],
  "itemIds": [],
  "categoryIds": [],
  "timeStart": "2026-03-22T07:49:44.308Z",
  "timeEnd": "2026-03-24T07:49:44.308Z",
  "qualifiers": [
    { "minValue": "159", "itemCount": null, "itemCountUpper": null, "itemIds": [] }
  ],
  "benifits": [
    { "value": "-60", "valueType": "percent", "valueCap": "-120", "itemCount": null, "itemIds": [], "itemValue": null }
  ]
}

discount — Flat amount off

₹150 flat off on orders above ₹499.

{
  "id": "flat150",
  "provider": { "id": "pramaan_provider_1" },
  "type": "discount",
  "images": [],
  "locationIds": ["SSL1"],
  "itemIds": [],
  "categoryIds": [],
  "timeStart": "2026-03-22T07:49:44.308Z",
  "timeEnd": "2026-03-24T07:49:44.308Z",
  "qualifiers": [
    { "minValue": "499", "itemCount": null, "itemCountUpper": null, "itemIds": [] }
  ],
  "benifits": [
    { "value": "-150", "valueType": "amount", "valueCap": null, "itemCount": null, "itemIds": [], "itemValue": null }
  ]
}

buyXgetY — Buy 2 get 1 free

Add 2 qualifying items and receive 1 free. The qualifier itemCount: 2 is the "buy X" quantity; the benefit itemCount: 1 is the "get Y free" quantity.

{
  "id": "buy2get3",
  "provider": { "id": "pramaan_provider_1" },
  "type": "buyXgetY",
  "images": [],
  "locationIds": ["SSL1"],
  "itemIds": ["id_ancc5_0_0", "id_1bai73_1_0"],
  "categoryIds": [],
  "timeStart": "2026-03-22T07:49:44.308Z",
  "timeEnd": "2026-03-24T07:49:44.308Z",
  "qualifiers": [
    { "minValue": null, "itemCount": 2, "itemCountUpper": null, "itemIds": ["id_ancc5_0_0", "id_1bai73_1_0"] }
  ],
  "benifits": [
    { "value": null, "valueType": null, "valueCap": null, "itemCount": 1, "itemIds": ["id_ancc5_0_0"], "itemValue": "0" }
  ]
}

slab — Tiered quantity discount

10% off when the cart contains 6 to 9 qualifying items. A second slab entry (not shown) may cover 10–14 items at a different rate.

{
  "id": "slab10pct",
  "provider": { "id": "pramaan_provider_1" },
  "type": "slab",
  "images": [],
  "locationIds": ["SSL1"],
  "itemIds": [],
  "categoryIds": ["CM11"],
  "timeStart": "2026-03-22T07:49:44.308Z",
  "timeEnd": "2026-03-24T07:49:44.308Z",
  "qualifiers": [
    { "minValue": null, "itemCount": 6, "itemCountUpper": 9, "itemIds": [] }
  ],
  "benifits": [
    { "value": "-10", "valueType": "percent", "valueCap": null, "itemCount": null, "itemIds": [], "itemValue": null }
  ]
}

delivery — Free delivery

100% off delivery charges (capped at ₹75) on orders above ₹299.

{
  "id": "freedel299",
  "provider": { "id": "pramaan_provider_1" },
  "type": "delivery",
  "images": [],
  "locationIds": ["SSL1"],
  "itemIds": [],
  "categoryIds": [],
  "timeStart": "2026-03-22T07:49:44.308Z",
  "timeEnd": "2026-03-24T07:49:44.308Z",
  "qualifiers": [
    { "minValue": "299", "itemCount": null, "itemCountUpper": null, "itemIds": [] }
  ],
  "benifits": [
    { "value": "-100", "valueType": "percent", "valueCap": "-75", "itemCount": null, "itemIds": [], "itemValue": null }
  ]
}

Usage Notes