Skip to content

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
01
page

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"

Playground​

Variables
Key
Value

Samples​

Powered by VitePress OpenAPI