Walmart Fulfillment Services (WFS) API Overview

Walmart Fulfillment Services (WFS) offers sellers another tool to grow their business and reach more customers by fulfilling orders at Walmart Fulfillment Centers (FCs). Order fulfillment with WFS is fast and low cost to sellers.

Sellers can store their inventory at Walmart FCs and get access to Walmart’s omni channel capabilities, such as our Free & Easy Returns program, which provides a competitive advantage that no other third-party service can offer.

WFS allows sellers to increase sales by offering free 2-day shipping and gaining Buy Box prominence by tagging their items with the 2-day tag.

To learn the advantages of using WFS, see Walmart Fulfillment Services.

WFS Inbound Order and Shipment Workflow

A new process has been developed to create new inbound orders (IO) and ship inventory to fulfillment centers.

WFS API Workflow

To set up items for WFS and create Inbound Orders (IO) to ship inventory to the WFS fulfillment network, use the WFS fulfillment APIs in this order:

Note: You can either set up items with the WFS item spec or convert existing items with the WFS conversion spec. Select either Option 1 or Option 2.
  1. Option 1: Set up items for ingestion with the WFS item spec. Call the Bulk Item Setup (Multiple) API. POST /v3/feeds?feedType=MP_WFS_ITEM

  2. Option 2: Convert existing ingested items for use with WFS: Call the Convert items for WFS API: POST /v3/feeds?feedType=OMNI_WFS

  3. Create an Inbound Order (IO). Call the Create inbound Shipment API: POST /v3/inbound-shipments?sellerId={sellerId}

  4. Check for errors in the IO. Call the Inbound Shipment Errors API: GET /v3/inbound-shipment-errors?{}

  5. Get IO shipment-level details. Call the Get Shipments API: GET /v3/inbound-shipments

  6. Get the IO SKU-level item details from the fulfillment center. Call the Inbound Shipment Items API: GET /v3/shipment-items

  7. Update shipment quantities before delivery. Call the Update Shipment Quantities API: GET /v3/shipment-quantities?sellerId={sellerId}

  8. Request shipping labels. Call the Create Inbound Shipment Label API: GET /v3/fulfillment/label/{shipmentId}

  9. Provide the shipment tracking information. Call the Update Shipment Tracking API: POST /v3/shipment-tracking?sellerId={sellerId}

  10. Cancel an IO. Call the Cancel Inbound Shipment API: DELETE /v3/inbound-shipments/{inboundOrderId}?sellerId={sellerId}