---
title: "Delete Campaign"
method: DELETE
path: "/campaigns/{campaignId}"
tags: ["Campaigns"]
---

# Delete Campaign

`DELETE /campaigns/{campaignId}`

This method allows the calling application to delete a Campaign.

## Path parameters

- `campaignId` string, int64, required

## Headers

- `X-EES-AUTH-CLIENT-ID` string, string, required
- `X-EES-AUTH-HASH` string, string, required
- `Accept-Encoding` '' | 'gzip' | 'deflate' | 'gzip,deflate'
- `X-EES-TRANSACTION-ID` string, string
- `X-EES-RETRY` string, string

## Response `200`

OK.

- CampaignEntity
  - `id` string — The Id of a Campaign automatically generated and unique within Eagle Eye AIR.
  - `reference` string, nullable — An external reference for this Campaign, unique to each client.
  - `class` 'COUPON' | 'CONTINUITY' | 'STAMP_CARD' — The class of this Campaign.
  - `type` string — The type of Campaign this is. These types are configured as part of implementation with a client.
  - `version` integer — The version number of this Campaign that is automatically generated.
  - `status` 'ACTIVE' | 'INACTIVE' | 'EXPIRED' | 'DELETED' | 'PENDING' | 'DRAFT' | 'REJECTED' | 'READY' | 'STOPPED' | 'SUSPENDED' — The status of the Campaign.
  - `dateCreated` string, date-time — This timestamp shows the date-time in UTC when the Campaign was created. This cannot be edited.
  - `lastUpdated` string, date-time — The timestamp shows the date-time in UTC that the Campaign was last updated. This cannot be edited.
  - `lastUpdatedBy` integer — The Eagle Eye generated ID of the user or API call that made the last update.
  - `details` object
    - `name` string — The name of the Campaign.
    - `alternativeName` string, nullable — An alternative name of the Campaign.
    - `description` string, nullable — The description of the Campaign.
    - `alternativeDescription` string, nullable — An alternative description of the Campaign.
    - `printerMessage` string, nullable — The message to print on the receipt.
    - `screenMessage` string, nullable — The message to display on the screen.
    - `tags` string[], nullable — The tags to assign to a Campaign.
    - `startDate` string, date-time — When the campaign starts.
    - `endDate` string, date-time — When the campaign ends.
    - `mode` 'OPEN' | 'TARGETED' — The mode that the Campaign is operating in: * OPEN - this is a Campaign available to any consumers that qualify for it. * TARGETED - this is a Campaign that has been specifically targeted at a group of consumers.
  - `settings` object
    - `tokenProvider` string, nullable — The name of the token provider that is to be used when generating Account tokens if one is required.
    - `tokenFormat` string, nullable — The pre-defined token format to use when generating Account tokens if one is required.
    - `walletEnabled` boolean — A flag to determine if a token should be generated for the Account. If true then no token will be generated and the 'tokenProvider' and 'tokenFormat' fields can be left empty or set to null.
    - `issuanceMethod` 'UNIQUE' | 'MULTIPLE' | 'null', nullable — The type of issuance method for this Campaign.
    - `accountClientType` string — The default client type for an Account unless otherwise stated during individual Account creation. The list of available options for this field are defined during client onboarding.
    - `defaultAccountClientState` string — The default client state for an Account unless otherwise stated during individual Account creation.
  - `suppliers` object[] — An array of objects containing supplier funding information.
    - `supplierUnitId` string, nullable — The unit identifier of the supplier that is involved with the Campaign.
    - `supplierCampaignReference` string, nullable — The suppliers reference to this Campaign.
    - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
    - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
  - `rules` object
    - `creation` object — Rules for Account creation.
      - `campaignLimit` integer, nullable — The maximum number of Accounts that can be created on this Campaign. Null or empty denotes unlimited.
      - `consumerLimit` integer, nullable — The maximum number of Accounts an individual consumer can have in their Wallet for this Campaign. Null or empty denotes unlimited.
      - `consumerLimitActive` integer, nullable — The maximum number of Accounts in status active an individual consumer can have in their Wallet for this Campaign. Null or empty denotes unlimited.
      - `windows` object
        - `active` boolean — A boolean flag to enable/disable the issuance windows mechanism for that Campaign.
    - `verification` object
      - `lock` boolean — Should Accounts of this Campaign be locked on verification.
      - `lockOnVerify` boolean — This allows users to override the POS restriction which locks a Token when you send a verify request.
    - `graceAmount` object, nullable — Specify a grace amount value that allows a customer to still qualify for an offer if they only miss out by a few pence/cents. The key of the object is the unit safe name.
    - `redemption` object
      - `maxRedemptionsPerPeriod` object, nullable — The maximum number of times this Account can be redeemed within a period.
        - `active` boolean — A flag denoting if the rule is active or not.
        - `period` 'ACCOUNT_REDEMPTION_LIFETIME' | 'ACCOUNT_REDEMPTION_CALENDAR_DAY' | 'ACCOUNT_REDEMPTION_CALENDAR_WEEK' | 'ACCOUNT_REDEMPTION_CALENDAR_MONTH' | 'ACCOUNT_REDEMPTION_CALENDAR_YEAR' | 'ACCOUNT_REDEMPTION_NUM_OF_DAYS' — What the period is.
        - `limit` integer — How many Accounts can be redeemed in each period.
        - `days` integer, nullable — When period is ACCOUNT_REDEMPTION_X_DAYS this specifies what X is. Beginning from the creation of the Account.
      - `campaignLimit` integer, nullable — The maximum number of Accounts that can be redeemed. Null or empty means all created Accounts can be redeemed.
      - `timeBetweenRedemptions` object, nullable — If an Account is not single use this specifies the minimum amount of time that must elapse between redemptions.
        - `active` boolean — Flag denoting if rule is active or not.
        - `value` integer — Number of seconds before an Account can be redeemed since last redemption.
      - `timeBetweenStamps` object, nullable — Number of seconds before a stamp can redeemed since last redemption.
        - `active` boolean — Flag denoting if rule is active or not.
        - `value` integer — Number of seconds before an Account can be stamped since the last stamp.
      - `allowMultipleRedeem` object, nullable — A flag to denote if you generate multiple redeem events when maximumAccountUsage is > 1.
        - `active` boolean — A flag to denote if rule is active or not.
      - `couponLimit` integer, nullable — The maximum number of times a Account can be redeemed. Null or empty denotes single use. 0 denotes unlimited.
      - `allowOverride` boolean, nullable — OBSOLETE - A flag to denote if the details of the Campaign can be overridden for personalisation.
      - `allowAccountOverride` boolean — A flag to denote if the Account details of the Campaign can be overridden for personalisation.
      - `maximumAccountUsage` integer, nullable — The number of instances of this offer that can be completed in one transaction.
      - `windows` object — Enable/disable redemption windows.
        - `active` boolean — A flag to denote if rule is active or not.
      - `dates` object — The dates that are excluded from the redemption window.
        - `exclusion` object
          - `active` boolean — A flag to denote if rule is active or not.
      - `isHiddenFromRelatedWallets` boolean — A boolean flag to enable/disable the mechanism for sharing an Account across a household.
      - `redeemableOutsideOwningWalletWithIdentity` boolean — A boolean flag to enable/disable whether a paper coupon can be used by a customer that is part of a loyalty scheme but does not have the digital counterpart in their wallet.
      - `redeemableOutsideOwningWalletWithoutIdentity` boolean — A boolean flag to enable/disable whether a paper coupon can be used by a customer that is not part of a loyalty scheme but does not have the digital counterpart in their wallet.
      - `maximumDiscountableRelatedContents` integer, nullable — Set the number of related contents that can qualify for a discount.
      - `maximumAccountsPerTransaction` integer, nullable — Set the maximum number of Accounts from this Campaign that can be used per transaction.
    - `start` object, nullable — The start date of the Account.
      - `type` 'IMMEDIATELY' | 'AFTER_CREATION' | 'DATE' — * IMMEDIATELY - Now. * AFTER_CREATION - Account will have a start date set to X valueType after creation (requires valueType & value). * DATE - Explicit Account start date (requires date).
      - `valueType` 'HOUR' | 'DAY', nullable — The type of value being provided.
      - `value` integer, nullable — The value to apply for the rule if the type requires a value.
      - `date` string, date-time — The timestamp to apply to the rule if the type requires a timestamp.
    - `expiry` object — The expiry date of the Account.
      - `type` 'CAMPAIGN_END' | 'DATE' | 'AFTER_CREATION' | 'EXPIRY_PERIOD' — * CAMPAIGN_END - Account will expire on Campaign end date. * DATE - Account will expire on a fixed date. * AFTER_CREATION - Account will have an expiry date set to X TIME_UNITS after creation. * EXPIRY_PERIOD - Account will expire at the end of the current EXPIRY_PERIOD after creation
      - `valueType` 'HOUR' | 'DAY' | 'MONTH_END' | 'ANNUAL', nullable — The type of value being provided.
      - `value` string, nullable — The value to apply for the rule if the type requires a value.
      - `date` string, date-time — The timestamp to apply to the rule if the type requires one.
    - `refund` object — Rules related to Refunds.
      - `refundable` boolean — A flag to denote if a customer returns an item and is no longer eligible for the Account that was redeemed in the original purchase, then the points earnt from that transaction are debited from the customers points Account.
      - `unredeemable` boolean — A flag to denote if a Account that was used on the original purchase, then returned can be unredeemed and used in another transaction.
    - `useLocalTime` object, nullable
      - `active` boolean — A flag to denote if a Campaign should treat all times as local or absolute.
    - `adjudication` object, nullable
      - `excludedProducts` object
        - `reuseQualifyingProducts` boolean — Any products used to qualify can be used again in the same transaction against different promotions of matching types.
        - `ignorePreviousExcludes` boolean — Any products that have been excluded from qualifying because they have already been used in another promotion will be made available again to qualify.
  - `partners` object — The issuance/redemption/creation partners for this Campaign.
    - `issuance` object[] — An array of objects, one for each issuance partner defined.
      - `partner` string — The unit id of the issuance partner.
      - `issuanceLimit` integer, nullable — The maximum number of Accounts that can be created by this partner. Null or empty denotes this partner can create unlimited Accounts against this Campaign.
    - `redemption` object[] — An array of objects, one for each redemption partner defined.
      - `partner` string — The id of the redemption partner unit.
      - `redemptionLimit` integer, nullable — The maximum number of Accounts that can be redeemed by this partner, Null or empty denotes this partner can redeem an unlimited number of Accounts.
    - `creation` object[] — An array of objects, one for each creation partner defined.
      - `partner` string — The id of the issuance partner unit.
  - `distributionChannels` object — The distribution channels for this Campaign.
  - `windows` object — The date time windows that an Account can be created/issued/redeemed.
    - `creation` object[] — The time frame(s) that an Account can be created.
      - `startDay` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' — Start day of the window.
      - `startTime` string, HH:mm — Start time for a weekday above.
      - `endDay` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' — End day of the window.
      - `endTime` string, HH:mm — End time of the window.
    - `redemption` object[] — The time windows that an Account can be redeemed.
      - `startDay` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' — Start day of the window.
      - `startTime` string, HH:mm — Start time for a weekday above.
      - `endDay` 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' — End day of the window.
      - `endTime` string, HH:mm — End time of the window.
  - `dates` object — The exceptions to the Campaign usage windows.
    - `redemption` object
      - `exclusion` object[] — Redemption exclusion dates.
        - `start` string — The exclusion start date-time.
        - `end` string — The exclusion end date-time.
  - `relationships` object, nullable — The relationships between this Campaign and any others.
    - `objective` object
      - `campaign` Campaign — unresolved $ref
    - `objectiveOf` object
      - `campaign` Campaign — unresolved $ref
    - `promotion` object
      - `campaign` Campaign — unresolved $ref
    - `promotionOf` object
      - `campaign` Campaign — unresolved $ref
    - `entitlement` object
      - `campaign` Campaign — unresolved $ref
    - `entitlementOf` object
      - `plan` Campaign — unresolved $ref
  - `compatibility` object — The Campaigns that this is compatible with.
    - `active` boolean — Flag denoting if rule is active or not.
    - `excluded` object[], nullable
      - `type` 'campaignIds' | 'campaignTags' — The type that is used to lookup the compatible Campaigns.
      - `value` union[], nullable — The value of the specified type that is used to lookup the compatible Campaigns.
        - union
          - string
          - integer
    - `included` object[], nullable
      - `type` 'campaignIds' | 'campaignTags' — The type that is used to lookup the compatible Campaigns.
      - `value` union[], nullable — The value of the specified type that is used to lookup the compatible Campaigns.
        - union
          - string
          - integer
    - `maxCouponsPerTransaction` object
      - `active` boolean — Flag denoting if rule is active or not.
      - `value` integer — How many Accounts from this Campaign can be used in a single transaction.
  - `incompatibility` object — The Campaigns that this is incompatible with.
    - `active` boolean — It contains boolean value.
    - `included` object[], nullable
      - `type` 'campaignIds' | 'campaignTags' — The type that is used to lookup the compatible Campaigns.
      - `value` union[], nullable — The value of the specified type that is used to lookup the compatible Campaigns.
        - union
          - string
          - integer
  - `offer` object
    - `offerType` 'FREE_PRODUCTS' | 'FIXED_AMOUNT_OFF_BASKET' | 'VARIABLE_AMOUNT_OFF_BASKET' | 'FIXED_AMOUNT_OFF_PRODUCTS' | 'VARIABLE_AMOUNT_OFF_PRODUCTS' | 'FIXED_PERCENTAGE_OFF_BASKET' | 'VARIABLE_PERCENTAGE_OFF_BASKET' | 'FIXED_PERCENTAGE_OFF_PRODUCTS' | 'FIXED_PRICE_PRODUCTS' | 'MEAL_DEAL' | 'FIXED_POINTS' | 'FIXED_POINTS_PRODUCTS' | 'VARIABLE_POINTS_PRODUCTS' | 'VARIABLE_POINTS_BASKET' | 'FIXED_POINTS_BASKET' | 'STAMP_CARD' | 'PROMO_CODE' | 'POINTS_SPEND_RATE' | 'CONTINUITY' | 'THIRD_PARTY_POINTS' | 'BOUNCE_BACK' | 'MULTI_PROMOTION_DISCOUNT' | 'QUEST_FIXED_POINTS' | 'ZERO_REWARD' | 'POINTS_EXCHANGE_DISCOUNT_OFF_PRODUCTS' — The following offer types can be used within the system: * FREE_PRODUCTS - An offer with one or more free products. * FIXED_AMOUNT_OFF_BASKET - An offer with a fixed amount-off from a basket. * VARIABLE_AMOUNT_OFF_BASKET - An offer with a variable amount-off from a basket. * FIXED_AMOUNT_OFF_PRODUCTS - An offer with a fixed amount-off from one or more products. * VARIABLE_AMOUNT_OFF_PRODUCTS - An offer with a variable amount-off from one or more products. * FIXED_PERCENTAGE_OFF_BASKET - An offer with a percentage-off from a basket. * VARIABLE_PERCENTAGE_OFF_BASKET - An offer with a variable percentage-off from a basket. * FIXED_PERCENTAGE_OFF_PRODUCTS - An offer with a percentage-off one or more products. * FIXED_PRICE_PRODUCTS - An offer with a fixed price for one or more products. * MEAL_DEAL - A meal deal style offer where more than one product is offered for a fixed discount. * FIXED_POINTS - A fixed points reward offer. * FIXED_POINTS_PRODUCTS - A fixed points reward offer based on products. * VARIABLE_POINTS_PRODUCTS - A variable points reward offer based on products. * VARIABLE_POINTS_BASKET - A variable points reward offer based on a basket. * FIXED_POINTS_BASKET - A fixed points reward offer based on a basket. * STAMP_CARD - A stamp card offer where a customer receives a reward once they reach milestones. * PROMO_CODE - An offer that is just triggered with an offer code being sent to the POS. * POINTS_SPEND_RATE - An offer that modifies the rate of points spent. * CONTINUITY - An offer where you repeat an action over time to be issued a points reward. * THIRD_PARTY_POINTS - An offer provided by a third party where the provider is the points master but Eagle Eye are the Campaign master. * BOUNCE_BACK - An offer that when you qualify a new Account from a different Campaign is added to your wallet to be used at a later date. * MULTI_PROMOTION_DISCOUNT - An offer that you have a single Account but it is linked to multiple different Campaigns and the customer receives all the offers that they qualify for in a single transaction. * QUEST_FIXED_POINTS - An offer where you perform different actions over time to be issued a points reward. * ZERO_REWARD - An offer which doesn't produce a points or discount reward. * POINTS_EXCHANGE_DISCOUNT_OFF_PRODUCTS - An offer to allow the exchange of points for a discount on products.
    - `continuity` object — The qualification criteria for a continuity Account.
      - `qualification` object
        - `totalTransactionCount` number, nullable — A total number of transactions that must be met before the reward is triggered.
        - `totalTransactionSpend` number, nullable — The total spend across all qualifying transactions that must be met before the reward is triggered.
        - `totalTransactionUnits` integer — Total units purchased across all qualifying transactions for the reward to be triggered.
        - `tenders` object[], nullable — Qualification criteria based on the method of payment.
          - `bin` string, nullable — The Bank Identification Number.
          - `tenderType` string — The tender type name defined by Client.
        - `restrictSpendCreditToTender` object
          - `enabled` boolean, nullable — When true `totalTransactionSpend` will be calculated from the defined tenders.
    - `issuanceQualification` object, nullable — The qualification criteria that a transaction must meet in order to issue an Account from this Campaign.
      - `basket` object, nullable
        - `minimumBasketSpend` integer, nullable — The minimum basket spend that must be reached to qualify.
        - `minimumUnits` integer, nullable — The minimum number of units that must be in the basket to qualify.
      - `locations` object, nullable
      - `product` object
      - `points` object, nullable — Information about points-related operations.
        - `exchange` object, nullable — Details about point exchange for rewards.
          - `cost` integer, nullable — The amount of points to be exchanged for a voucher printed at till.
    - `promoId` string, nullable — The offer code used by physical POS systems.
    - `qualification` object — The required criteria for a customer to qualify for this offer.
      - `basket` object, nullable
        - `minimumBasketSpend` integer, nullable — The minimum basket spend that must be reached before the reward qualifies.
        - `minimumUnits` integer, nullable — The minimum number of units that must be in the basket for the reward to trigger.
      - `consumer` object, nullable — The groups that each consumer can be a part of.
        - `data` object, nullable
          - `segmentation` object, nullable
      - `globalProductRestrictions` object
        - `enabled` boolean — A flag to determine if global product restrictions should apply to this Campaign or not.
      - `locations` object, nullable
      - `multipleRedemptionPartners` object, nullable
        - `product` object, nullable
          - `totalMinimumProductSpend` integer, nullable — Total min product spend across multiple redemption partners.
      - `objectives` object, nullable — Configuration for quest objectives that must be completed for qualification.
        - `minimumRequired` integer, nullable — The number of quest objectives that need to be completed.
        - `mode` 'sequential' — Defines how objectives must be completed.
        - `order` object[] — An ordered list of objective campaigns that must be completed, this is allowed only for sequential mode.
          - `campaignId` string, required — The Campaign ID representing a quest objective.
          - `position` integer, required — The position/order in which this objective must be completed (1-indexed).
      - `product` object, nullable
      - `redemptionChannels` object — The redemptions channels that can qualify for this offer.
        - `excluded` string[] — A list of redemption channels that are excluded from the promotion.
        - `included` string[] — A list of redemption channels that are included in the promotion.
      - `universalCode` object
        - `enabled` boolean — A flag to determine if universal code should apply to this Campaign or not.
        - `value` string — The universal code value.
        - `transfer` boolean — A flag to determine if universal code should be transferred to this Campaign.
      - `tenders` object[], nullable — Qualification criteria based on the method of payment.
        - `bin` string, nullable — The Bank Identification Number.
        - `tenderType` string — The tender type name defined by Client.
      - `identityTypes` object, nullable — Qualification criteria based on the type of identity defined in Wallet config. e.g email, membership Id.
        - `excluded` string[] — It contains excluded items of identity type to qualify for the promotion.
        - `included` string[] — It contains identity type of items to qualify for the promotion.
      - `audiences` object, nullable — Qualification criteria based on the audiences a wallet must or must not belong to.
        - `excluded` array[], nullable — It contains an array of audience lists that will exclude a wallet from the promotion. If the wallet is a member of at least one audience in EACH list then the promotion will be excluded. Exclusion rules take priority over inclusion rules.
          - string[] — A list of audience IDs.
        - `included` array[], nullable — It contains an array of audience lists that will qualify the wallet for the promotion. The wallet must be a member of at least one audience in EACH list for the promotion to qualify (and also not be excluded).
          - string[] — A list of audience IDs.
    - `reward` object
      - `basket` object — The basket based rewards based around the basket as a whole, such as a basket value total or the number of items purchased.
        - `value` object — The reward rules around a value based discount.
          - `interval` object — The reward rules that are based on an interval value of either a basket amount or unit quantity.
            - `decider` 'SPEND' | 'UNITS' — The method that will be used to specify how the discount is calculated: * SPEND - Will use the basket value to calculate the discount. * UNITS - Will use the number of units in the basket to calculate the discount.
            - `step` integer — The interval value when the discount amount should be stepped up.
            - `discountAmount` integer — The discount amount to apply to the basket total.
            - `floor` integer — The interval value where the credit amount should start increasing from.
            - `ceiling` integer, nullable — The interval value where the credit amount should stop increasing.
          - `tier` object — The reward rules around tiers of a basket amount or unit quantities.
            - `decider` 'SPEND' | 'UNITS' — The method that will be used to specify how the discount is calculated: * SPEND - Will use the basket value to calculate the discount. * UNITS - Will use the number of units in the basket to calculate the discount.
            - `values` object[] — The array of values for each tier.
              - …
        - `points` object — The reward rules around a points value-based discount
          - `interval` object
            - `decider` 'TOTAL' | 'UNITS' — The method that will be used to specify how the discount is calculated: * TOTAL - Will use the basket value to calculate the discount. * UNITS - Will use the number of units in the basket to calculate the discount.
            - `step` integer — The value of the interval when the discount amount should be stepped up.
            - `schemeId` string — The Scheme that the points should be credited to.
            - `creditAmount` integer — The amount to increase the points credit amount by with each interval.
            - `floor` integer — The interval value where the credit amount should start increasing from.
            - `ceiling` integer, nullable — The interval value where the credit amount should stop increasing.
          - `tier` object
            - `decider` 'SPEND' | 'UNITS' | 'TOTAL' — The method that will be used to specify how the discount is calculated: * SPEND - Will use the basket value to calculate the discount. * UNITS - Will use the number of units in the basket to calculate the discount. * TOTAL - Will use the basket value to calculate the discount.
            - `values` object[] — The array of values for each tier.
              - …
          - `percentBack` object, nullable — The reward rule when a percentage of basket spend should be awarded in points.
            - `percentageAmount` number, required — The percentage of basket spend that should be awarded. This can be a decimal.
            - `rate` number, required — How much a point is worth in the lowest denomination of local currency, such as pence or cent. This can be a decimal, so 0.1 would mean 10 points equal a penny or cent. This is used to calculate how many points should be awarded.
            - `schemeId` string, required — The Scheme that the points should be credited to.
      - `maxRewardValue` integer, nullable — This refers to the maximum value of a coupon reward that can be obtained within a campaign.
      - `maxRewardValuePerPeriod` object[], nullable — This refers to the maximum value of a coupon reward that can be obtained within a specific period for a campaign.
        - `active` boolean, required — A flag denoting if maxRewardValuePerPeriod is active or not.
        - `value` integer, required — This contains maximum value of a coupon reward.
        - `period` 'ACCOUNT_REWARD_DAY' | 'ACCOUNT_REWARD_MONTH', required — What the period is.
      - `maxRewardUnitsPerPeriod` object[], nullable — This refers to the maximum number of units that can be redeemed within a specific period for a campaign.
        - `active` boolean, required — A flag denoting if maxRewardUnitsPerPeriod is active or not.
        - `value` integer, required — This contains the maximum number of units that can be redeemed in a given period.
        - `period` 'ACCOUNT_REWARD_UNITS_DAY' | 'ACCOUNT_REWARD_UNITS_WEEK' | 'ACCOUNT_REWARD_UNITS_MONTH' | 'ACCOUNT_REWARD_UNITS_YEAR' | 'ACCOUNT_REWARD_UNITS_LIFETIME', required — What the period is.
      - `standard` object, nullable — The standard rewards where either a discount value or percentage is given or a number of points is credited.
        - `value` object
          - `percentageAmount` integer, nullable — The discount percentage to be subtracted from the basket total amount.
          - `discountAmount` integer, nullable — The discount amount to be subtracted from the basket total amount.
        - `coupon` object
          - `campaignId` string[], nullable — The ids of campaigns to issue a coupon against as a reward.
        - `stamps` object[] — The campaign ids and number of stamps to be stamped stamp as a reward.
          - `campaignId` string, required — Stamp card campaign to be stamped as a reward.
          - `amount` integer, nullable — The amount of stamps to be made on the campaign. Optional, defaults to 1 if not provided.
        - `zeroReward` true — Flags that there is no reward for this offer. Can only be `true`.
        - `points` object
          - `schemeId` string, nullable — The Scheme that the points must be credited to. If this is not provided, points are credited to the default points Account for the consumer.
          - `creditAmount` integer, nullable — The number of points to credit the points Account with.
          - `multiplierValue` integer, nullable — The multiplication value to apply to the base issuance of points that would normally be awarded for the transaction.
        - `tax` object — The rewards based on tax.
          - `taxSaver` boolean, nullable — Denotes whether the tax amount will be rewarded for this offer.
        - `bolton-points` object
          - `schemeId` string, nullable — The Scheme that the points must be credited to.
          - `creditAmount` integer, nullable — The number of points to credit the points Account with.
          - `multiplierValue` integer, nullable — The multiplication value to apply to the base issuance of points that would normally be awarded for the transaction.
        - `product` object, nullable
      - `product` object, nullable
      - `stampCard` object — The reward rules for offers that give a reward when you reach a certain number number of stamps.
      - `pointSpendRates` object[] — The reward rules for an offer that can reward customers with a different spend rate when using points they have earned on previous transactions. This is set up in a tier-based way depending on the number of points that are being spent at the time. This means multiple objects defining a rate can be provided in the offer setup. The Spend Rate Reward parameters are defined as the following and are used when a consumer is redeeming their points
        - `floor` integer — The starting value of the range that the spend amount must be between floor and ceiling.
        - `ceiling` integer — The top value of the range that the spend amount must be between floor and ceiling.
        - `step` integer — The step increments within this range that spend must occur at.
        - `rate` number — The monetary value of each point and this is a floating-point number.
        - `bonus` integer — A bonus monetary amount to be rewarded if the spend amount is within the required spend range.
        - `pointsBack` integer — The number of points returned to the Account if the spend amount is within this spend range.
      - `treatAs` object, nullable — The reward rules when calculating the price a customer will pay.
        - `type` 'DISCOUNT' | 'TENDER' | 'REBATE' — The method that will be used to specify how a Coupon should be treated at point of sale. Default value of DISCOUNT if this is not defined (empty string): * DISCOUNT – Treated as money off a basket or products. * TENDER – Treated as part payment against a basket or products. * REBATE - Treated as part of buying discount of a basket or products.
      - `restrictRewardToTender` object, nullable — Whether a reward should be limited to payment on a specified tender
        - `enabled` boolean — A rule to decide when calculating the total reward for the customer whether only to apply a reward for the value spent on a selected tender type
        - `tenders` object[], nullable — Qualification criteria based on the method of payment.
          - `bin` string, nullable — The Bank Identification Number.
          - `tenderType` string — The tender type name defined by Client.
      - `tierMembership` object, nullable
        - `schemeId` string — Only required if `tierMembership.points.active` is `true` and `offer.reward.standard.zeroReward` is `true` for tier contributions.
        - `points` object, nullable
          - `active` unknown
          - `type` 'FIXED' | 'MATCH_REWARD' | 'null', nullable — Only required if `active` is `true`. When `offer.reward.standard.zeroReward` is `true` and `active` is `true` for tier contributions then the points reward `type` can only be `FIXED`.
          - `creditAmount` integer, nullable
        - `transactions` object, nullable
          - `active` boolean, nullable
    - `boltOn` object[], nullable — The bonus reward if you transact with a particular tender type.
      - `qualification` object
        - `tender` object
          - `include` object[] — It contains offer qualification rules.
      - `reward` object, nullable
        - `standard` object
          - `points` object
            - `creditAmount` integer, nullable — The number of points to credit the points Account with.
    - `bounceBack` object[], nullable — The promotion Account issued if a customer qualifies for a bounce back Campaign.
      - `resourceId` string — The resource id value.
      - `resourceType` 'CAMPAIGN' — The resource type enum value.
    - `stampCard` object — The configuration details of a stamp card Campaign.
      - `configuration` object
        - `steps` integer — How many stamps per rotation.
        - `rotations` object
          - `active` boolean — A flag denoting if rotations is active or not.
          - `value` integer — The number of rotations.
      - `multiplier` object — A reward multiplier during specific day/time windows.
        - `active` boolean — Boolean flag to determine whether reward multipliers should be used
        - `windows` object[], nullable — An array of day/time windows with which to multiply the reward
          - `startDate` string, y-m-d — The start date whereafter this multiplier window should be considered active.
          - `endDate` string, y-m-d — The end date whereafter this multiplier window should be considered inactive.
          - `startDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', nullable — The day of the week this multiplier window starts at.
          - `endDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', nullable — The day of the week this multiplier window ends at.
          - `startTime` string — The time this multiplier window should come into effect
          - `endTime` string — The time this multiplier window should cease being in effect
          - `value` number — The reward multiplier
  - `barcode` object
    - `type` 'GENERATED' | 'DEFINED' — The type of barcode.
    - `value` string, nullable — If the barcode is defined then this is the value to assign to the Campaign. If dynamically generated then this should be empty or null.
    - `components` object[] — It contains offer components values.
      - `type` string — It contains type value.
      - `value` string — It contains string value.
  - `custom` object

## Other responses

- `400` — Bad Request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Not Found.
- `405` — Method Not Allowed.

---

[API](https://skmtc.net/eagleeye/apis/wallet-api.md) · [All operations](https://skmtc.net/eagleeye/apis/wallet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eagleeye/wallet-api/revisions/90a122bb14cc/schema)
