Skip to main content

API mid June 2026 improvements (1.6.6)

Sam Critchley
Co-Founder

Additional API features, improvements and fixes that shipped to production in mid June 2026, on top of the earlier early June 2026 release.

  • Added max_basket_discount_amount campaign field, allowing a per-voucher cap on the discount value of percentage basket vouchers at redemption time. The cap is enforced per voucher during get-basket-price and add-basket.
  • Added new admin permission fields permission_analytics, permission_export, and permission_segment_query on add-user, alter-user, and permission-related endpoints, enabling more granular access control for admin accounts.
  • Added created_date and last_modified_date as sort parameters for the Business and AllowedIpRange resources in the Resources API.
  • Changed percentage basket voucher application on chains that allow double discounting: get-basket-price and add-basket now apply all eligible campaign-level standalone percentage basket vouchers by threshold allocation — sorted by campaign reward_priority, then cap-aware delivered discount for same-priority vouchers, then created_date — instead of keeping only the single best percentage voucher. The max_basket_discount_amount cap applies per voucher.
  • Changed voiding/cancelling a transaction via an empty get-basket-price (no items and basket_total_value 0) to also unlock the shopper's standalone vouchers: any claimed, non-expired voucher locked to the same retailer_basket_code / voucher_locking_code now has its lock cleared, not only on-the-fly basket campaign vouchers.
  • Improved event handling so that deferred events (such as OTP SMS notifications) are no longer triggered when the API request that staged them fails.
  • Improved get-basket-price to no longer return misleading warnings for auto-loaded vouchers that do not match campaign spend-assignment parameters.
  • Fixed an issue where voucher key generation under high concurrency could produce duplicate keys.
  • Fixed a get-basket-price error that occurred when the basket had no items and the user held vouchers from inactive campaigns.