Skip to main content
POST
/
2026-01
/
product
/
{productId}
/
variants
Add Product Variants
curl --request POST \
  --url https://sandbox-api.shipbob.com/2026-01/product/{productId}/variants \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "additional_hazmat_attributes": {
      "charge_state_percentage": 0.1,
      "container_metal": true,
      "container_type": "string",
      "lithium_battery_packaging": "string",
      "lithium_battery_type": "string",
      "magnet": true,
      "net_volume": 0.1,
      "net_weight": 0.1
    },
    "barcodes": [
      {
        "sticker_url": "string",
        "value": "string"
      }
    ],
    "bundle_definition": [
      {
        "quantity": 0,
        "variant_id": 0
      }
    ],
    "channel_metadata": [
      {
        "asin": "string",
        "channel_id": 0,
        "currency": "string",
        "fnsku": "string",
        "fulfillment_channel": "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"
      }
    ],
    "customs": {
      "country_code_of_origin": "string",
      "description": "string",
      "hs_tariff_code": "string",
      "is321_eligible": true,
      "value": 0
    },
    "dimension": {
      "height": 0.1,
      "length": 0.1,
      "width": 0.1
    },
    "fulfillment_settings": {
      "dangerous_goods": true,
      "is_bpm_parcel": true,
      "is_case_pick": true,
      "msds_url": "string",
      "requires_prop65": true,
      "serial_scan": {
        "exact_character_length": 0,
        "is_enabled": true,
        "prefix": "string",
        "suffix": "string"
      }
    },
    "gtin": "string",
    "is_digital": true,
    "lot_information": {
      "is_lot": true,
      "minimum_shelf_life_days": 0
    },
    "name": "string",
    "packaging_material_type_id": 0,
    "packaging_requirement_id": 0,
    "return_preferences": {
      "backup_action_id": 0,
      "instructions": "string",
      "primary_action_id": 0,
      "return_to_sender_backup_action_id": 0,
      "return_to_sender_primary_action_id": 0
    },
    "sku": "string",
    "status_id": 0,
    "upc": "string",
    "weight": 0.1
  }
]
'
{
  "created_on": "2019-08-24T14:15:22Z",
  "id": 0,
  "name": "string",
  "taxonomy": {
    "id": 0,
    "name": "string",
    "parent_id": 0,
    "parent_name": "string",
    "path": "string"
  },
  "type": "string",
  "updated_on": "2019-08-24T14:15:22Z",
  "user_id": 0,
  "variants": [
    {
      "additional_hazmat_attributes": {
        "charge_state_percentage": 0.1,
        "container_metal": true,
        "container_type": "string",
        "lithium_battery_packaging": "string",
        "lithium_battery_type": "string",
        "magnet": true,
        "net_volume": 0.1,
        "net_weight": 0.1
      },
      "associated_bundles": [
        {
          "product_id": 0,
          "product_name": "string",
          "quantity": 0,
          "variant_id": 0,
          "variant_sku": "string"
        }
      ],
      "barcodes": [
        {
          "sticker_url": "string",
          "value": "string"
        }
      ],
      "bundle_definition": [
        {
          "product_id": 0,
          "quantity": 0,
          "variant_id": 0,
          "variant_name": "string",
          "variant_sku": "string"
        }
      ],
      "channel_metadata": [
        {
          "channel_id": 0,
          "channel_name": "string",
          "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"
        }
      ],
      "created_on": "2019-08-24T14:15:22Z",
      "customs": {
        "country_code_of_origin": "string",
        "currency": "string",
        "description": "string",
        "hs_tariff_code": "string",
        "is321_eligible": true,
        "value": 0
      },
      "dimension": {
        "height": 0.1,
        "is_locked": true,
        "length": 0.1,
        "source": "string",
        "unit": "string",
        "width": 0.1
      },
      "fulfillment_settings": {
        "dangerous_goods": true,
        "is_bpm_parcel": true,
        "is_case_pick": true,
        "msds_url": "string",
        "requires_prop65": true,
        "serial_scan": {
          "exact_character_length": 0,
          "is_enabled": true,
          "prefix": "string",
          "suffix": "string"
        }
      },
      "gtin": "string",
      "id": 0,
      "inventory": {
        "inventory_id": 0,
        "on_hand_qty": 0
      },
      "is_digital": true,
      "is_image_uploaded": true,
      "lot_information": {
        "is_lot": true,
        "minimum_shelf_life_days": 0
      },
      "merge_children": [
        {
          "channel_ids": [
            0
          ],
          "completed_at": "2019-08-24T14:15:22Z",
          "inventory_id": 0,
          "variant_id": 0,
          "variant_name": "string"
        }
      ],
      "name": "string",
      "packaging_material_type": {
        "id": 0,
        "name": "string"
      },
      "packaging_requirement": {
        "id": 0,
        "name": "string"
      },
      "return_preferences": {
        "backup_action": {
          "id": 0,
          "name": "string"
        },
        "instructions": "string",
        "primary_action": {
          "id": 0,
          "name": "string"
        },
        "return_to_sender_backup_action": {
          "id": 0,
          "name": "string"
        },
        "return_to_sender_primary_action": {
          "id": 0,
          "name": "string"
        }
      },
      "reviews_pending": [
        "string"
      ],
      "sku": "string",
      "status": "string",
      "upc": "string",
      "updated_on": "2019-08-24T14:15:22Z",
      "weight": {
        "unit": "string",
        "weight": 0.1
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

Authentication using Personal Access Token (PAT) token

Path Parameters

productId
string<int64>
required

Body

application/json

The product variants to add to product

additional_hazmat_attributes
object

Additional hazardous material attributes for variants containing lithium batteries or other regulated materials

bundle_definition
object[] | null

For bundle products, defines which variants and quantities make up the bundle

channel_metadata
object[] | null

Channel-specific metadata for different sales platforms (Amazon, Shopify, BigCommerce, etc.)

customs
object

Customs information for international shipping including HS tariff code, country of origin, and declared value

dimension
object

The physical dimensions (length, width, height) of the variant

fulfillment_settings
object

Fulfillment settings including Prop 65 requirements, dangerous goods, serial scanning, and case pick settings

gtin
string | null

The Global Trade Item Number (GTIN) for the variant

is_digital
boolean

Indicates whether this is a digital product that requires no physical fulfillment

lot_information
object

Lot tracking information including whether the variant is lot-tracked and minimum shelf life

name
string | null

The name of the variant

packaging_material_type_id
integer<int32> | null

The ID of the packaging material type (e.g., Box, Envelope, Poly Mailer)

packaging_requirement_id
integer<int32> | null

The ID of the packaging requirement for the variant (e.g., IsFragile, RequiresBubbleWrap)

return_preferences
object

Return handling preferences including primary and backup actions for returns

sku
string | null

The unique stock keeping unit (SKU) for the variant

status_id
enum<integer>

The status ID of the variant (0 = Active, 1 = Inactive)

Available options:
0,
1
upc
string | null

The Universal Product Code (UPC) for the variant

weight
number<double>

The weight of the variant in ounces

barcodes
object[] | null

Array of barcode values for the variant

Example:
[
{
"additional_hazmat_attributes": {
"charge_state_percentage": 0.1,
"container_metal": true,
"container_type": "string",
"lithium_battery_packaging": "string",
"lithium_battery_type": "string",
"magnet": true,
"net_volume": 0.1,
"net_weight": 0.1
},
"barcodes": [
{
"sticker_url": "string",
"value": "string"
}
],
"bundle_definition": [{ "quantity": 0, "variant_id": 0 }],
"channel_metadata": [
{
"asin": "string",
"channel_id": 0,
"currency": "string",
"fnsku": "string",
"fulfillment_channel": "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"
}
],
"customs": {
"country_code_of_origin": "string",
"description": "string",
"hs_tariff_code": "string",
"is321_eligible": true,
"value": 0
},
"dimension": {
"height": 0.1,
"length": 0.1,
"width": 0.1
},
"fulfillment_settings": {
"dangerous_goods": true,
"is_bpm_parcel": true,
"is_case_pick": true,
"msds_url": "string",
"requires_prop65": true,
"serial_scan": {
"exact_character_length": 0,
"is_enabled": true,
"prefix": "string",
"suffix": "string"
}
},
"gtin": "string",
"is_digital": true,
"lot_information": {
"is_lot": true,
"minimum_shelf_life_days": 0
},
"name": "string",
"packaging_material_type_id": 0,
"packaging_requirement_id": 0,
"return_preferences": {
"backup_action_id": 0,
"instructions": "string",
"primary_action_id": 0,
"return_to_sender_backup_action_id": 0,
"return_to_sender_primary_action_id": 0
},
"sku": "string",
"status_id": 0,
"upc": "string",
"weight": 0.1
}
]

Response

201 - application/json

Created

created_on
string<date-time>

Timestamp when the product was created

id
integer<int64>

Unique identifier for the product

name
string | null

Product name

taxonomy
object

Product categorization information including category hierarchy

type
string | null

Product type (e.g., 'Regular' or 'Bundle')

updated_on
string<date-time> | null

Timestamp when the product was last updated

user_id
integer<int64>

ID of the user who owns this product

variants
object[] | null

List of variants belonging to this product. Each variant represents a specific SKU.