---
schema_version: "1"
id: f2fc2c4fff39ffc524338b2491846038cd4a3be9ffd0b2565abd3d4f1d6c4977
title: Known Limitations for Standard Cart APIs
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries/cme/guides/standard-cart-known-limitations.md
canonical_url: https://developer.salesforce.com/docs/industries/cme/guide/standard-cart-known-limitations.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 5f43c84908b72af694091149ae6b12634563cfd733a6fbfe2fa737e1ff81c989
products:
  - Communications, Media, Energy and Utilities APIs (Managed Package)
  - Industries Developer Documentation
---
# 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](https://developer.salesforce.com/docs/industries/cme/guide/review-the-considerations.md) and the API list in [Standard Cart APIs](https://developer.salesforce.com/docs/industries/cme/guide/std-cart-get-started.md).

## APIs that remain on the Classic path

You can enable only the APIs listed in [Standard Cart APIs](https://developer.salesforce.com/docs/industries/cme/guide/std-cart-get-started.md). 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](https://developer.salesforce.com/docs/industries/cme/guide/comms-validate-cart-action.md) |
| Clone Line Items | `cloneItems` | [Clone Line Items in Cart](https://developer.salesforce.com/docs/industries/cme/guide/comms-clone-line-items-in-cart.md) |
| Cancel Order / Submit Cancel | `cancelCart` / `submitCancelOrder` | [Cancel Order](https://developer.salesforce.com/docs/industries/cme/guide/comms-cancel-order.md), [Submit a Cancel Order Request](https://developer.salesforce.com/docs/industries/cme/guide/comms-submit-a-cancel-order-request.md) |
| Get Product Details / Get Products by ID | `getCartsProductDetails` / `getCartsProductsById` | [Get Details of Product](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-details-of-product.md), [Get Products by ID](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-products-by-id.md) |
| Get Catalog Information | `getCatalogs` | [Get Catalog Information](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-catalog-information.md) |
| Get Price Lists for Cart | `getCartsPriceLists` | [Get Price Lists for Cart](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-price-lists-for-cart.md) |
| Update Item Attributes | `putCartsItemsAttributes` | [Update Item Attributes](https://developer.salesforce.com/docs/industries/cme/guide/comms-update-item-attributes.md) |
| Get / Add Promotions | `getCartsPromotions` / `postCartsPromotions` | [Get Cart Promotions](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-cart-promotions.md), [Add Promotion to Cart](https://developer.salesforce.com/docs/industries/cme/guide/comms-add-promotion-to-cart.md) |
| Get Price Waterfall | `getCartsItemPrices` | [Get Price Waterfall for Price](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-price-waterfall-for-price.md) |
| Delete Adjustment | `deleteAdjustment` | [Delete Adjustment](https://developer.salesforce.com/docs/industries/cme/guide/comms-delete-adjustment.md) |
| Get All Assets | `getAllAssets` | [Get Assets for Account](https://developer.salesforce.com/docs/industries/cme/guide/comms-get-assets-for-account.md) |

For validation and pricing on the Standard path, use [Run Pricing for Items to Cart](https://developer.salesforce.com/docs/industries/cme/guide/standard_cart/std_comms-run-pricing-for-items-to-cart.md). 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](https://developer.salesforce.com/docs/industries/cme/guide/standard_cart/std_comms-get-cart-items.md) 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](https://developer.salesforce.com/docs/industries/cme/guide/comms-migration-consideration-cart.md#product-configuration-procedure-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](https://developer.salesforce.com/docs/industries/cme/guide/use-cart-document-cpq.md).
