Create Variant

🔒

Requires write_product access scope. More access scope

The Create Variant API allows users to add a new product variant to an existing product by specifying details such as options, pricing, inventory, and wholesale information. This operation is used to expand a product’s available options by creating additional variants with unique attributes.This API is especially useful for:

1.Adding new variants to existing products with different options like size, color, or style.

2.Managing inventory and pricing for individual product variants.

3.Customizing product variants for wholesale or retail purposes.


Request Parameters

Public Request Parameters

📘

Public Request Parameters

Body Parameters

Parameter Type Required Example Description
product_id string Yes a1a88be0-a1d4-47e4-a2f2-ba6e131cf447 Product's unique identifier.
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

Successful 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 Context"]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
404Product Not FoundThe product ID provided in the request does not exist.{ "errors": ["Product not found"] }
422Failed ValidationOne or more fields failed validation checks.{ "errors": [ "Variant price must be entered."]}
Invalid or empty idmissing required id or id with incorrect UUID types{ "errors": [ "Id is not an invalid UUID"]}
At least a single variant is included in the productCannot create additional variants because the product is set to have only a default variant (has_only_default_variant = true).{ "errors": [ "At least a single variant is included in the product." ] }

API Structure Overview

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