listVariants - Product Module Reference
BetaThis documentation provides a reference to the listVariants method. This belongs to the Product Module.
This method is used to retrieve a paginated list of product variants based on optional filters and configuration.
Example
To retrieve a list of product variants using their IDs:
import {
  initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveProductVariants (ids: string[]) {
  const productModule = await initializeProductModule()
  const variants = await productModule.listVariants({
    id: ids
  })
  // do something with the product variants or return them
}
To specify relations that should be retrieved within the product variants:
import {
  initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveProductVariants (ids: string[]) {
  const productModule = await initializeProductModule()
  const variants = await productModule.listVariants({
    id: ids
  }, {
    relations: ["options"]
  })
  // do something with the product variants or return them
}
By default, only the first 15 records are retrieved. You can control pagination by specifying the skip and take properties of the config parameter:
import {
  initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveProductVariants (ids: string[], skip: number, take: number) {
  const productModule = await initializeProductModule()
  const variants = await productModule.listVariants({
    id: ids
  }, {
    relations: ["options"],
    skip,
    take
  })
  // do something with the product variants or return them
}
You can also use the $and or $or properties of the filter parameter to use and/or conditions in your filters. For example:
import {
  initialize as initializeProductModule,
} from "@medusajs/product"
async function retrieveProductVariants (ids: string[], sku: string, skip: number, take: number) {
  const productModule = await initializeProductModule()
  const variants = await productModule.listVariants({
    $and: [
      {
        id: ids
      },
      {
        sku
      }
    ]
  }, {
    relations: ["options"],
    skip,
    take
  })
  // do something with the product variants or return them
}
Parameters
The filters applied on the retrieved product variants.
configFindConfig<ProductVariantDTO>The configurations determining how the product variants are retrieved. Its properties, such as select or relations, accept the
attributes or relations associated with a product variant.
configFindConfig<ProductVariantDTO>select or relations, accept the
attributes or relations associated with a product variant.sharedContextContextA context used to share resources, such as transaction manager, between the application and the module.
sharedContextContextReturns
The list of product variants.
Was this section helpful?