Update Promotion
curl --request PATCH \
--url https://omnicommerce.sg/api/v1/promotions/{promotionId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"discountValue": 1
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({discountValue: 1})
};
fetch('https://omnicommerce.sg/api/v1/promotions/{promotionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/promotions/{promotionId}"
payload = { "discountValue": 1 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"promotion": {}
}Promotions
Update Promotion
Update promotion fields (name, discount, schedule, status, stores). Requires promotions:write.
PATCH
/
api
/
v1
/
promotions
/
{promotionId}
Update Promotion
curl --request PATCH \
--url https://omnicommerce.sg/api/v1/promotions/{promotionId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"discountValue": 1
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({discountValue: 1})
};
fetch('https://omnicommerce.sg/api/v1/promotions/{promotionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/promotions/{promotionId}"
payload = { "discountValue": 1 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"promotion": {}
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Path Parameters
Query Parameters
Optional organization scope for session-authenticated calls. OAuth client credentials resolve the organization from the token.
Maximum string length:
120Body
application/json
Maximum string length:
120Maximum string length:
200Maximum string length:
2000Available options:
product_discount, flash_sale, voucher, gift_with_purchase, buy_x_get_y, bundle_deal, free_shipping, early_bird_price Available options:
percentage, fixed_amount Discount amount or percentage. Use 0 for gift/sample-only and free Buy-X-Get-Y mechanics.
Required range:
x >= 0Required array length:
1 - 100 elementsShow child attributes
Show child attributes
Available options:
draft, scheduled, active, paused, ended, archived Required range:
x >= 0Required range:
x >= 0Required range:
x >= 0Required range:
x >= 1Show child attributes
Show child attributes
Patch discount overrides by exact target store key. Other stores retain their terms. Null discountValue restores shared terms for that store.
Maximum array length:
100Show child attributes
Show child attributes
Response
Promotion updated.