For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DocumentationAPI Reference
DocumentationAPI Reference
  • API Reference
      • POSTMerge Variants
      • GETGet Product
      • DELDelete Product Bundle
      • PATCHUpdate Product
      • GETGet Taxonomies
      • GETGet Products
      • POSTCreate Product
      • GETGet Product Variants
      • POSTAdd Product Variants
      • PATCHUpdate Product Variants
      • POSTMove Variants to New Product
      • GETGet Packaging Requirement
      • GETGet Taxonomy by ID
      • GETGet Taxonomy Parent
      • POSTMove Variants Between Products
      • POSTConvert Variant to Bundle
LogoLogo
API ReferenceProducts

Convert Variant to Bundle

||View as Markdown|
POST
https://sandbox-api.shipbob.com/2026-01/variant/:variantId:convertToBundle
POST
/2026-01/variant/:variantId:convertToBundle
$curl -X POST https://sandbox-api.shipbob.com/2026-01/variant/1:convertToBundle \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json-patch+json" \
> -d '{
> "bundle_definition": [
> {
> "quantity": 0,
> "variant_id": 0
> }
> ],
> "channel_metadata": [
> {
> "asin": "string",
> "fnsku": "string",
> "fulfillment_channel": "string",
> "channel_id": 0,
> "currency": "string",
> "id": 0,
> "is_inventory_sync_enabled": true,
> "legacy_product_id": 0,
> "platform": "string",
> "platform_identifier": "string",
> "platform_inventory_item_id": "string",
> "price": 0.1,
> "seller_sku": "string"
> }
> ],
> "name": "string",
> "sku": "string"
>}'
201default
1{
2 "created_on": "2019-08-24T14:15:22+00:00",
3 "id": 0,
4 "name": "string",
5 "taxonomy": {
6 "id": 0,
7 "name": "string",
8 "parent_id": 0,
9 "parent_name": "string",
10 "path": "string"
11 },
12 "type": "string",
13 "updated_on": "2019-08-24T14:15:22+00:00",
14 "user_id": 0,
15 "variants": [
16 {
17 "barcodes": [
18 {
19 "sticker_url": "string",
20 "value": "string"
21 }
22 ],
23 "channel_metadata": [
24 {
25 "channel_id": 0,
26 "channel_name": "string",
27 "currency": "string",
28 "id": 0,
29 "is_inventory_sync_enabled": true,
30 "legacy_product_id": 0,
31 "platform": "string",
32 "platform_identifier": "string",
33 "platform_inventory_item_id": "string",
34 "price": 0.1,
35 "seller_sku": "string"
36 }
37 ],
38 "additional_hazmat_attributes": {
39 "charge_state_percentage": 0.1,
40 "container_metal": true,
41 "container_type": "string",
42 "lithium_battery_packaging": "string",
43 "lithium_battery_type": "string",
44 "magnet": true,
45 "net_volume": 0.1,
46 "net_weight": 0.1
47 },
48 "associated_bundles": [
49 {
50 "product_id": 0,
51 "product_name": "string",
52 "quantity": 0,
53 "variant_id": 0,
54 "variant_sku": "string"
55 }
56 ],
57 "bundle_definition": [
58 {
59 "product_id": 0,
60 "quantity": 0,
61 "variant_id": 0,
62 "variant_name": "string",
63 "variant_sku": "string"
64 }
65 ],
66 "created_on": "2019-08-24T14:15:22+00:00",
67 "customs": {
68 "country_code_of_origin": "string",
69 "currency": "string",
70 "description": "string",
71 "hs_tariff_code": "string",
72 "is321_eligible": true,
73 "value": 0
74 },
75 "dimension": {
76 "height": 0.1,
77 "is_locked": true,
78 "length": 0.1,
79 "source": "string",
80 "unit": "string",
81 "width": 0.1
82 },
83 "fulfillment_settings": {
84 "dangerous_goods": true,
85 "is_bpm_parcel": true,
86 "is_case_pick": true,
87 "msds_url": "string",
88 "requires_prop65": true,
89 "serial_scan": {
90 "exact_character_length": 0,
91 "is_enabled": true,
92 "prefix": "string",
93 "suffix": "string"
94 }
95 },
96 "gtin": "string",
97 "id": 0,
98 "inventory": {
99 "inventory_id": 0,
100 "on_hand_qty": 0
101 },
102 "is_digital": true,
103 "is_image_uploaded": true,
104 "lot_information": {
105 "is_lot": true,
106 "minimum_shelf_life_days": 0
107 },
108 "merge_children": [
109 {
110 "channel_ids": [
111 0
112 ],
113 "completed_at": "2019-08-24T14:15:22+00:00",
114 "inventory_id": 0,
115 "variant_id": 0,
116 "variant_name": "string"
117 }
118 ],
119 "name": "string",
120 "packaging_material_type": {
121 "id": 0,
122 "name": "string"
123 },
124 "packaging_requirement": {
125 "id": 0,
126 "name": "string"
127 },
128 "return_preferences": {
129 "backup_action": {
130 "id": 0,
131 "name": "string"
132 },
133 "instructions": "string",
134 "primary_action": {
135 "id": 0,
136 "name": "string"
137 },
138 "return_to_sender_backup_action": {
139 "id": 0,
140 "name": "string"
141 },
142 "return_to_sender_primary_action": {
143 "id": 0,
144 "name": "string"
145 }
146 },
147 "reviews_pending": [
148 "string"
149 ],
150 "sku": "string",
151 "status": "string",
152 "upc": "string",
153 "updated_on": "2019-08-24T14:15:22+00:00",
154 "weight": {
155 "unit": "string",
156 "weight": 0.1
157 }
158 }
159 ]
160}
Converts an existing product variant into a bundle product. Provide the bundle definition specifying which variants and quantities make up the bundle.
Was this page helpful?
Previous

Move Variants Between Products

Next

Get Transactions by Invoice ID

Built with

Authentication

AuthorizationBearer

Authentication using Personal Access Token (PAT) token

OR
AuthorizationBearer
OAuth2 authentication using JWT tokens

Path parameters

variantIdlongRequired

Request

The variant request that is to be converted to bundle
bundle_definitionlist of objectsOptional
channel_metadatalist of objectsOptional
namestringOptional
skustringOptional

Response

Created
created_ondatetime
Timestamp when the product was created
idlong
Unique identifier for the product
namestring
Product name
taxonomyobject
Product categorization information including category hierarchy
typestring

Product type (e.g., ‘Regular’ or ‘Bundle’)

updated_ondatetime
Timestamp when the product was last updated
user_idlong
ID of the user who owns this product
variantslist of objects
List of variants belonging to this product. Each variant represents a specific SKU.