Bulk Item Enrollment for Walmart+
The Bulk Item Enrollment for Walmart+ API allows sellers to enroll or unenroll multiple products into the Walmart+ program using a feed-based submission. This API is designed for high-performing Seller-Fulfilled Fulfillment (SFF) items that meet W+ eligibility criteria.
By submitting a properly formatted feed file, sellers can:
- Assign the W+ badge to eligible items
- Remove items from W+ if needed
- Automate bulk updates to program participation.
How it works
You can upload a data feed as either an Excel (.xlsx) or JSON (.json) file to enroll or unenroll items in the Walmart+ program. The file must follow the PROGRAM_ACTIONS feed type requirements and the WALMART_PLUS_SFF request type.
Endpoint
POST <https://marketplace.walmartapis.com/v3/feeds?feedType=PROGRAM_ACTIONS&requestType=WALMART_PLUS_SFF>
Using an Excel file
The .xlsx file should follow the Walmart template for PROGRAM_ACTIONS.
Columns (allowed values inline):
- Action type: Enrollment action for Walmart+ (allowed values: Enroll, Unenroll)
- SKU ID: The item ID to enroll or unenroll
A sample template
Use the following template to format your feed file:
PROGRAM_ACTIONS_5.0.20250617-00_03_34_US_WalmartPlusEnrollment.xlsx
Required multipart form fields
fileName(string): The name of the uploaded file.file(file): The Excel file following the Walmart+ program spec template.
Both fields are mandatory and must be included for the request to be processed successfully.
Sample request
curl --location 'https://marketplace.walmartapis.com/v3/feeds?feedType=PROGRAM_ACTIONS&requestType=WALMART_PLUS_SFF' \
--header 'accept: application/json' \
--header 'WM_QOS.CORRELATION_ID: 1234hfvgtr' \
--header 'WM_SVC.NAME: Walmart Marketplace' \
--form 'fileName=@"/Users/xxxxx/Downloads/PROGRAM_ACTIONS_5.0.20250617-00_03_34_US_WalmartPlusEnrollment.xlsx"'
import requests url = 'https://marketplace.walmartapis.com/v3/feeds?feedType=PROGRAM_ACTIONS&requestType=WALMART_PLUS_SFF'
headers = { 'accept': 'application/json', 'WM_QOS.CORRELATION_ID': '1234hfvgtr', 'WM_SVC.NAME': 'Walmart Marketplace'
}
files = { 'fileName': open('/Users/xxxxx/Downloads/PROGRAM_ACTIONS_5.0.20250617-00_03_34_US_WalmartPlusEnrollment.xlsx', 'rb')
} response = requests.post(url, headers=headers, files=files) print('Status code:', response.status_code)
print('Response:', response.text) Using a JSON file (alternative to Excel)
If you prefer JSON, provide an array of enrollment actions where each item includes the action type and the SKU. The same endpoint and multipart requirements apply.
actionType(enum): Enroll, UnenrollskuId(string): SKU identifier to enroll or unenroll
Required multipart form fields
- fileName (string): The name of the uploaded JSON file.
- file (file): The JSON file with the actions shown above.
Required fields and paths
ProgramAction[](array): The list of actions to apply.ProgramAction[].ItemIdentifiers.sku(string, required): The SKU to enroll/unenroll.ProgramAction[].Programs.WalmartPlusEnrollment.walmartPlusEnrollment(enum, required): The allowed values are Enroll and Unenroll.
Sample feed file
This file defines two SKUs with the corresponding program enrollment actions. Values such as SKU numbers, and Walmart Plus Enrollment actions are placeholders that can be replaced with your actual data.
"ProgramAction": [ { "ItemIdentifiers": { "sku": "11336-001-24-0250-00" }, "Programs": { "WalmartPlusEnrollment": { "walmartPlusEnrollment": "Enroll" } } }, { "ItemIdentifiers": { "sku": "11336-001-24-0250-02" }, "Programs": { "WalmartPlusEnrollment": { "walmartPlusEnrollment": "Enroll" } } } ]
Modify your code
To customize the request for your own use case:
- Update the access token with a valid token from the Token API.
- Update
WM_QOS.CORRELATION_IDwith your unique correlation ID if needed. - If you're using an Excel file, replace the file path with the location of your Excel file. If you're using a JSON file, replace the file path with the actual file path to your JSON feed.
Sample response
{ "status": "OK", "header": { "headerAttributes": {} }, "errors": [], "payload": { "feedId": "1873593E3A465FC198000F95F36C6280@Af8BBgAa", "errorCount": 0 }
}
Result
- Success: The API returns an
HTTP status of 200 OKresponse. The response includes a uniquefeedId, which can be used to track the processing status through the Feed Status API or All Feed Statuses API. You can use the feedId to monitor the feed’s progress and retrieve results once processing is complete. - Failure: If there is an error (e.g., invalid file, authentication failure), the response will include an error code and message describing the issue.
Updated about 3 hours ago
