GET/v1/tenants/{tenantId}/ecom_stores/{eComStoreId}/campaigns

Get campaigns

Lists all active and planned campaigns for the ecom store with SKUs in the store's assortment. Each campaign includes SKU pricing and selected member levels. validFrom and validTo remain date-only fields; use validFromAt (inclusive) and validToAt (exclusive) for B2C activation and expiry. Timestamps are resolved in the tenant time zone, also available from GET /settings; changing that zone is not supported. B2B availability continues to follow ordering dates.

Parameters

tenantIdrequired
eComStoreIdrequired

Responses

200Response
application/json
campaignsrequired
Show item fields
campaignTyperequired

The campaign's type, which decides how to read each sku's campaignPrice

Allowed values"NORMAL""THREE_FOR_TWO"
Example"THREE_FOR_TWO"
codeoptional
Example"SUMMER2024"
currencyIsoCoderequired

ISO 4217 currency code for campaign prices

Example"NOK"
idrequired
Example"01234567-89ab-cdef-0123-456789abcdef"
loyaltyProgramoptional

Loyalty program associated with this campaign

Show child fields
idrequired

Unique identifier of the loyalty program

Example"01234567-89ab-cdef-0123-456789abcdef"
namerequired
Example"Premium Members Club"
memberLevelsrequired

Eligible member levels. An empty list adds no level restriction; existing SKU membership requirements still apply. NORMAL explicitly means a program member with no configured level, not a non-member.

Show item fields
codeoptional

Provider member level code; null for NORMAL

idoptional

Configured member level identifier; null for NORMAL

nameoptional

Configured member level display name; null for NORMAL

typerequired

NORMAL is the base member level; CONFIGURED identifies a provider level

Allowed values"NORMAL""CONFIGURED"
namerequired
Example"Summer Sale 2024"
skusrequired
Show item fields
campaignPricerequired

The price this sku sells at while the campaign runs. For a NORMAL campaign that is the discounted price; for THREE_FOR_TWO the unit price does not change, so it is the sku's normal price and campaignType is what carries the offer

  • Format: BigDecimal
  • Pattern: ^-?\d+(\.\d{1,2})?$
Example"199.00"
loyaltyProgramMembershipRequiredrequired

Whether loyalty program membership is required to purchase this SKU at the campaign price

Examplefalse
skuIdrequired

Unique identifier of the SKU

Example"01234567-89ab-cdef-0123-456789abcdef"
statusrequired

Current status of the campaign

Allowed values"PLANNED""ACTIVE"
timeZonerequired

Tenant IANA time zone used to resolve campaign dates and times; also available from GET /settings. Changing the tenant time zone is not supported.

Example"Europe/Oslo"
validFromrequired

Selected start date, without a time or offset. Retained for compatibility; use validFromAt for the inclusive start boundary.

  • Format: date
Example"2024-06-01"
validFromAtrequired

Inclusive campaign start as an ISO 8601 datetime with the tenant time zone's UTC offset at this boundary. Apply the campaign when validFromAt <= now < validToAt.

  • Format: date-time
Example"2024-06-01T00:00:00+02:00"
validFromTimerequired

Inclusive start time on validFrom, in HH:mm; 24:00 means next calendar midnight

Example"00:00"
validTorequired

Selected end date, without a time or offset. Retained for compatibility; use validToAt for the exclusive end boundary.

  • Format: date
Example"2024-08-31"
validToAtrequired

Exclusive campaign end as an ISO 8601 datetime with the tenant time zone's UTC offset at this boundary. The campaign is inactive at this instant. A selected 24:00 resolves to midnight on the next calendar date.

  • Format: date-time
Example"2024-09-01T00:00:00+02:00"
validToTimerequired

Exclusive end time on validTo, in HH:mm; 24:00 means next calendar midnight

Example"24:00"
401Unauthorized - Invalid or missing authentication

Unauthorized - Invalid or missing authentication

application/json
errorrequired

Stable error code

Example"INVALID_REQUEST"
messagerequired

Human-readable error message

Example"Invalid customer ID format"
resolutionrequired

Suggested next action

Example"Correct the customer ID and retry the request"
403
application/json
errorrequired

Stable error code

Example"INVALID_REQUEST"
messagerequired

Human-readable error message

Example"Invalid customer ID format"
resolutionrequired

Suggested next action

Example"Correct the customer ID and retry the request"
500
application/json
errorrequired

Stable error code

Example"INVALID_REQUEST"
messagerequired

Human-readable error message

Example"Invalid customer ID format"
resolutionrequired

Suggested next action

Example"Correct the customer ID and retry the request"