POST /v1/supplier/promo-codes/list — scope supplier:codes:read.
lifecycle: active (available+reserved+realized), used (redeemed), cancelled (revoked+blocked), expired.
{ "data": { "lifecycle": "active", "page": 1, "pageSize": 200, "maskCode": true } }
Do not combine lifecycle with status/statuses. Full code value only via get.