Update product
Changed onUpdates an existing product. The full product object is required, as partial updates are not supported.
Request
- Base URLhttps://api.shipstation.com
- URLhttps://api.shipstation.com/v2/products/update
- AuthAPI key in header api-key
Request body
Example request
{
"products": [
{
"product_id": 10736794,
"sku": "K1",
"name": "Test Product",
"upc": "123-4",
"thumbnail_url": "www.image.com",
"price": {
"currency": "usd",
"amount": 88
},
"dimensions": {
"unit": "inch",
"length": 9,
"width": 5,
"height": 7
},
"weight": {
"value": 99.2,
"unit": "ounce"
},
"internal_notes": "Describe your item",
"fulfillment_sku": "widget-2",
"active": true,
"product_category": {
"product_category_id": 26663,
"name": "Example-category"
},
"preset_group": "Default",
"warehouse_location": "BIN 43-6",
"default_carrier_code": "stamps_com",
"default_service_code": "usps_first_class_mail",
"default_package_code": "large_flat_rate_box",
"default_intl_carrier_code": "stamps_com",
"default_intl_service_code": "usps_priority_mail_international",
"default_intl_package_code": "package",
"default_confirmation": "none",
"default_intl_confirmation": "delivery",
"customs_description": "An object going internationally",
"customs_value": 20,
"customs_tariff_no": "0245.56.13",
"customs_country_code": "US",
"tags": [
{
"tag_id": 21121
}
],
"aliases": [
{
"store_id": 2095811,
"sku_alias": "alt-sku"
}
],
"should_override_name": true,
"auto_split_option": "do_not_split",
"auto_split_custom_quantity": 3
}
]
}Response
The products were updated successfully
Example response
{
"updated_products": [
{
"product_id": 10736794,
"sku": "K1",
"name": "Test Product",
"upc": "123-4",
"thumbnail_url": "www.image.com",
"price": {
"currency": "usd",
"amount": 88
},
"dimensions": {
"unit": "inch",
"length": 9,
"width": 5,
"height": 7
},
"weight": {
"value": 99.2,
"unit": "ounce"
},
"internal_notes": "Describe your item",
"fulfillment_sku": "widget-2",
"create_date": "2025-07-07T20:10:02.13Z",
"modify_date": "2025-07-07T20:10:02.13Z",
"active": true,
"product_category": {
"product_category_id": 26663,
"name": "Example-category"
},
"preset_group": "Default",
"warehouse_location": "BIN 43-6",
"default_carrier_code": "stamps_com",
"default_service_code": "usps_first_class_mail",
"default_package_code": "large_flat_rate_box",
"default_intl_carrier_code": "stamps_com",
"default_intl_service_code": "usps_priority_mail_international",
"default_intl_package_code": "package",
"default_confirmation": "none",
"default_intl_confirmation": "delivery",
"customs_description": "An object going internationally",
"customs_value": 20,
"customs_tariff_no": "0245.56.13",
"customs_country_code": "US",
"tags": [
{
"tag_id": 21121,
"name": "Sample Tag",
"color": "#800080"
}
],
"aliases": [
{
"store_id": 2095811,
"sku_alias": "alt-sku"
}
],
"product_type": "standalone",
"should_override_name": true,
"is_bundle": true,
"bundle_components": [
{
"bundle_product_id": 10736791,
"component_product_id": 10408926,
"sku": "New-SKU",
"quantity": 3,
"active": true
}
],
"auto_split_option": "do_not_split",
"auto_split_custom_quantity": 3
}
],
"request_id": "7f3b8288-7e46-4c12-a96a-fe7f42fd9e0a",
"errors": [
{
"error_source": "shipstation",
"error_type": "validation",
"error_code": "field_value_required",
"message": "product_id is required.",
"field_name": "product_id"
}
]
}Changes
- warning
added the new
bring_your_own_label_not_supportedenum value to the//response property for the response status - warning
added the new
bring_your_own_label_not_supportedenum value to the//response property for the response status - warning
added the new
multiple_sales_ordersenum value to the//response property for the response status - warning
added the new
multiple_sales_ordersenum value to the//response property for the response status - warning
added the new
sales_order_link_requiredenum value to the//response property for the response status - warning
added the new
sales_order_link_requiredenum value to the//response property for the response status
- warning
- breaking
the
/response's property type changed from no type toobjectfor status - breaking
the
/response's property type changed from no type toobjectfor status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
removed from the
/response propertyallOflist for the response status - info
removed from the
/response propertyallOflist for the response status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status
- breaking