Admin Marketing: Promotions

Update a cart rule

Partial update — send only the fields you change. channels / customer_groups, when supplied, fully replace the current set.

put/marketing/cart-rules/{id}

Request

Path parameters

idinteger required

Cart rule ID.

Request body

namestring
descriptionstring
channelsinteger[]
customer_groupsinteger[]
coupon_type0 | 1
use_auto_generation0 | 1
coupon_codestring
uses_per_couponinteger
usage_per_customerinteger
condition_type1 | 2
conditionsobject[]
action_type'by_percent' | 'by_fixed' | 'cart_fixed' | 'buy_x_get_y'
discount_amountnumber
discount_quantityinteger
discount_stepinteger
apply_to_shipping0 | 1
free_shipping0 | 1
end_other_rules0 | 1
sort_orderinteger
starts_fromstring date-time
ends_tillstring date-time
status0 | 1

Example request

{
  "name": "15% off summer",
  "description": "Updated description",
  "channels": [
    1
  ],
  "customer_groups": [
    1,
    2,
    3
  ],
  "coupon_type": 1,
  "coupon_code": "SUMMER15",
  "uses_per_coupon": 100,
  "usage_per_customer": 1,
  "condition_type": 1,
  "conditions": [
    {
      "attribute": "cart|base_sub_total",
      "operator": ">=",
      "value": "100",
      "attribute_type": "price"
    }
  ],
  "action_type": "by_percent",
  "discount_amount": 15,
  "discount_quantity": 1,
  "starts_from": "2026-06-01 00:00:00",
  "ends_till": "2026-08-31 23:59:59",
  "status": 1
}

Response

Cart rule updated; returns the updated detail.

Changes

No recorded changes to this operation across all 8 revisions of this API.