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.