Skip to content
Kitenzo Headless is currently invite-only. To enable it on your store, email support@kitenzo.com.

Required products

Some bundles require specific products to always be present. These come back in requiredProducts[] on GET /bundles/:id.

{ "shopifyProductId": "222", "variantIds": [], "quantity": 1 }
FieldTypeDescription
shopifyProductIdstringThe product that must be included.
variantIdsstring[]Specific variants that satisfy the requirement. Empty = any variant of the product.
quantitynumberHow many must be included (default 1).

A common pattern: when the bundle loads, add each required product to the relevant section (or a dedicated “included” area) using builder.addItem(...), then render it as fixed.

useEffect(() => {
if (!bundle?.requiredProducts) return;
for (const req of bundle.requiredProducts) {
const variantId = req.variantIds[0]; // or your own selection logic
if (variantId) builder.addItem(/* sectionId */, variantId, req.quantity);
}
}, [bundle]);

The validated configuration from submitBundle / /configure enforces required products server-side, so a selection missing them will fail validation.