Create/Update Product Variant Groups
Create or Update Variant Groups for your products.
This API endpoint allows sellers to create or update product variant groups by defining the variant structure (such as Size, Color, Style) and associating multiple product listings under a unified group. Each variant group can support up to three option levels, and each product variant is uniquely identified by its SellerPartNumber.
The request payload contains two main sections:
- Variants: A list of products with their respective option values (e.g., Small, Red, Advanced).
- Options: A list of option definitions (e.g., Size, Color) and their valid values.
The API performs strict validation:
- SellerPartNumber and Option1 are required for each variant.
- Option values must match the predefined values in the Options list.
- Variants with duplicate combinations of option values are not allowed.
On successful execution, the API returns a unique ItemGroupID and a list of mapping statuses between each variant and its assigned parent item.
This endpoint is typically used for managing product listings with multiple variants under one logical group on the marketplace.
Resource URL
Newegg.com: https://api.newegg.com /marketplace/contentmgmt/item/group-product-variants?sellerid={sellerid} Newegg.ca: https://api.newegg.com /marketplace/can/contentmgmt/item/group-product-variants?sellerid={sellerid}
Note: Please make sure your request URL is all in lower case (except for Seller ID) and cannot contain any blank spaces or line breaks.
Parameters
Name | Required? | Description |
sellerid | Yes | Your seller ID on Newegg Marketplace |
Resource Information
HTTP Method | Authentication? | Request Formats | Response Formats | Rate Limited? |
POST | Required | XML, Json | XML, Json | 10,000 request per hour |
Request Body
Attribute | Required? | Format | Description |
Variants | Yes | List<Variant> | The list of product variants in the group. |
Variant.SellerPartNumber | Yes | String | Unique identifier for the variant. |
Variant.Option1 | Yes | String | First variant option (e.g., Size). Must match an option.
Max characters: 30 |
Variant.Option2 | No | String | Second variant option (e.g., Color).
Max characters: 30 |
Variant.Option3 | No | String | Third variant option (e.g., Style).
Max characters: 30 |
Options | No | List<Option> | Defines available option types and values.
Max: 3 |
Option.Name | Yes | String | Option type name (e.g., Size, Color).
Max characters: 30 |
Option.OptionValues | Yes | List<String> | Valid values for this option (e.g., Small, Medium). |
Schema: CreateAndUpdateVariantGroupRequest.xsd
Example: XML, Request
<Grouping> <Variants> <Variant> <SellerPartNumber>as_20250520_0938</SellerPartNumber> <Option1>Small</Option1> <Option2>Advanced</Option2> <Option3></Option3> </Variant> <Variant> <SellerPartNumber>as_20250520_0939</SellerPartNumber> <Option1>Medium</Option1> <Option2>Advanced</Option2> <Option3></Option3> </Variant> <Variant> <SellerPartNumber>as_20250520_0937</SellerPartNumber> <Option1>Small</Option1> <Option2>Extral</Option2> <Option3></Option3> </Variant> </Variants> <Options> <Option> <Name>Size</Name> <OptionValues> <Value>Small</Value> <Value>Medium</Value> </OptionValues> </Option> <Option> <Name>Mode</Name> <OptionValues> <Value>Advanced</Value> <Value>Extral</Value> </OptionValues> </Option> </Options> </Grouping>
Example: Json, Request
{ "Variants": [ { "SellerPartNumber": "as_20250520_0938", "Option1": "Small", "Option2": "Advanced" }, { "SellerPartNumber": "as_20250520_0939", "Option1": "Medium", "Option2": "Advanced" }, { "SellerPartNumber": "as_20250520_0937", "Option1": "Small", "Option2": "Extral" } ], "Options": [ { "Name": "Size", "OptionValues": [ "Small", "Medium" ] }, { "Name": "Mode", "OptionValues": [ "Advanced", "Extral" ] } ] }
Response Body
Attribute | Format | Description |
ItemGroupID | Int | The unique identifier for the created or updated product variant group. |
ItemVariantGroupStatusList | List<ItemVariantStatus> | A list of results for each item in the variant group. |
ItemVariantGroupStatusList[].ItemNumber | String | The unique platform-assigned identifier for the item (SKU). |
ItemVariantGroupStatusList[].IsSuccess | boolean | Indicates whether this specific item was successfully grouped or updated. |
IsSuccess | boolean | Overall result of the group creation/update operation. true = success. |
Example: XML, Response
<?xml version="1.0" encoding="utf-16"?> <VariantGroupResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ItemGroupID>2110011075</ItemGroupID> <ItemVariantGroupStatusList> <ItemVariantGroupStatus> <ItemNumber>9SIBE0E0001845</ItemNumber> <ItemGroupID>2110011075</ItemGroupID> <IsSuccess>true</IsSuccess> </ItemVariantGroupStatus> <ItemVariantGroupStatus> <ItemNumber>9SIBE0E0001843</ItemNumber> <ItemGroupID>2110011075</ItemGroupID> <IsSuccess>true</IsSuccess> </ItemVariantGroupStatus> <ItemVariantGroupStatus> <ItemNumber>9SIBE0E0001847</ItemNumber> <ItemGroupID>2110011075</ItemGroupID> <IsSuccess>true</IsSuccess> </ItemVariantGroupStatus> </ItemVariantGroupStatusList> <IsSuccess>true</IsSuccess> </VariantGroupResponse>
Example: JSON, Response
{ "ItemGroupID": 2110011075, "ItemVariantGroupStatusList": [ { "ItemNumber": "9SIBE0E0001845", "IsSuccess": true }, { "ItemNumber": "9SIBE0E0001843", "IsSuccess": true }, { "ItemNumber": "9SIBE0E0001847", "IsSuccess": true } ], "IsSuccess": true }
Request Failure Errors
For common HTTP error responses, please refer to Failed Response Error Code List.
Error Code | Description |
CE003 | Validation failed: SellerPartNumber cannot be empty. |
CE027 | System Error, please try again. If problem persists, please contact Marketplace Support. |
Example: XML, Response
<?xml version="1.0" encoding="utf-8"?> <Errors xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mkpl.Sdk.Core.Api.Entity"> <Error> <Code>CE003</Code> <Message>Validation failed: SellerPartNumber cannot be empty.</Message> </Error> </Errors>
Example: JSON, Response
[ { "Code": "CE003", "Message": "Validation failed: SellerPartNumber cannot be empty." } ]