---
updatedAt: 2026-10-13T17:15:56.000Z
---

# Get item setup requirements

The <Anchor target="_blank" href="https://developer.walmart.com/us-marketplace/reference/getspec">**Get spec API**</Anchor> 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

```http
POST https://marketplace.walmartapis.com/v3/items/spec
```

***

### Request sample

```curl cURL
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

1. #### Retrieve spec for a single product type (recommended)

Limit response size and get the most relevant requirements by passing one product type:

```json JSON
{
  "feedType": "MP_WFS_ITEM",
  "version": "5.0.20250121-19_24_23-api",
  "productTypes": ["Baby Blankets"]
}

```

2. #### Retrieve spec for multiple product types (batch up to 20)

```json JSON
{
  "feedType": "MP_WFS_ITEM",
  "version": "5.0.20250121-19_24_23-api",
  "productTypes": ["Baby Blankets", "Crib Blankets", "Wearable Baby Blankets"]
}

```

3. #### Reduce retries by validating product types first

If you pass invalid product types for the given `feedType` / `version`, 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.

4. #### When you need the full schema

If you’re looking for *all* supported product types and attributes, a manual download of the full schema i&#x73;**&#x20;**&#x6F;ften the fastest way to review what’s available. You can download it from the <Anchor target="_blank" href="https://developer.walmart.com/us-marketplace/docs/item-spec-versioning-and-diff-reporting">**Item spec versioning and diff reporting**</Anchor> 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):

```json JSON
{
  "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 were invalid, commonly the specified product types. The response includes `schema` plus an `errors` array.

Example:

```json JSON
{
  "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 as `uri`)
* Enforce quality constraints (`minLength`, `maxLength`, `minItems`, numeric limits)
* Implement conditional validation using `if` / `then` rules (for example, warranty, Prop 65, hazmat/battery rules)

Common conditional patterns in the schema include:

* If `has_written_warranty` is `Yes - Warranty URL`, then `warrantyURL` is required
* If `has_written_warranty` is `Yes - Warranty Text`, then `warrantyText` is required
* If `isProp65WarningRequired` is `Yes`, then `prop65WarningText` is required
* If `chemicalAerosolPesticide` is `Yes` (or certain battery types apply), then `safetyDataSheet` may be required

***

### Error handling

#### 400 Bad Request

Returned when the request is invalid (for example, invalid `productTypes` for the requested `feedType/version`).

```json JSON
{
  "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.

```json JSON
{
  "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 `productTypes` to 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 <Anchor target="_blank" href="https://developer.walmart.com/us-marketplace/docs/item-spec-versioning-and-diff-reporting">**Item spec versioning and diff reporting**</Anchor> page.