SHOPIFY ADMIN REST API DOES NOT HAVE ALL DISCOUNT FIELDS AS AVAILABLE AT ORIGINAL DISCOUNT

Topic summary

A developer working on a MERN project with Shopify’s REST Admin API has identified missing fields when creating custom discounts programmatically.

Missing Functionality:

  • Discount combination settings (combining with product/order/shipping discounts)
  • Ability to exclude shipping rates over a certain amount

These options are available in Shopify’s native discount interface but are not exposed in the REST Admin API’s JSON structure.

Current Status:
The developer has shared a typical JSON payload from the REST Admin API showing available fields (allocation_method, customer_selection, entitled_product_ids, prerequisite_quantity_range, etc.), but the combination and shipping exclusion fields cannot be set through this endpoint.

Issue:
This limitation prevents programmatic creation of discounts with the same full feature set available through Shopify’s admin UI, requiring either a workaround or use of alternative API endpoints (potentially GraphQL Admin API).

Summarized with AI on November 5. AI used: claude-sonnet-4-5-20250929.

FROM BELOW JSON I CANNOT SEE HOW TO ADD DISCOUNT COMBINATION Fields or Exclude shipping rates over certain amount as available in original discount i wanted to add both in my custom made discount. im at shopify + node template. (mern project).

Typical JSON OF REST ADMIN API : {
“allocation_method”: “each”,
“created_at”: “2017-03-13T16:09:54-04:00”,
“updated_at”: “2017-03-14T16:09:54-04:00”,
“customer_selection”: “prerequisite”,
“ends_at”: “2017-04-19T17:59:10Z”,
“entitled_collection_ids”: [
4564654869,
8979761006
],
“entitled_country_ids”: {
" entitled_country_ids": [
7897987023,
3569053679
]
},
“entitled_product_ids”: [
7897397755,
42382368242
],
“entitled_variant_ids”: [
6798798798,
5675765905
],
“id”: 9808080986,
“once_per_customer”: true,
“prerequisite_customer_ids”: [
384028349005,
3492039843
],
“prerequisite_quantity_range”: {
“greater_than_or_equal_to”: 2
},
“customer_segment_prerequisite_ids”: [
1122345432,
43535360314
],
“prerequisite_shipping_price_range”: {
“less_than_or_equal_to”: “10.0”
},
“prerequisite_subtotal_range”: {
“greater_than_or_equal_to”: “40.0”
},
“prerequisite_to_entitlement_purchase”: {
“prerequisite_amount”: “80.00”
},
“starts_at”: “2017-01-19T17:59:10Z”,
“target_selection”: “entitled”,
“target_type”: “line_item”,
“title”: “SUMMERSALE10OFF”,
“usage_limit”: 10,
“prerequisite_product_ids”: [
7897397755,
42382368242
],
“prerequisite_variant_ids”: [
6798798798,
5675765905
],
“prerequisite_collection_ids”: [
4564654869,
8979761006
],
“value”: -35,
“value_type”: “fixed_amount”,
“prerequisite_to_entitlement_quantity_ratio”: {
“prerequisite_quantity”: 2,
“entitled_quantity”: 1
},
“allocation_limit”: 3
}

//FEILDS THAT CANNOT BE SAVED INTO DISCOUNT AS ORIGNIAL DISCOUNT DOES.

combinesWithProductDiscounts:
price_rule.combinesWithProductDiscounts || false,
combinesWithOrderDiscounts: {
value: price_rule.combinesWithOrderDiscounts || false,
},
combinesWithShippingDiscounts:
price_rule.combinesWithShippingDiscounts || false,
},

hasExcludeShippingRatesOver: {
value: true,
},
excludeShippingRatesOver: {
value: “21.00”,
},