Create a bundle
POST /rest/v1/storefront/bundles
name, pricing and 2 to 10 items are required; saving publishes the items to the storefront. Each invalid field answers 422 with its param (items, items[1].product_id, pricing.value); a product or variant not in the store is 404 product_not_found / variant_not_found with the item's param.
Required scope: storefront:write.
Authorization
apiKey Authorization: Bearer nbl_live_... (or nbl_test_... for test mode). Test-mode writes are validated and simulated but never persisted and never touch channels; simulated results are marked simulated.
In: header
Header Parameters
Unique client-generated key (max 255 chars), stored 24h.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/storefront/bundles" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "pricing": { "type": "percentage", "value": 10 }, "items": [ { "product_id": "prod_6ad22d0ee891b034a5693aa0" }, { "product_id": "prod_6ad22d0ee891b034a5693aa0" } ] }'{ "id": "bndl_q83pgewu", "object": "bundle", "name": "string", "description": "string", "image": "string", "pricing": { "type": "percentage", "value": 10 }, "items": [ { "product_id": "string", "variant_id": "string", "quantity": 0 } ], "active": true, "simulated": true}Last updated on October 18, 2026
Need help?
Email us and a human replies, usually within one business day.