Check Feature Compatibility

Following table lists features which are compatible with standard cart APIs. If you’re using features that are not supported, we recommend that you do not enable the standard cart APIs.

Feature / CapabilityCompatibility with Standard Cart API
Asset-Based OrderingCompatible
Manual Pricing Adjustments Changes in the CartCompatible
Promotions in the CartCompatible
Price Adjustments and OverridesCompatible
Attribute-Based PricingCompatible
Multi-Site Quote and Order CaptureCompatible
Context Rules and Advanced Rules FrameworksCompatible
Create Qualification Rule SetsCompatible
Advanced Rules (Entity Filters, Evaluations)Compatible
Offer SpecificationCompatible
Product VersioningCompatible
Discounts in Industries CPQCompatible
Change of Plans in Industries CPQCompatible for single-asset change of plan. Bulk Change of Plan is not compatible.
Bulk Change and Bulk UpdateNot compatible. These operations fail when Standard Cart APIs are enabled.
Usage Pricing for Industries CPQCompatible
Functions for Context RulesCompatible. See Working Example
Product RelationshipsCompatible. See Working Example
Salesforce Pricing with CMECompatible
Transformation of Multiplay OffersCompatible with limitations. replaceOffers does not support complex multi-play transformations. See Known Limitations.
Multi-Edit Cart ItemsCompatible
Incremental CachingCompatible
  • To enable the Product Versioning feature, customers must contact their Account Executives (AEs). Starting with the Winter’26 release, any new customer attempting to enable this feature will receive an error message instructing them to contact their AE.

Note

Usage Considerations 

Review the following considerations before using the standard cart APIs.

  • Entity filters on the orders, assets, orderlineitems, Product, PriceBookentry, and ProductChildItem objects are supported. All advanced rules are supported.

  • Entity filters and advanced rules may not work as expected if the formula field is modified in the transaction. To rerun the advanced rules once the formula field is updated, execute getCartsItems API call with validate = true.

  • In the addToCart API, the includeAttachment input parameter is not supported. Standard Cart APIs and LWC Cart (FlexCard-based and Enhanced) do not return or display product attachments on cart line items. Hybrid Cart continues to support attachments. If you require attachments, stay on Hybrid Cart or, for FlexCard Cart only, build a custom component that queries ContentDocumentLink records.

  • For better performance when you use this API to add a child bundle with a parent as a virtual line item, pass rootLineItemId in the items object.

    Following is an example payload.

1{
2  "methodName": "postCartsItems",
3  "items": [
4    {
5      "quantity": {Quantity of child product to add},
6      "parentId": {Parent cart item Id},
7      "rootLineItemId": {Pass in case of child add of virtual parent for better performance}
8      "parentHierarchyPath": {Hierarchy path of parent},
9      "itemId": {comma seperated pricebook entry ids of child products to add},
10      "parentRecord": {
11        "records": [
12          {Parent item record object}
13        ]
14      }
15    }
16  ],
17  "cartId": {cart_ID},
18  "price": true,
19  "validate": true,
20  "includeAttachment": true,
21  "pagesize": 10,
22  "lastRecordId": null,
23  "hierarchy": -1,
24  "query": null
25}
  • The nameResult node is not be present in response (like attributeCategories, productAttributes) for all the standard cart APIs. The data nodes are directly present.
  • The structure of response for all the standard cart APIs, when called using Apex Remote Service (CpqAppHandler), is as follows:
1{
2   "CpqNext1b": true,
3   "result": response (String)
4}
  • Set price to false in getCartsItems if you don’t need to run a pricing engine for the API call. This can improve performance.
  • For priceCart API, setting limitScopeToPassedItem no longer required to be separately passed, just pass items in the items parameters.
  • The replaceOffers API does not support complex transformations. For example, Multi-play offers. Change of Plans is otherwise compatible for single-asset operations. See Known Limitations.
  • Bulk Change and Bulk Update, including bulk disconnect of assets, are not compatible with Standard Cart APIs. Do not enable Standard Cart APIs if you use these features. This is separate from Multi-Edit Cart Items, which remains compatible.
  • Using Field Settings to add custom fields to the cart response is supported only for getCarts and GetCartsItems. For other Standard Cart APIs, pass any custom field with the fields parameter of the request URL or body. If you need many fields, add them in a PreInvoke hook instead of Field Settings.
  • The ProductSelector interface is not supported with Standard Cart APIs. Use the sortBy parameter on getCartsProducts.
  • The following API parameters have Standard Cart API support starting in 258. Behavior can still differ from Classic:
    • noResponseNeeded is supported for Add, Update, and Delete Standard Cart APIs. Multi-item add defaults to noResponseNeeded=true and does not return the records node unless you pass false.
    • maintainAssetPrice is supported from 258.
  • Starting in the Winter’27 release, the Classic cloneItems API supports noResponseNeeded. When true, the API does not return the records node.

For a full list of Classic-only APIs and remaining behavior differences, see Known Limitations.

AssetToOrder 

  • There are two invocations that can be used upon calling AssetToOrder API. Upon calling OmniFDOWrapper, the classic flow is invoked. The standard flow is invoked upon calling REST API.

  • The following CPQConfiguration settings are not currently supported for AssetToOrder. While we offer the functionality, there is no specific configuration available to control the API behavior for these settings:

    • UsingPromotions
    • DeltaPrice
    • IsCachingEnabledForAssetToOrder