Update Variant

🔒

Requires write_product access scope. More access scope

📘

Important Note: When updating the same product, the updateVariant API may encounter performance issues due to locking mechanisms. If multiple updates are needed for the same product (e.g., updating variant prices), it is strongly recommended to use the updateProduct API instead.

The Update Variant API allows users to modify the details of a specific product variant. By providing a valid variant_id in the path parameter, users can update fields such as options, pricing, inventory, and more. This endpoint is essential for managing product variants efficiently, ensuring the most accurate and updated information is reflected in the system.This API is especially useful for:

  1. Update variant-specific attributes like size, color, or SKU.
  2. Adjust pricing or inventory details for a particular variant.

Request Parameters

Path Parameters

ParameterTypeRequiredExampleDescription
variant_idstringYes"ABC123"The ID of the variant to be updated.

Body Parameters

Parameter Type Required Example Description
variant.option1 string No Red The first option for the variant (e.g., color, size).
variant.option2 string No Large The second option for the variant.
variant.option3 string No Cotton The third option for the variant.
variant.
compare_at_price
string No 29.99 The original price of the variant before any discounts.
variant.
image_id
string No 8ef098c5-5a08-44b4-b5fb-89214bb507dc The ID of the image associated with the variant.
variant.
price
string Yes 19.99 The current price of the variant.
variant.
position
integer Yes 1 The position of the variant in the list of product variants.
variant.sku string No T-M-L-red Stock Keeping Unit (SKU) for the variant.
variant.
barcode
string No 6929000212340 The barcode associated with the variant.
variant.note string No Limited Edition Notes or additional information about the variant.
variant.
inventory_quantity
integer No 50 The number of items available in inventory for the variant.
variant.weight string No 1.2 The weight of the variant.
variant.
weight_unit
string No kg The unit of measurement for the weight (e.g., kg, lb).
variant.cost_price string No 15.00 The cost price of the variant.
variant.
wholesale_price
array No Array of wholesale price
variant.
wholesale_price.
price
string No 17.99 Wholesale price for the variant.
variant.
wholesale_price.
min_quantity
integer No 10 Minimum quantity required to avail the wholesale price.

Response Explanation

Public Response Parameters

📘

Public Response Parameters

Success Response

Field Type Example Description
variant.id string 1b735278-62c7-41ad-9976-b1b63a90590d Unique identifier for the variant.
variant.product_id string 636a07da-39eb-4829-bde9-b65fae1c28b0 Unique identifier for the associated product.
variant.image_id string 91d032e7-bbc8-47e4-8668-9ba6fe714de6 Unique identifier for the associated image.
variant.created_at string (date) 2024-04-15T02:00:57Z Timestamp indicating when the variant was created.
variant.updated_at string (date) 2024-04-15T02:00:57Z Timestamp indicating when the variant was last updated.
variant.title string S-red Title of the variant.
variant.option1 string S First option value for the variant (e.g., size).
variant.option2 string red Second option value for the variant (e.g., color).
variant.option3 string "" Third option value for the variant, if applicable.
variant.image object Image Object
variant.image.src string //cdn.shoplazza.com/efd33b921cacd5311a32dd03a9bc8740.png URL of the image associated with the variant.
variant.image.width integer 1588 Width of the variant image in pixels.
variant.image.height integer 2246 Height of the variant image in pixels.
variant.image.path string efd33b921cacd5311a32dd03a9bc8740.png File path of the variant image.
variant.image.alt string "" Alternative text for the variant image.
variant.position integer 1 Position of the variant in the product's variant list.
variant.compare_at_price string 100.00 Original price of the variant before discounts.
variant.price string 100.00 Current price of the variant.
variant.sku string S-RED Stock Keeping Unit (SKU) for the variant.
variant.barcode string 123 Barcode associated with the variant.
variant.note string s-red Notes or additional information about the variant.
variant.inventory_quantity integer 10 Number of items available in inventory for the variant.
variant.weight string 0.10 Weight of the variant.
variant.weight_unit string kg Unit of measurement for the weight (e.g., kg, lb).
variant.cost_price string 11.00 Cost price of the variant.
variant.wholesale_price object wholesale price object
variant.wholesale_price.price string 100.00 Wholesale price for the variant.
variant.wholesale_price.min_quantity integer 1 Minimum quantity required to avail the wholesale price.
variant.extend object extend object Additional details about the variant's dimensions or origin.
variant.extend.length number 10 length
variant.extend.width number 10 width
variant.extend.height number 10 height
variant.extend.dimension_unit string "in" dimension_unit
variant.extend.origin_country_code string "AS" Country of origin code of the product.
variant.extend.hs_code string "6211439" HS codes are the international standard for commodity classification, and Shoplazza can automatically generate HS codes based on commodity information.

Error Response

Error responses in the API can be represented using two different fields: errors and error. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.

FieldTypeExampleDescription
errorsArray["No variants found"]A list of errors encountered during the request processing.
FieldTypeExampleDescription
errorArray "store is not active"Indicates an error encountered during the process.

Error Details

Status CodeMessagePossible ReasonExample Response
400Bad RequestInvalid input format or request structure (e.g., missing required fields or incorrect data types).Bad Request
UnauthorizedThe request is missing valid authentication credentials or the credentials provided are invalid.Unauthorized
422No variants foundThe variant ID provided in the request does not exist.{ "errors": [ "No variants found"] }
Invalid or empty variant_idmissing required variant_id or variant_id with incorrect UUID types{ "errors": [ "variant_id has an invalid UUID"]}

API Structure Overview

Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!