Skip to main content
PATCH
/
2026-01
/
product
/
{productId}
/
variants
Update Product Variants
curl --request PATCH \
  --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,
      "channel_name": "string",
      "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",
    "currency": "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",
  "id": 0,
  "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
  },
  "reviews_pending": [
    0
  ],
  "sku": "string",
  "status": 1,
  "upc": "string",
  "weight": 0.1
}
'
[
  {
    "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
additional_hazmat_attributes
object
bundle_definition
object[] | null
channel_metadata
object[] | null
customs
object
dimension
object
fulfillment_settings
object
gtin
string | null
is_digital
boolean
lot_information
object
name
string | null
packaging_material_type_id
integer<int32> | null
packaging_requirement_id
integer<int32> | null
return_preferences
object
reviews_pending
enum<integer>[] | null
Available options:
0,
1,
2,
3,
4
sku
string | null
status
enum<integer>
Available options:
1,
2,
3
upc
string | null
weight
number<double>
barcodes
object[] | null
id
integer<int64>

Response

200 - application/json

Success

additional_hazmat_attributes
object

Additional hazardous materials attributes for lithium batteries and dangerous goods

associated_bundles
object[] | null

List of bundle products that include this variant as a component

bundle_definition
object[] | null

If this variant is a bundle, defines which variants and quantities make up the bundle

created_on
string<date-time>

Timestamp when the variant was created

customs
object

Customs and international shipping information (tariff codes, country of origin, declared value)

dimension
object

Physical dimensions of the variant (length, width, height)

fulfillment_settings
object

Fulfillment-specific settings (Prop 65, dangerous goods, serial scanning, case pick)

gtin
string | null

Global Trade Item Number - standardized product identifier

id
integer<int64>

Unique identifier for the variant

inventory
object

Current inventory information including on-hand quantity

is_digital
boolean

Flag indicating whether this is a digital product (no physical fulfillment)

is_image_uploaded
boolean

Flag indicating whether a product image has been uploaded for this variant

lot_information
object

Lot tracking settings including whether lot tracking is enabled and minimum shelf life requirements

merge_children
object[] | null

List of variants that have been merged into this variant

name
string | null

Variant name or descriptor

packaging_material_type
object

Type of packaging material used for this variant (ID and name)

packaging_requirement
object

Special packaging requirements for this variant (ID and name)

return_preferences
object

Customer return handling preferences including primary and backup actions

reviews_pending
string[] | null

List of pending review types for this variant (e.g., compliance checks, quality reviews)

sku
string | null

Stock Keeping Unit - unique identifier for the variant used in inventory management

status
string | null

Current status of the variant (e.g., 'Active', 'Inactive')

upc
string | null

Universal Product Code - 12-digit barcode identifier

updated_on
string<date-time> | null

Timestamp when the variant was last updated

weight
object

Weight of the variant including unit of measure

barcodes
object[] | null

List of barcodes associated with this variant (UPC, EAN, etc.)

channel_metadata
object[] | null

Platform-specific metadata for sales channels (e.g., Amazon ASIN, Shopify product IDs)