# List product variants

Endpoint: GET /products/{productID}/variants
Version: 1.0.445.36017
Security: OAuth2

## Path parameters:

  - `productID` (string, required)
    ID of the product.

## Query parameters:

  - `search` (string)
    Word or phrase to search for.

  - `searchOn` (array)
    Comma-delimited list of fields to search on.
    Enum: "ID", "Name", "Description"

  - `sortBy` (array)
    Comma-delimited list of fields to sort by.
    Enum: "ID", "Name", "!ID", "!Name"

  - `page` (integer)
    Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation.

  - `pageSize` (integer)
    Number of results to return per page.

  - `filters` (object)
    An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???'

## Response 200 fields (application/json):

  - `Items` (array)
    Example: [{"ID":"","Name":"","Description":"","Active":false,"ShipWeight":0,"ShipHeight":0,"ShipWidth":0,"ShipLength":0,"Inventory":{"QuantityAvailable":0,"NotificationPoint":0,"LastUpdated":"2018-01-01T00:00:00-06:00"},"Specs":[{"SpecID":"","Name":"","OptionID":"","Value":"","PriceMarkupType":"NoMarkup","PriceMarkup":0}],"xp":{}}]

  - `Items.ID` (string)

  - `Items.Name` (string)

  - `Items.Description` (string)

  - `Items.Active` (boolean)
    If false, variant is not visible or purchasable from a buyer's perspective.

  - `Items.ShipWeight` (number)

  - `Items.ShipHeight` (number)

  - `Items.ShipWidth` (number)

  - `Items.ShipLength` (number)

  - `Items.Inventory` (object)
    Example: {"QuantityAvailable":0,"NotificationPoint":0,"LastUpdated":"2018-01-01T00:00:00-06:00"}

  - `Items.Inventory.QuantityAvailable` (integer)

  - `Items.Inventory.NotificationPoint` (integer)

  - `Items.Inventory.LastUpdated` (string)
    Example: "2018-01-01T00:00:00-06:00"

  - `Items.Specs` (array)
    Example: [{"SpecID":"","Name":"","OptionID":"","Value":"","PriceMarkupType":"NoMarkup","PriceMarkup":0}]

  - `Items.Specs.SpecID` (string)

  - `Items.Specs.Name` (string)

  - `Items.Specs.OptionID` (string)

  - `Items.Specs.Value` (string)

  - `Items.Specs.PriceMarkupType` (string)
    Enum: "NoMarkup", "AmountPerQuantity", "AmountTotal", "Percentage"

  - `Items.Specs.PriceMarkup` (number)

  - `Items.xp` (object)
    Example: {}

  - `Meta` (object)

  - `Meta.Page` (integer)

  - `Meta.PageSize` (integer)

  - `Meta.TotalCount` (integer)

  - `Meta.TotalPages` (integer)

  - `Meta.ItemRange` (array)

  - `Meta.NextPageKey` (string)

## Response 4XX fields (application/json):

  - `StatusCode` (integer)
    Example: "404"

  - `ErrorCode` (string)
    Example: "NotFoundError"

  - `Message` (string)
    Example: "Object not found"

  - `Data` (object)
    Example: {"ObjectType":"","ObjectID":""}


