Skip to main content

API late February 2026 improvements

Sam Critchley
Co-Founder

Additional API features, improvements and fixes that shipped to production in late February 2026, on top of the earlier February 2026 release (1.6.3).

  • Added support for a product unit field via add-product, returned by the product endpoint (for example g, l, or item).
  • Added a chain-level option to exclude rewards on basket items that have already been discounted by a basket campaign.
  • Added a chain-level multiplier for scaling competition win rates per chain or region.
  • Added a till_code field on baskets, exposed through basket and transaction documents.
  • Changed basket campaigns so they no longer require campaign rules; rule-free basket campaigns now qualify and apply implicitly.
  • Changed claim-basket so admin users and privileged-auth requests are no longer subject to the anonymous-basket claim rate limit.
  • Changed the product variant importer so it accepts either owner_code or product_variant_owner_code as input, and allows a blank owner code.
  • Changed the Resources API so mutating requests (POST, PUT, PATCH) must use a JSON object body, lookups or deletes with empty identifiers are rejected, unknown resource types fail deterministically, and singular and plural routes no longer accept each other's reserved parameters.
  • Changed the Resources API Business resource so business_id is no longer globally required in its OpenAPI schema.
  • Improved voucher redemption_count so it is normalised consistently across receipts and indexing (taking min_earn_quantity into account).
  • Improved database performance for user phone number lookups.
  • Fixed matching item threshold campaign reward distribution across multiple basket items so the correct remaining quantity is used.
  • Fixed get-webhooks and get-webhook so webhook secrets shorter than three characters are obfuscated correctly in API responses.
  • Fixed campaign responses so minimum_matching_item_value is returned as null (rather than 0) when the value is unset.
  • Fixed an authentication issue affecting user-wallet-ledger for user and Shopify authentication.
  • Fixed Stripe subscription webhook handling so the interaction result is captured and reported when a subscription interaction does not complete.