Merchants
Per-Method Merchant Coverage
- Merchant List and Merchant Retrieve now return a
coverageobject with a status per method -checkout,checkoutDetails,productDetails, andproductSearch, eachsupported,testing, orunsupported- so you can gate features per capability instead of relying on one merchant-wide status. See Merchants for details. - New per-method filters on Merchant List:
checkoutCoverage,checkoutDetailsCoverage,productDetailsCoverage, andproductSearchCoverage. - The top-level
coverageStatusfield and filter are now deprecated aliases ofcoverage.checkout/checkoutCoverage. They keep working exactly as before - no action required - but prefer the new fields going forward.
CartCheckout
Expired security codes fail fast
cart.checkout.purchasenow returns a 400 up front when the stored card’s security code has lapsed, instead of queueing an order that could only fail at payment time. Re-collect the code with the CVC Element (orPOST /card/{cardToken}/cvvserver-side) and retry with the samecardToken.- Purchasing with an unknown
cardTokennow returns a 404 instead of a server error.
Product Search
- Global search results are now ranked by merchant checkout coverage -
products from
supportedmerchants come first, thentesting, thenunsupported. PassingsortBykeeps your explicit price ordering instead. - New
supportedOnlyfilter on global text and image search returns only products from checkout-supported merchants. It’s applied after the search runs, so a page may contain fewer thanlimitresults. See Product Discovery for details.
Buyer Emails
- Set a per-app support email in the dashboard (Settings → App) - it becomes the reply-to address and support contact on buyer-facing transactional emails, falling back to your team contact email.
- The order failure email is now configurable per app (Settings → App → Notifications): keep recovery links so buyers can finish failed purchases on the merchant’s site (default), or send a plain failure notice to keep buyers in your app.
Service Fee Fields
Breaking change. Service fee fields have been renamed for consistent terminology across the platform:cart.createsettings:commissionFeeFixedis nowserviceFeeFixed, andcommissionFeePercentis nowserviceFeePercent.- Completed order results:
costs.commissionFeeis nowcosts.serviceFeeacross purchase status responses, order listings, and webhook payloads.
costs.serviceFee as well.
The new field names are available in
@henrylabs/sdk@1.10.0 and
@henrylabs/mcp@1.10.0 -
upgrade alongside your integration changes.CartCheckoutOrdersProducts
Cart
- The default cart service fee is now 0% (previously 5%). New carts are created with no service fee unless you explicitly set one.
Checkout
- Checkout details now return a single, unified
dataresult shape across methods - easier to parse and consistent regardless of the underlying merchant. - Added shipping cost estimation, so you can surface expected shipping before a purchase completes.
- Faster checkout page load and clearer inline form validation messages.
Orders
- Completed order results may now return
nullfortaxandshippingwhen a merchant doesn’t itemize them, instead of failing validation.
Merchant Coverage
- Expanded supported merchants for product search and details, including UNIQLO, Gap, Banana Republic, Mango, Nike, DSW, and Fashion Nova.
Affiliate Product Links
- Cart items now accept an optional
affiliateProductLinkfield oncart.create,cart.item.add, andcart.item.update. Pass your partner tracking URL and Henry will use it for fulfillment while keeping the originallinkas the canonical product reference. affiliateProductLinkis also returned on purchase responses (cart.checkout.pollPurchase) and order list items, so you can reconcile attribution end-to-end.- If
affiliateProductLinkis omitted, Henry falls back tolink- existing integrations are unaffected. - Available in
@henrylabs/sdk@1.5.0.
Cart Fetch
- Added
cart.fetch(cartId, { buyer? })to retrieve a single cart by ID and optionally prefill buyer details in the returnedcheckoutUrlfor hosted checkout. - Available in
@henrylabs/sdk@1.4.0.
Product Discovery
products.searchnow supports merchant-scoped search viatype: 'merchant', alongside existing text and image search.mode: 'sync'added acrossproducts.search,products.details, andcart.checkout.purchase- wait up to 30s for results inline instead of polling.
Cart
cart.createsettings now accept the fullsettings.eventstrigger model, including webhook, email, points, and tier actions with optional conditionals.- Released in
@henrylabs/sdk@1.3.0.
SDK
- Published
@henrylabs/sdk@1.2.1with method signature updates and polling helper refinements.
SDK
- Published
@henrylabs/sdk@1.1.2with refreshed generated types.
Henry SDK v1
- Shipped
@henrylabs/sdk@1.0.0- the stable TypeScript server SDK for product discovery, universal cart, checkout, and orders. - Cart creation now returns a ready-to-use
checkoutUrlalongsidecartId- no separate session step needed. - Unified async pattern (
refId+poll*) across product search, product details, and headless checkout, with a newmode: 'sync'option to wait up to 30s inline.
Client SDK (Browser)
- Introduced
@henrylabs/js@1.0.0- a framework-agnostic browser SDK for embedding checkout directly into your frontend. Henry.createCheckoutElement(...)drops a buy-now button and modal onto any page with display modes for full, compact, comfortable, bubble, and direct.Henry.createCardElement(...)renders an isolated iframe for PCI-safe card capture and returns acardTokenfor server-side use with headless checkout.
v0.25.0
MCP Improvements
- Added initial server instructions for MCP.
Bug Fixes
- Fixed a memory leak related to abort signals in the client.
- Fixed an issue where abort listeners were removed too early.
- MCP no longer falls back to baseUrl when the environment variable is set.
- Correctly defined the
falseenum type.
v0.24.0
Transaction Fee on Checkout
- Charge users a transaction fee on checkout. This fee is applied to the total order amount. Currently for Enterprise customers only.
Saved Shipping Addresses for Guest Users
- Now guest users can save multiple shipping addresses
Checkout MCP
- Bug fixes and performance improvements
Concurrent Enrich & Variant Check Requests
- Enrich and check variants in parallel, with up to 50 concurrent requests.
- Now possible to batch enrich and check variants
Improved Product Search Filtering
- Updated product text and image search parameters to include additional filters and sorting options.
- Filter by brand, merchant, min/max price, sale status, and more.
- Scope searches to country and region (Ex. us, Austin, Texas)
- Sort results by relevance and price
Multi-Cart Checkouts
- Checkout multiple items at once with our multi-cart checkout flow. Multi-cart checkout will work automatically without any code changes.
- Users can add items to cart from any supported merchant, and they will be checked out together. Adding multiple items in a single request is currently experimental.
Save Additional Addresses & Payment Methods
- Save additional address and payment methods for your users, making it easier than ever to place orders.
- This feature is released along side with a visual refresh of our hosted checkout page.
Enrich Top-k Products
- Now automatically enrich top-k products returned from Text Product and Image Product searches.
Product Discovery
- Introducing reverse image search. Search through 2b+ SKUs, enabling more intuitive and visual shopping experiences in your app.
Hosted Checkout
- Added iFrame support with cookie-free checkout. Embed the checkout experience directly in your app without worrying about third-party cookie restrictions or cross-origin limitations.
Programmatic Email Inbox
- All transactional emails, order confirmations, shipping updates, newsletters, and more are now captured and stored.
- Query and access your users’ merchant emails programmatically, giving you full control to build custom order tracking, notifications, and support experiences.
Global Region Support
- Now, allow users from anywhere in the world to route checkouts through Henry Labs
- Initial support is for EU and UK regions in addition to existing US support. Wider global support coming soon
Product Enrichment Endpoints
- Introduced Product Enrichment Endpoints, allowing you to get product price, variant information, stock availability for a product given its link
- Endpoint is currently Experimental, with availability reserved for Plus Plan customers and above
API Playground
- Added new API Playground for Sandbox and Production environments. Get started here
- Intended for developers trying out our APIs. It’s recommended to save the Directory link to keep your documentation up to date with our latest API changes
Basic, Standard, and Plus Plans
- Rolled out self-serve subscription plans for customers of all sizes.
- No matter what stage your business is in, Henry Labs has a plan for you. Build embedded shopping experiences in your app today.
AI Agent in Quickstart Demo
- Added AI Agent to Quickstart Demo. Try it out here.
- This agent is powered by Henry Shopping MCP
Enterprise Pro Plan
- Introduced Enterprise Pro Plan, with full access to headless checkout, bespoke API features, 24/7 support, and more. For more information contact support@henrylabs.ai.
Email Whitelabeling
- Email domain whitelabeling has been rolled out in production. Route merchant emails through your own domain, allowing you to control the end-to-end customer experience without comprimising user trust or ever managing returns.
Checkout & Payment Experience
- Visual refresh. Updated payment card designs, icons, dropdowns, and more.
- Improved UI for CVV updates, payment method management, and shipping address autocomplete.
Product Search & Quickstart Demo
- Expanded product details API to include reviews, video, stars, similar products, and related searches.
- Quickstart Demo now renders new product details on
demo.henrylabs.ai.
Hosted Checkout Whitelabeling
- Add your brand logo to the hosted checkout modal.
Henry Managed Accounts
- Introducing Henry Managed Accounts. Unlock the power of user merchant accounts fully managed by Henry Labs.
- Track post-order states (shipping, returns, etc) so you can provide your customers real-time order updates.
- Whitelabel merchant emails, build trust with your customers, and have full control over the E2E user experience.
- Managed accounts are rolling out to all supported merchants
Hosted Checkout
- Hosted checkout now supports updating CVV at point of checkout
Product Discovery
- The result of variant checks is now reflected in our Hosted Checkout page
Henry Shopping SDK (TypeScript)
- Introducing the Henry Shopping SDK, making it easier than ever to start building (Python SDK coming soon)
Henry MCP Server
- Add an end-to-end embedded commerce stack to your agent application with less than 10 lines of code
Universal Cart
POST /cart/itemsnow acceptsaffiliateProductLink, letting you pass through your partner tracking links end-to-end.- Added the optional
checkVariantAvailabilityparameter so carts can auto-check the selected variant’s inventory when items are added. Feature is currently experimental. - Introduced a “blocklist” mode that allows any product to be added to cart and checked out except for those explicitly blocked.
Wallet
- Added guest card collection mode for
/wallet/cart-collect
Product Discovery
- Released experiemental variant check endpoints. Use them to check real time stock availability of variants.
Henry Dashboard
- Added staging vs. production environment flag to dashboard.
Miscellaneous
- Added unified generated documentation at
api.[sandbox].henrylabs.ai/docs