Create offer
Create a new Buy X Get Y promotional offer.
Auto-application rules (applied at order time, not here):
- When a store order is submitted via
POST /store/orders, the server checks for any active offer wheretriggerProductIdmatches, the ordered quantity ≥triggerQuantity, and — iftriggerVariantIdis set — the ordered variantId also matches. - If the reward item is out of stock, the offer is silently skipped (order still succeeds).
- The reward is inserted as a
$0order line item; the COD total only reflects paid products + delivery.
Create offer › Request Body
nametriggerProductIddiscountTypetriggerVariantIdtriggerQuantityrewardProductIdrewardVariantIdrewardQuantitystartsAtendsAtstatusCreate offer › Responses
Offer created
successGet offer
Get a single offer by ID with fully resolved product and variant references.
path Parameters
idOffer UUID
Offer UUID
Get offer › Responses
Offer details
successUpdate offer
Partially update an offer. All fields are optional — send only the fields you want to change.
path Parameters
idOffer UUID
Offer UUID
Update offer › Request Body
namediscountTypetriggerProductIdtriggerVariantIdtriggerQuantityrewardProductIdrewardVariantIdrewardQuantitystartsAtendsAtstatusUpdate offer › Responses
Updated offer
successGet a offer's translations
The translatable fields in the store's primary language and every stored translation, each flagged outdated when its source text changed after it was written.
path Parameters
idGet a offer's translations › Responses
Source and translations
successTranslate a offer into one language
A JSON Merge Patch (RFC 7396) of one language: a string sets a field, null removes its translation, other fields are untouched. The language must be one the store has added, and not its primary — the resource's own fields hold that.
path Parameters
idTranslate a offer into one language › Request Body
localeTranslate a offer into one language › Responses
Source and translations after the patch
success