SbPublicApiCampaignsResponse

snowbee.SbPublicApiCampaignsResponse

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"
View raw schema
{
  "type": "object",
  "properties": {
    "campaigns": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/snowbee.SbPublicApiCampaignResponse"
      },
      "title": "List<SbPublicApiCampaignResponse>"
    }
  },
  "required": [
    "campaigns"
  ],
  "title": "SbPublicApiCampaignsResponse"
}