- Catalog
- Update SKUs
Catalog
Update SKUs
Update existing SKUs on the Item Master catalog
curl --request PUT \
--url https://sandbox.masonhub.co/dragonfly-cosmetics-demo/api/v1/skus \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"customer_identifier": "<string>",
"customer_bar_code": "<string>",
"vendor_style": "<string>",
"brand_name": "<string>",
"product_name": "<string>",
"product_category": "<string>",
"dim_weight": 123.45,
"dim_length": 123.45,
"dim_width": 123.45,
"dim_height": 123.45,
"vendor_bar_code": "<string>",
"bar_codes": "<value>",
"product_sub_category": "<string>",
"product_description": "<string>",
"dim_volume": 123.45,
"unit_cost": 123.45,
"price": 123.45,
"pick_style": "<string>",
"special_instructions": "<string>",
"is_kit": true,
"kit_skus": []
}'Update one or more existing SKUs in the MasonHub catalog. This endpoint uses the customer_identifier to locate and update SKUs.
Full Replacement: Always send the entire SKU object in the request body. Whatever you send will completely replace the existing SKU data in MasonHub’s systems. We have elected not to use the PATCH verb to avoid complicating your integrations with us.
​Request Body
The request body accepts an array of SKU objects with the same schema as the Create SKUs endpoint. The customer_identifier field is used to match existing SKUs.
​Required Fields
Unique customer SKU identifier. Used to locate the existing SKU to update.
Primary customer-assigned barcode for warehouse scanning.
Vendor style code. Must be 1-40 characters.
Brand name for the product.
Product name/title.
Product category classification.
Weight in pounds.
Length in inches.
Width in inches.
Height in inches.
​Optional Fields
Vendor’s original barcode.
Additional barcodes for the SKU.
Product subcategory for finer classification.
Detailed product description.
Volume in cubic inches.
Unit cost for the SKU.
Retail price for the SKU.
Pick strategy: FIFO, FEFO, or LIFO.
Special handling instructions for warehouse operations.
Whether this SKU is a kit.
Array of component SKUs for kits.
curl -X PUT "https://app.masonhub.co/{account}/api/v1/skus" \
-H "Authorization: Bearer your_jwt_token" \
-H "Content-Type: application/json" \
-d '[
{
"customer_identifier": "pants4523",
"customer_bar_code": "2345687902",
"vendor_bar_code": "39485627389",
"bar_codes": ["85962198623", "3459189485324"],
"vendor_style": "FP-pants",
"brand_name": "Freddie'\''s Pants",
"product_name": "Fancy Pants",
"product_category": "Apparel",
"product_sub_category": "pants",
"product_description": "Very fancy pants with stripes - Updated Edition",
"dim_weight": 0.75,
"dim_length": 4,
"dim_width": 2.2,
"dim_height": 0.5,
"unit_cost": 85,
"price": 180
}
]'
{
"records_submitted": 1,
"records_processed": 1,
"records_failed": 0,
"records_succeeded": 1,
"results": [
{
"system_id": "550e8400-e29b-41d4-a716-446655440000",
"customer_identifier": "pants4523",
"status": "success"
}
]
}
​Update Best Practices
Fetch Current SKU
First retrieve the current SKU data using GET /skus?cid=your_sku_id
Modify Fields
Update only the fields you want to change in your local copy
Send Complete Object
Send the entire modified SKU object in the PUT request
Verify Response
Check the response to confirm the update was successful
Why Full Replacement? This approach ensures data consistency and prevents partial updates that could leave SKUs in an inconsistent state. It also simplifies error handling and rollback scenarios.
​Common Update Scenarios
​Batch Updates
You can update multiple SKUs in a single request:
[
{
"customer_identifier": "pants4523",
// ... complete SKU object ...
},
{
"customer_identifier": "shirts450293",
// ... complete SKU object ...
}
]
The response will include the status of each individual update in the results array.
curl -X PUT "https://app.masonhub.co/{account}/api/v1/skus" \
-H "Authorization: Bearer your_jwt_token" \
-H "Content-Type: application/json" \
-d '[
{
"customer_identifier": "pants4523",
"customer_bar_code": "2345687902",
"vendor_bar_code": "39485627389",
"bar_codes": ["85962198623", "3459189485324"],
"vendor_style": "FP-pants",
"brand_name": "Freddie'\''s Pants",
"product_name": "Fancy Pants",
"product_category": "Apparel",
"product_sub_category": "pants",
"product_description": "Very fancy pants with stripes - Updated Edition",
"dim_weight": 0.75,
"dim_length": 4,
"dim_width": 2.2,
"dim_height": 0.5,
"unit_cost": 85,
"price": 180
}
]'
curl --request PUT \
--url https://sandbox.masonhub.co/dragonfly-cosmetics-demo/api/v1/skus \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"customer_identifier": "<string>",
"customer_bar_code": "<string>",
"vendor_style": "<string>",
"brand_name": "<string>",
"product_name": "<string>",
"product_category": "<string>",
"dim_weight": 123.45,
"dim_length": 123.45,
"dim_width": 123.45,
"dim_height": 123.45,
"vendor_bar_code": "<string>",
"bar_codes": "<value>",
"product_sub_category": "<string>",
"product_description": "<string>",
"dim_volume": 123.45,
"unit_cost": 123.45,
"price": 123.45,
"pick_style": "<string>",
"special_instructions": "<string>",
"is_kit": true,
"kit_skus": []
}'{
"records_submitted": 1,
"records_processed": 1,
"records_failed": 0,
"records_succeeded": 1,
"results": [
{
"system_id": "550e8400-e29b-41d4-a716-446655440000",
"customer_identifier": "pants4523",
"status": "success"
}
]
}