Virtual Packs

A Virtual Pack is a purchasable offer that represents multiple units of the same component item in your catalog, allowing customers to buy a predefined quantity in a few clicks. Virtual Packs let you offer two to six units of the same product without separate physical packaging or separate inventory storage and management in Walmart’s fulfillment centers. The Virtual Pack is returned as a single offer with its own product title, site description, key features, image, bundle price, publish status, item ID, and bundle SKU, while inventory and lag time are inherited from the underlying base component item.

This capability is also available in Seller Center for select sellers. To learn more, refer to the Marketplace guide.

Virtual Packs are currently limited to specific sellers. Contact Support for access.

Market availability

Virtual Packs are currently supported for Walmart U.S. Marketplace catalog items.

Reference guide

This guide provides an overview of the Virtual Packs workflow, including how to retrieve the feed schema, create and update Virtual Packs, retrieve items with Virtual Pack offers, and retire a Virtual Pack. Use the endpoint-specific sections for request samples, response samples, and implementation details.

For endpoint-level integration details, refer to the Virtual Packs API reference guide.

Benefits

Virtual Packs help you:

BenefitDescription
Offer pack-size selectionsCreate 2-pack, 3-pack, or larger quantity offers for the same component item.
Simplify inventory managementRestocking the component will automatically restock the Virtual Packs.
Apply discounts on Virtual PacksOffer discounts at the time of item setup or through promotion and deal workflows. Sellers who offer at least five percent discount on a pack size and fulfilling through WFS receive WFS fee savings. To learn more,

How it works

Use the Virtual Packs workflow to:

  1. Get the current Virtual Pack feed schema with POST /v3/items/spec.
  2. Build a Virtual Pack feed using feedType=MP_VIRTUAL_PACK_BUNDLE.
  3. Include the component GTIN in bundle_component_gtin.
  4. Include the bundle quantity in bundleComponentItemQuantity. Allowed values: 2 to 6.
  5. Submit the feed with POST /v3/feeds?feedType=MP_VIRTUAL_PACK_BUNDLE.
  6. Retrieve Virtual Pack bundle information with GET /v3/items?bundleType=VIRTUALPACK.
  7. Retire a Virtual Pack offer with DELETE /v3/items/{sku}.

Prerequisites

Before you create Virtual Packs, make sure you have:

RequirementDescription
Walmart Marketplace accessYour Walmart Marketplace onboarding is complete and your account is enabled for Virtual Packs and onboarded to Multi-Line Multi-Quantity (MLMQ).
Access tokenYou have a valid OAuth access token for WM_SEC.ACCESS_TOKEN.
Component itemThe underlying item already exists in your catalog, has a valid GTIN, and is in published status.
Feed capabilityYour integration can generate and submit a JSON feed file.
Feed schemaYou can retrieve and validate against the current MP_VIRTUAL_PACK_BUNDLE schema.

Commonly used terms

TermDescription
Component itemThe existing item in your catalog that supplies inventory for the Virtual Pack.
Virtual PackThe buyer-facing multi-unit offer created from a component item and quantity.
Component GTINGTIN of the underlying sellable item. In the feed, use bundle_component_gtin.
Bundle quantity or Pack size or Virtual Pack qtyThese refer to the number of component units in the Virtual Pack. In the feed, use bundleComponentItemQuantity. Allowed values: 2 to 6.
Bundle priceTotal price for the bundle offer. In retrieval responses, use bundles[].price.amount.
Bundle SKUSKU that identifies the bundle offer. In retrieval responses, use bundles[].sku.
Offer publish statusPublish status of the Virtual Pack offer. In retrieval responses, use bundles[].offerPublishStatus. Example values: PUBLISHED, UNPUBLISHED.
Item published statusPublish status of the underlying component item. In item responses, use publishedStatus.
Spec versionVersion string that identifies the schema to build your feed. Example: 5.0.20260508-19_30_00-api.
Feed typeFeed schema or process type. For Virtual Packs, use MP_VIRTUAL_PACK_BUNDLE.
Feed IDIdentifier returned after feed submission. Use feedId to track the uploaded feed.
MPItemFeedHeaderHeader object in the feed that provides feed metadata, including businessUnit, locale, feedType, and version.
OrderableFeed object that contains offer-level details, including component GTIN, quantity, price, and optional dates.
VisibleFeed object that contains buyer-facing content such as images and key features.
bundles[]Response array that contains bundle offers associated with an item.
bundleTypeQuery parameter and response field used to identify Virtual Pack bundles. Allowed value: VIRTUALPACK.
gtinQuery parameter used with bundleType=VIRTUALPACK to retrieve Virtual Packs for a specific component item.
Cursor paginationPagination method using nextCursor. Use nextCursor=* for the first page.
LimitNumber of results returned per page.
OffsetStarting index for offset-based pagination.

Additional guidance

This guide is for Direct API sellers, approved Solution Providers, and WFS API sellers who want to create, monitor, update, or retire Virtual Packs programmatically. It is especially useful for teams that manage catalog automation, partner integrations, and fulfillment workflows at scale.

Virtual Packs help sellers increase average order value, improve catalog efficiency, support value-based pricing, improve visibility and conversion, and test multi-unit demand without committing to physical bundle inventory. They also reduce manual Seller Center work for teams that already manage items through APIs or partner platforms.

The Virtual Packs API supports the core workflow end to end: retrieve the schema, create or update packs, list and monitor pack offers, and retire packs when they are no longer needed.

Virtual Pack implementations can also connect to price updates, promotions, deals, lag time, orders, and returns. For Virtual Pack order metadata, refer to the Orders API guide. Sellers can use the pack SKU to update Virtual Pack prices through the Price API and enroll Virtual Packs in promotions through the Promotion API.

Validation and limits

Virtual Pack feeds support up to five packs per feed, with two to six component units per pack. Required fields include bundle_component_gtin and price. Virtual Pack creation is limited to eligible items, and any unpublished or blocked packs should be reviewed if the response indicates a problem.

For blocked fulfillment operations, RFC 7807-style error handling uses machine-readable fields such as blocked_operation, sku, shipNodeType, and fulfillment_type.



Did this page help you?