/app/{organizationId}/promotions).
Authentication
Send an OmniCommerce API key or OAuth client-credentials token:
OAuth clients must include the scope on the client. API keys created from organization settings receive all developer scopes by default.
Session-authenticated calls must include
organizationId in the query (GET) or JSON body (writes).
OpenAPI reference: API reference · Spec: openapi.json
List promotions
Query parameters
Response
effectiveStatus— status resolved from schedule windowssyncMeta— aggregated marketplace sync (lastSyncedAt, pending/failed/synced/skipped counts)
Create promotion
Request body
Returns
201 with { "promotion": { ... } }.
Get / update / delete
name, discountType, discountValue, storeKeys, schedule, status, guardrails).
Assign products
Sync to marketplaces
- omit
marketplace→ all promotion marketplaces - omit
productIds→ all assigned products
202:
Marketplace mapping
Products only sync to marketplaces they are published on. Other target rows are marked
skipped.