List Promotions
curl --request GET \
--url https://omnicommerce.sg/api/v1/promotions \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/promotions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/promotions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{}
],
"summary": {},
"pagination": {
"offset": 123,
"limit": 123,
"total": 123,
"hasMore": true,
"nextOffset": 123,
"maxLimit": 123,
"defaultLimit": 123
},
"hasMore": true,
"nextOffset": 123
}Promotions
List Promotions
List central promotions for the authenticated organization with filters and offset pagination matching the workspace Promotions listing. Requires promotions:read.
GET
/
api
/
v1
/
promotions
List Promotions
curl --request GET \
--url https://omnicommerce.sg/api/v1/promotions \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.sg/api/v1/promotions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.sg/api/v1/promotions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{}
],
"summary": {},
"pagination": {
"offset": 123,
"limit": 123,
"total": 123,
"hasMore": true,
"nextOffset": 123,
"maxLimit": 123,
"defaultLimit": 123
},
"hasMore": true,
"nextOffset": 123
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Query Parameters
Optional organization scope for session-authenticated calls. OAuth client credentials resolve the organization from the token.
Maximum string length:
120Search promotion name.
Maximum string length:
200Effective status filter: all, draft, scheduled, active, paused, ended, or archived.
Available options:
all, draft, scheduled, active, paused, ended, archived Comma-separated marketplaces, for example shopee,lazada,tiktok,shopify.
Maximum string length:
200Comma-separated promotion store keys (marketplace:country:storeId).
Maximum string length:
2000Sort field.
Available options:
createdAt, updatedAt, name, startsAt, status Sort direction.
Available options:
asc, desc Page size. Default 20, max 50.
Required range:
1 <= x <= 50Zero-based pagination offset.
Required range:
x >= 0