Changelog
What’s shipped in the API and these docs, most recent first. Non-breaking additions ship continuously; breaking changes are announced ahead of time through Firmly — none ships without notice.
Recent changes
- September 22, 2026 — 3-D Secure payment challenges documented; merchant-access guides restored behind sign-in. Complete Order and Place Order can return
409 payment_challenge_requiredwhen the issuer requires card verification — not a failure, but a step the shopper completes before you call Resume After Challenge.openapi.jsoncarries the envelope on every route that emits it, so generated clients no longer treat a challenge as a dead end. Available to App IDs opted in viasupports_payment_challenge; others keep the previous422 PaymentChallengeRequired. Separately, the merchant allow-listing and payment-provider guides are published again under For Merchants, behind the same sign-in they had before — contact Firmly for access. Search Products by Query moved from Catalog to Discovery; the previous URL redirects. - September 15, 2026 — PayPal Express Checkout documented, express checkout grouped by provider. PayPal’s three-call sequence now has reference pages — Start, Authorize and Complete Order — verified against the API. Express checkout is now grouped per provider, so the Klarna and Google Pay pages moved to
/express-checkout/klarna/…and/express-checkout/google-pay/…; the previous URLs redirect. Each provider page carries the availability check and host note for its gateway; the endpoint pages stay self-contained. Note for PayPal integrators: a declined PayPal payment returns422 CreditCardDeclineddespite the name — see Complete Order. - September 2, 2026 — Merchant fees itemized on the cart. Cart responses now carry an optional
feesarray plus afee_total, so merchant-imposed charges (recycle, regulatory, environmental) are itemized with their own descriptions instead of being folded intotax. Both fields are optional and absent when a cart has no fees, andtotalis unchanged. See Get Cart, the ShoppingCartV2 schema, and Common types → Fee. - August 21, 2026 — Reference accuracy pass. Corrected the documented shapes for place-order / complete-order (the response carries
submitted_atalongsideplatform_order_number), Get Product from URL (full product detail, and it can return412 ProductNotSupported), Discovery search (paginate withcursor;queryis optional when you sendfilters), Add Line Item (flush_cart/fast_modeare the strings"true"/"false", and unknown query parameters are rejected), and Set Fulfillment Type (fulfillment_typeenum pluslocation_id). Cart responses now document thesessionobject and thetax/tax_totalpairing. Example identifiers are UUIDs throughout, matching what the API returns, and every example card is the documented sandbox card. - August 19, 2026 — Clearer Standard vs Advanced. Both checkout flows now have a runnable, end-to-end guide — the Standard Checkout Guide (
/api/v1) and the Advanced Checkout Guide (/api/v2) — plus a chooser on the For Destinations and For Merchants pages, and a which-is-my-store heuristic for merchants. The API Explorer is now grouped by flow: Shared setup, Standard (v1), Advanced (v2). - August 18, 2026 — Standard (v1) checkout documented end-to-end. New Standard flow reference (catalog, cart, checkout, order) and the runnable Standard Checkout Guide, verified against the sandbox. The Advanced (v2) endpoint set — cart, shipments, orders, sessions, and ZIP-coverage — is now complete in the reference and the Explorer.
How updates are communicated
- Breaking changes are announced ahead of time through Firmly; no breaking change ships without notice.
- Non-breaking additions (new endpoints, optional fields, new guides) ship continuously.
- Internal refactors that don’t change the public contract are not announced.
Versioning
- Two flows share the same auth and catalog: Standard (
/api/v1) — single-merchant, one-shipment checkout, right for most integrations — and Advanced (/api/v2) — split shipments, add-ons, delivery scheduling, and coverage. See Choose your checkout flow for how to pick. - Endpoint-level detail is in the API Reference and the live API Explorer.