Known Limitations for Standard Cart APIs

Standard Cart APIs retain the same API names, inputs, and response formats as Cart APIs (Classic) unless a topic calls out a difference. This topic lists behaviors that still differ from Classic, and Cart APIs that continue to run on the Classic Apex path.

Before you enable Standard Cart APIs, review Check Feature Compatibility and the API list in Standard Cart APIs.

APIs that remain on the Classic path

You can enable only the APIs listed in Standard Cart APIs. Other Cart APIs continue to run using Apex libraries.

The following operations have Classic usage examples and are not on the Standard Cart APIs list. Treat them as Classic unless a later release adds them to that list.

Operation Remote method Classic usage example
Validate Cart runCartValidation Validate Cart Action
Clone Line Items cloneItems Clone Line Items in Cart
Cancel Order / Submit Cancel cancelCart / submitCancelOrder Cancel Order, Submit a Cancel Order Request
Get Product Details / Get Products by ID getCartsProductDetails / getCartsProductsById Get Details of Product, Get Products by ID
Get Catalog Information getCatalogs Get Catalog Information
Get Price Lists for Cart getCartsPriceLists Get Price Lists for Cart
Update Item Attributes putCartsItemsAttributes Update Item Attributes
Get / Add Promotions getCartsPromotions / postCartsPromotions Get Cart Promotions, Add Promotion to Cart
Get Price Waterfall getCartsItemPrices Get Price Waterfall for Price
Delete Adjustment deleteAdjustment Delete Adjustment
Get All Assets getAllAssets Get Assets for Account

For validation and pricing on the Standard path, use Run Pricing for Items to Cart. Dedicated runCartValidation remains a Classic Cart API.

Feature and API behavior differences

Area Classic Cart APIs Standard Cart APIs
Transformation of multi-play offers Supported Change of Plans is compatible for single-asset operations, but replaceOffers does not support complex multi-play transformations
Bulk Change and Bulk Update Supported Not compatible. Bulk Change, Bulk Update, and bulk disconnect fail when Standard Cart APIs are enabled
ProductSelector interface Supported Not supported. Use the sortBy parameter on getCartsProducts
Field Settings / CPQV2 field settings Supported for cart responses Supported for getCarts and GetCartsItems only. For other Standard Cart APIs, pass custom fields in the fields parameter
noResponseNeeded Supported. cloneItems supports noResponseNeeded from the Winter'27 release Supported for Add, Update, and Delete Standard Cart APIs from 258. Multi-item add defaults to noResponseNeeded=true unless you pass false
maintainAssetPrice Supported Supported from 258
includeAttachment Supported Ignored on addToCart. Product attachments are not returned or displayed in LWC Cart (FlexCard-based or Enhanced)
Custom Expression mode in RuleSets Supported Not supported
Context mappings with Initialization Type Type In and Scope SObject Supported Not supported
nameResult node (attributeCategories, productAttributes) Present Not present. Data nodes are returned directly
actions node Populates both remote and rest Populates only the protocol you invoked
Cart document / line items in custom code Full line-item sObject list CpqCartDocument contains only items affected by the current operation. GetCartsItems is the full-cart read
Duplicate pricebook entry IDs in one add-to-cart call Collapsed into a single cart line item Each items array entry creates a distinct line item, even when itemId is the same
Date fields in fieldsToUpdate Locale-based Date.parse() (for example, dd/mm/yyyy for day-first locales) ISO only (yyyy-MM-dd). Org and user locale are ignored
Currency and pricing field types Integer values are often accepted Double is required (for example, 0 must be 0.0)
AssetToOrder invocation OmniFDOWrapper uses the Classic flow REST /v2/carts uses the Standard flow
AssetToOrder CPQ settings UsingPromotions, DeltaPrice, and IsCachingEnabledForAssetToOrder apply Functionality exists, but those settings do not control Standard AssetToOrder
PCP rule execution Runs twice on add-to-cart: before validation and pricing, then in the post-execute hook after pricing Runs once, before validation and pricing. See PCP Execution Order

note: Because not all APIs have migrated to the Standard Cart framework, custom implementations must accommodate both Classic and Standard Cart flows and switch dynamically based on context. See Use CpqCartDocument.