Appearance
Get the currently-active gift rules
GET
/rest/v1/promotion/gift/active
Returns the gift rules a shopper can earn right now. "Active" is the full legacy definition: inside its date window (a NULL bound is open-ended), active = 1, stock remaining, AND at least one gift choice in stock — except rule type 13 (cheapest-free), whose pool is computed from the cart and is therefore exempt from the stock check. Every active rule type is returned; there is no type exclusion. Order is priority DESC, then date_start DESC. The response carries exactly twenty fields per rule and no others — everything the legacy slider renders — with the per-language caption fields, the gift-side fields and the requirement-side fields flattened onto each rule. internalName, active, remaining, priority, dateStart, dateEnd, the requirement POOL and the raw requirement option_type_id are withheld, and none of them is filterable or sortable here. TWO DIVERGENCES FROM THE LEGACY HOMEPAGE WORTH KNOWING: the requirement fields come from the rule's LOWEST-ID requirement, where legacy collapses a join and renders an arbitrary one that can change between page loads; and pagination.total counts the rules passing the date/flag window before the in-stock filter, so a page may carry fewer items than per_page.
Parameters
Query Parameters
filter[product]
Restrict to rules whose requirement pool includes this product id. Omit for the flat list.
Type
integer
Format
"int64"filter[isPromo]
Restrict to one bucket of the legacy promo/normal split. The homepage slider renders 0. Omit for both.
Type
integer
Valid values
01page
Page number
Type
integer
limit
Pagination limit
Type
integer
with
With relations. choices is the only one available; the key is present either way, empty when not requested.
Type
string
Responses
Successful operation
application/json
JSON
"string"