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.

Field Type Description
id string Offer identifier (e.g., discp60, flat150, buy2get3)
provider object Provider this offer belongs to
provider.id string Provider ID
type string Offer type: "discount" | "buyXgetY" | "slab" | "delivery". See Offer Types.
images string[] Offer banner image URLs
locationIds string[] Provider location IDs where this offer is valid
itemIds string[] Item IDs this offer applies to
categoryIds string[] Category IDs this offer applies to
timeStart string ISO 8601 datetime — offer validity start
timeEnd string ISO 8601 datetime — offer validity end
qualifiers[] array Conditions required to activate the offer. See qualifiers[].
benifits[] array What 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.

Field Type Description
minValue string | null Minimum cart value required. Example: "159" = cart must be ₹159 or above
itemCount number | null Minimum item count required. For buyXgetY this is the "buy X" quantity. For slab this is the lower bound of the tier.
itemCountUpper number | null Upper item count bound for slab tiers. Example: itemCount: 6, itemCountUpper: 9 means "buy 6 to 9 items". null for non-slab offers.
itemIds string[] 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.

Field Type Description
value string | null Discount value. A negative number represents a discount. Example: "-60" with valueType: "percent" = 60% off; "-150" with valueType: "amount" = ₹150 off
valueType string | null "percent" or "amount". null for buyXgetY offers.
valueCap string | null Maximum cap on the discount. Example: "-120" = maximum ₹120 off regardless of percentage
itemCount number | null Number of free items awarded (buyXgetY). Example: 1 = get 1 item free
itemIds string[] IDs of the free items awarded (buyXgetY)
itemValue string | null Price of the free item. "0" = completely free

Offer Types

Type Description Example
discount Percentage or flat amount off the cart value. Optionally capped. 60% off on orders above ₹159 (max ₹120 off)
buyXgetY Buy a set number of qualifying items and receive additional items free. Buy 2 items, get 1 free
slab Tiered 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
delivery Discount 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