Loading
Upcoming Mandatory Changes to Public Key Infrastructure (PKI)Read More
Salesforce Enforces New Security Requirements in Summer 2026Read More

Revenue Cloud: Configurator API returns 'A bundle component can belong to only one bundle' intermittently

Publish Date: Jun 8, 2026
Description

This article explains why the Revenue Cloud Configurator and Place Sales Transaction (PST) APIs intermittently return "A bundle component can belong to only one bundle" with errorCode "INVALID_INPUT" for bundle products, and how to resolve it.

 

Resolution

Cause 1: Configuration instance not saved between configure calls
1. After every successful call to /services/data/v64.0/connect/cpq/configurator/actions/configure, immediately call /services/data/v64.0/connect/cpq/configurator/actions/save-instance with the same contextId before issuing another configure call or invoking Place Sales Transaction.
2. Example save-instance request body: {"contextId": "<the contextId returned by configure>"}.
3. Do not reuse a contextId from a previous transaction across a new configure call. Start a new configure call to obtain a fresh contextId for each configuration session.
4. In Apex callers of PlaceSalesTransaction, wrap configure → save-instance → PST as a single sequential unit; do not parallelize these calls for the same transactionId [Quote.Id / Order.Id].

Cause 2: Duplicate component references in the PST payload
1. In the PST payload, ensure every addedNodes entry has a unique synthetic id (for example, ref_b594ba89_2298_4b6a_bbd7_1dd664f0d1d4). Do not reuse the same id for two components.
2. For each child component, set SalesTrxnItemRelationship.MainItem to the synthetic id of exactly one parent in the same payload. A child must not appear under two MainItem references.
3. When you reuse the output of a Saved Product Configuration as input to PST, regenerate the synthetic ids before submission and verify each ProductRelatedComponent [ProductRelatedComponent.Id] resolves to a single parent in Setup > Object Manager > Product Related Component [ProductRelatedComponent].
4. Set the configurationOptions block explicitly: "configurationInput": "runAndBlockErrors", "configurationOptions": { "validateProductCatalog": true, "validateAmendRenewCancel": true, "executeConfigurationRules": true, "addDefaultConfiguration": true }.

Please find the below detailed article which states which attributes needs to be added.

Knowledge Article Number

005385128

 
Loading
Salesforce Help | Article