promotions_edit
Change a promotion's terms. Money is integer minor units (cents). Calling this changes nothing: it returns a preview of what would change and a confirmation link. Only the merchant, on that page, can make it happen.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Checkout rules only. What the shopper types; uppercased. null makes it automatic, applying without a code. | |
| kind | No | Only needed when the same name is on both lists: cart is a checkout discount or coupon code, catalog is a shelf sale. | |
| name | No | What the merchant calls it and what the shopper sees on the line. | |
| value | No | Basis points when the rule is a percentage (20% is 2000), minor units (cents) when it is an amount or a fixed price. | |
| buyQty | No | Buy-X-get-Y checkout rules only: how many they buy. | |
| endsAt | No | ISO 8601. null clears it, so it runs until turned off. | |
| getQty | No | Buy-X-get-Y checkout rules only: how many of those are free. | |
| maxQty | No | Checkout rules only. Most units the discount touches in one order; null for all of them. | |
| priority | No | Lower runs first when rules stack. | |
| startsAt | No | ISO 8601. null clears it, so it starts immediately. | |
| promotion | Yes | The promotion's name, its checkout code, or its id from promotions.state. | |
| usageLimit | No | Checkout rules only. Redemptions across everyone; null for unlimited. | |
| description | No | Shelf sales only. A note for the merchant's own eyes. | |
| minSubtotal | No | Checkout rules only. Minor units the basket must reach; null for no minimum. | |
| stopFurther | No | Nothing after this rule is considered when it applies. | |
| freeShipping | No | Checkout rules only. Delivery is free when the rule applies. | |
| perCustomerLimit | No | Checkout rules only. Redemptions per customer; null for unlimited. |