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

Sections, products & variants

A bundle is organized into sections — the groups a customer picks from. Sections come from GET /bundles/:id:

FieldTypeDescription
idnumberSection ID.
namestringSection title (e.g. “Choose a shirt”).
descriptionstringOptional description.
imageUrlstringOptional section image.
ordernumberDisplay order.
products[]arrayAllowed items in this section.

Each entry in products[] references a product (and optionally specific variants) allowed in that section:

FieldTypeDescription
bundleItemIdnumberThe bundle-item ID.
shopifyProductIdstringShopify product ID.
variantIdsstring[]Allowed variant IDs. Empty = all variants allowed.

Full product and variant detail comes from GET /bundles/:id/products (the SDK merges it into getBundle()):

Product

FieldTypeDescription
shopifyProductIdstringNumeric ID.
shopifyProductGidstringgid://shopify/Product/<id>.
titlestringProduct title.
handlestringURL handle.
imageUrlstringProduct image (may be empty).
variants[]arrayThe product’s variants.

Variant

FieldTypeDescription
shopifyVariantIdstringNumeric ID.
shopifyVariantGidstringgid://shopify/ProductVariant/<id>.
titlestringVariant title (e.g. “Small / Black”).
pricestringPrice formatted to 2 decimals, e.g. "29.99".
skustringSKU (empty string if none).
availablebooleanWhether it can be purchased (see below).
inventoryQuantitynumberCurrent inventory quantity.

available is computed as:

  1. true if inventory is not managed by Shopify for the variant; or
  2. true if the inventory policy is continue (oversell allowed); otherwise
  3. inventoryQuantity > 0.