Get item setup requirements
The get spec API lets you view item setup requirements for a specific product type or a set of product types (up to 20 per request). Use it to identify required attributes, allowed values, formatting rules, and conditional requirements before you build item setup payloads.
Endpoint
POST https://marketplace.walmartapis.com/v3/items/specRequest sample
curl --request POST \ --url https://marketplace.walmartapis.com/v3/items/spec \ --header 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6' \ --header 'WM_SEC.ACCESS_TOKEN: <ACCESS_TOKEN>' \ --header 'WM_SVC.NAME: Walmart Marketplace' \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '{ "feedType": "MP_WFS_ITEM", "version": "5.0.20250121-19_24_23-api", "productTypes": ["Baby Blankets"] }'
Request body
Include the following fields in the request body to retrieve the spec:
feedType(string): Feed type of the item setup data model you want the spec for (example:MP_WFS_ITEM)version(string): The spec version you want to retrieve (example:5.0.20250121-19_24_23-api)productTypes(string[], optional): One or more product types; limit 20 (example:Baby Blankets,Animal Food,Cell Phones)
Modify your code
Limit response size and get the most relevant requirements by passing one product type:
{ "feedType": "MP_WFS_ITEM", "version": "5.0.20250121-19_24_23-api", "productTypes": ["Baby Blankets"]
}
{ "feedType": "MP_WFS_ITEM", "version": "5.0.20250121-19_24_23-api", "productTypes": ["Baby Blankets", "Crib Blankets", "Wearable Baby Blankets"]
}
If you pass invalid product types for the given feedTypeversion, you may receive a 207 partial response (schema returned + errors) or a 400 invalid request. To avoid this:
- confirm product types are valid for that spec version (often via taxonomy for the same version), and
- keep version pinned in your integration so validations don’t drift.
If you’re looking for all supported product types and attributes, a manual download of the full schema is often the fastest way to review what’s available. You can download it from the Item spec versioning and diff reporting page.
Response sample (200)
A successful response returns a schema object containing JSON Schema draft-07. The schema describes the shape of the item spec and includes required fields, enums, validation limits, and conditional requirements.
Example (excerpt):
{ "schema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "MPItemFeedHeader": { "type": "object", "properties": { "businessUnit": { "type": "string", "enum": ["WALMART_CA","WALMART_US","ASDA_GM"] }, "locale": { "type": "string", "enum": ["en"] }, "version": { "type": "string", "enum": ["5.0.20241118-04_39_24-api"] } }, "required": ["businessUnit","locale","version"] } } }
}Response sample (207)
A 207 Partial response means Walmart returned a schema, but one or more inputs (commonly product types were invalid. The response includes schema plus an errors array.
Example:
{ "schema": { "...": "..." }, "errors": [ "Carrot is not a valid PT for MP_WFS_ITEM/5.0.20241118-04_39_24" ]
}Result
After calling Get Spec successfully, you can:
- Determine the required attributes for each product type (
required) - Validate allowed values (
enum) and formatting (format, such asuri) - Enforce quality constraints (
minLength,maxLength,minItems, numeric limits) - Implement conditional validation using
if/thenrules (for example, warranty, Prop 65, hazmat/battery rules)
Common conditional patterns in the schema include:
- If
has_written_warrantyisYes - Warranty URL, thenwarrantyURLis required - If
has_written_warrantyisYes - Warranty Text, thenwarrantyTextis required - If
isProp65WarningRequiredisYes, thenprop65WarningTextis required - If
chemicalAerosolPesticideisYes(or certain battery types apply), thensafetyDataSheetmay be required
Error handling
400 Bad Request
Returned when the request is invalid (for example, invalid productTypes for the requested feedType/version).
{ "code": "INVALID_REQUEST.GMP_ITEM_QUERY_API", "description": "Invalid product types in the request for MP_WFS_ITEM/5.0.20241118-04_39_24", "info": "Request invalid.", "severity": "ERROR", "category": "DATA", "field": "productTypes"
}500 Invalid parameter / system error
Returned when the system encounters an error or mandatory request parameters are missing.
{ "code": "SYSTEM_ERROR.GMP_ITEM_QUERY_API", "description": "System encountered some internal error.", "info": "One or more mandatory request parameters are missing.", "severity": "ERROR", "category": "DATA", "field": "Name is null"
}Next steps
- If your spec response is large, use
productTypesto fetch only what you need (up to 20 per call). - If you receive 207, remove/fix invalid product types and retry.
- For a complete view of supported product types, download the full schema from the Item spec versioning and diff reporting page.
