Convert items for WFS
When you sell on Walmart Marketplace, you have 2 fulfillment options: seller fulfilled and Walmart fulfilled. Seller fulfilled means you manage inventory, shipping and customer service yourself. Walmart fulfilled means you send items to our fulfillment centers, where we take care of storage, packing, shipping, returns and customer support on your behalf. You must be enrolled in Walmart Fulfillment Services (WFS) to use this option.
Call this endpoint to convert an existing Walmart Marketplace item so it can be fulfilled by Walmart Fulfillment Services (WFS). Ensure that the items are WFS eligible before creating an inbound purchase order.
Note: If you have not set up your items, you can use the full Item + WFS Json spec to convert and upload items in one process, refer to Create a new item (Full item setup). To download the spec, go to Item spec versions and download the
Convert existing item to WFS
item step.
To learn how to convert your item for WFS using Walmart Seller Center, refer to Seller Help: Convert your items to WFS.
Prerequisites
Consider the following prerequisites before converting an item for it to be fulfilled by WFS:
- The Marketplace item must already exist.
- If applicable, provide details about hazmat item compliance requirement. For more details, refer to Hazardous Items – What to do if your item is considered Hazmat.
- Indicate if there are any sale restrictions by geographic location.
Endpoint
Note: This page describes an example using only the required parameters and inputs to convert item for Walmart Fulfillment Services (WFS). For a full list of customization options and additional capabilities, refer to the Marketplace WFS API Reference.
POST https://marketplace.walmartapis.com/v3/feeds
Item conversion overview
This section provides an overview of the item conversion process to convert your items to WFS eligible items. If you haven't created your items yet, you can set up your items for WFS in one step. Refer to Set up items for WFS in the WFS guide.
Step 1: Download the WFS item conversion JSON schema
Download and extract the WFS conversion spec to convert your item to WFS or create an inbound purchase order. To download the spec, go to Item spec versions and download the Convert existing item to WFS
item step.
Step 2: (Optional) Create an inbound purchase order
You can optionally create an inbound Purchase Order (PO). Download and extract the Inbound Purchase Order JSON Schema: InboundPurchaseOrderSchema.zip.
The InboundPurchaseOrderSchema.zip
contains the JSON Schema definitions for creating WFS inbound purchase orders. It specifies the payload structure, required fields, data types, and validation rules for purchase order metadata, ship-to facility details, shipments, and shipment item lines (SKU and quantities), including enumerations and date/time formats used for validation.
Step 3: Call the convert items to WFS API
After you have extracted the wFS item conversion spec, you can call the Convert Items to WFS API. The default feedType
is OMNI_WFS
, (such as https://marketplace.walmartapis.com/v3/feeds?feedType=OMNI\_WFS).
Step 4: Restrict item sale by geographic location
If there are any sale restrictions by geographic location such as state or ZIP code, ensure you indicate them. If there are no restrictions, you can set the restriction type to None
.
For more details about the State Restrictions attribute and its usage, see Restrict item sale by state or zip code.
Sample request
This sample request demonstrates how to convert an existing Walmart Marketplace item to be fulfilled by WFS.
curl --request POST \ --url 'https://marketplace.walmartapis.com/v3/feeds?feedType=OMNI_WFS' \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'Authorization: Basic <Base64EncodedClientID:ClientSecret> \ --header 'WM_SEC.ACCESS_TOKEN: <Base64EncodedConsumerKey:ConsumerSecret>' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'WM_QOS.CORRELATION_ID: 123456abcdef5' \ --data '
{ "SupplierItemFeedHeader": { "subCategory": "baby_clothing", "sellingChannel": "fbw", "processMode": "REPLACE", "locale": "en", "version": "1.4", "subset": "EXTERNAL" }, "SupplierItem": [ { "Visible": { "Baby Clothing": { "clothingSize": "S", "color": [ "Pink" ], "countryOfOriginTextiles": "USA", "smallPartsWarnings": [ "0 - No warning applicable" ], "mainImageUrl": "image.jpeg", "prop65WarningText": "Warning", "seasonYear": 2020, "manufacturer": "Generic" } }, "Orderable": { "productIdentifiers": { "productId": "05923239836453", "productIdType": "GTIN" }, "batteryTechnologyType": "Does Not Contain a Battery", "electronicsIndicator": "No", "endDate": "2040-01-01T00:00:00.000Z", "price": 10, "chemicalAerosolPesticide": "No", "sku": "sku_item", "stateRestrictions": [ { "stateRestrictionsText": "None" } ], "brand": "Goodlife", "productName": "Goodlife Corona_merge_split_19", "startDate": "2020-06-15T00:00:00.000Z" }, "TradeItem": { "countryOfOriginAssembly": [ "US - United States" ], "innerPack": { "innerPackWidth": 2, "innerPackHeight": 3, "qtySellableItemsInnerPack": 1, "innerPackGTIN": "gtin_item", "innerPackWeight": 2, "innerPackDepth": 1 }, "sku": "sku_item", "orderableGTIN": "gtin_item" } } ]
}
'
import requests url = "https://marketplace.walmartapis.com/v3/feeds?feedType=OMNI_WFS" headers = { "accept": "application/json", "content-type": "application/json" 'Authorization': 'Basic #####', 'WM_SEC.ACCESS_TOKEN': 'Base64EncodedConsumerKey:ConsumerSecret', 'WM_SVC.NAME': 'Walmart Marketplace', 'WM_QOS.CORRELATION_ID': '123456abcdef5',
} payload = { "SupplierItemFeedHeader": { "subCategory": "baby_clothing", "sellingChannel": "fbw", "processMode": "REPLACE", "locale": "en", "version": "1.4", "subset": "EXTERNAL" }, "SupplierItem": [ { "Visible": { "Baby Clothing": { "clothingSize": "S", "color": ["Pink"], "countryOfOriginTextiles": "USA", "smallPartsWarnings": ["0 - No warning applicable"], "mainImageUrl": "https://i5-qa.walmartimages.com/asr/549ecbe9-c874-475b-87d8-5e4cb19934ec.8f5d70e62bd0bb8abc6772c9ef1694e0.jpeg", "prop65WarningText": "Warning", "seasonYear": 2020, "manufacturer": "Generic" } }, "Orderable": { "productIdentifiers": { "productId": "05923239836453", "productIdType": "GTIN" }, "batteryTechnologyType": "Does Not Contain a Battery", "electronicsIndicator": "No", "endDate": "2040-01-01T00:00:00.000Z", "price": 10, "chemicalAerosolPesticide": "No", "sku": "05923239836453", "stateRestrictions": [ { "stateRestrictionsText": "None" } ], "brand": "Goodlife", "productName": "Goodlife Corona_merge_split_19", "startDate": "2020-06-15T00:00:00.000Z" }, "TradeItem": { "countryOfOriginAssembly": ["US - United States"], "innerPack": { "innerPackWidth": 2, "innerPackHeight": 3, "qtySellableItemsInnerPack": 1, "innerPackGTIN": "05923239836453", "innerPackWeight": 2, "innerPackDepth": 1 }, "sku": "05923239836453", "orderableGTIN": "05923239836453" } } ]
} response = requests.post(url, headers=headers, json=payload) print(response.status_code)
print(response.text)
Modify your code
- Use a unique
WM_QOS.CORRELATION_ID
for each request. - Replace
WM_SEC.ACCESS_TOKEN
with your valid access token obtained through authentication. ReplaceBase64EncodedConsumerKey:ConsumerSecret
with your Base64 encoded client ID and client secret pair. - Replace
sku_item
with the item's actual SKU. - Replace
gtin_item
with the item's actual GTIN.
Sample response
The response confirms that the feed submission was processed successfully, and the item was converted so it can be fulfilled by Walmart Fulfillment Services (WFS).
{ "feedId": "FFE538D9B25A4000AD2A067ACEDCF4C4@AUoBAQA"
}
Rate limits
If you submit too many feeds in a short period of time, you may exceed Walmart’s rate limits and receive HTTP 429 (Too Many Requests) responses. For more details on throttling and best practices, refer to the Rate Limiting Guide.
Result
If successful, the API response returns a feedID
and a message indicating that the Reduced Referral Fee incentives will be applied.
You can use this feed ID with the Feed Status API or All Feed Statuses API to monitor the progress of your submission and see the line item status.
Updated 8 days ago