60 "summary": "VERIFIED live 2026-08-12: `name` is a required field distinct from `code` — omitting it 400s \"name.trim must not be empty\". A source coupon with no separate display name can default `name` to its `code`."
65 "summary": "VERIFIED live: omitting `startTime` does not mean \"no start restriction\" — Wix's own default resolves to epoch 0, which the API then rejects (\"date with value 0 got 0, expected more than 0\"). Always send an explicit startTime (the source coupon's creation date, or now if unavailable)."
70 "summary": "VERIFIED live: any non-FreeShipping coupon (percentOffRate/moneyOffAmount/fixedPriceAmount) without a product/category `scope` AND without `minimumSubtotal > 0` 400s \"When scope or minimumSubtotal is not used - only FreeShipping coupon is allowed\". A source coupon with no real minimum spend and no product restriction has nothing genuine to put there — Wix does not model an unrestricted percent/fixed coupon. Default to a nominal minimumSubtotal (e.g. 0.01) as the closest faithful equivalent and record the substitution as a mapping gap; do not invent a real-looking minimum."
75 "summary": "VERIFIED live: `freeShipping: true` is a distinct, valid coupon type exempt from the scope/minimumSubtotal requirement above. A source `free_shipping: true` flag (e.g. WooCommerce) must map to `freeShipping: true`, never to `percentOffRate: 0` — the latter creates a real, active, non-functional 0%-off coupon that does not actually grant free shipping."
76 }
77 ],
78 "mappingGuidance": [
79 "Prefer native coupons and record unsupported conditions as CMS shadow fields or setup gaps.",
80 "Required fields beyond `code`: `name` (default to `code` if the source has no separate display name) and `startTime` (default to the source coupon's creation date, or now)."
94 "path": "migrations/reference-run (2026-08-12): real POST /stores/v2/coupons against the live reference store; 4/4 coupons created and independently re-queried (3 percent/fixed-cart with a substituted nominal minimumSubtotal, 1 genuine freeShipping)."
99 "note": "subset run imp_msq0ugnj_f0b16c (2026-08-12): create + query-back readback, safe mode on — 4/4 coupons created and read back, corroborating the same day's reference-store verification independently"