Walmart Marketplace Rules API

Walmart is making program enhancements to the existing free 2-Day Shipping Program, to enable US marketplace sellers to add multiple fulfillment centers along with capability to manage them and easily configure item assortment setup for 2-Day program. The capability, Item assortment rules for 2-Day program setup, will part of the enhancements:.

OpenAPI Specification

walmart-marketplace-rules-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Walmart Rules Management
  description: Rules Management
servers:
  - url: https://marketplace.walmartapis.com
    description: Production URL
  - url: https://sandbox.walmartapis.com
    description: Sandbox URL
security:
  - basicScheme: []
paths:
  "/v3/rules/inactivate":
    put:
      tags:
        - Rules
      summary: Walmart Inactivate Rule
      description: You can use this API to inactivate one or more rules for a specific ruleId and ruleStatus.
      operationId: inactivateRule
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      requestBody:
        description: Request fields
        content:
          application/json:
            schema:
              type: object
              properties:
                ruleHeader:
                  type: object
                  properties:
                    version:
                      type: string
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      ruleId:
                        type: string
                        description: Unique identifier of the rule created for custom rule assortment.
                      ruleStatus:
                        type: string
                        description: Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted.
            example:
              ruleHeader:
                version: '1.2'
              rules:
                - ruleId: '39'
                  ruleStatus: Submitted
                - ruleId: '44'
                  ruleStatus: Active
        required: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Message and status of inactivation of rule
                  status:
                    type: string
                    description: status
              example:
                message: 'Rules are inactivated: [39, 44]'
                status: SUCCESS
  "/v3/rules/exceptions":
    get:
      tags:
        - Rules
      summary: Walmart Gets All Exceptions
      description: This API retrieves all the items which has been defined as exceptions using "Create Override Exception" API.
      operationId: getAllExceptions
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  skuIds:
                    type: array
                    description: A seller-provided Product ID.
                    items:
                      type: string
                      description: A seller-provided Product ID.
                  status:
                    type: string
              example:
                skuIds:
                  - '123456'
                  - '789065'
                status: SUCCESS
    put:
      tags:
        - Rules
      summary: Walmart Delete Exceptions
      description: This API is used to bring back any SKU to Two-day Delivery settings.
      operationId: deleteExceptions
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      requestBody:
        description: Request fields
        content:
          application/json:
            schema:
              type: object
              properties:
                ruleHeader:
                  type: object
                  properties:
                    version:
                      type: string
                rules:
                  type: object
                  properties:
                    skus:
                      type: array
                      items:
                        type: object
                        properties:
                          sku:
                            type: string
                            description: 'An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: '':'', ''/'', ''?'', ''#'', ''['', '']'', ''@'', ''!'', ''$'', ''&'', "''", ''('', '')'', ''*'', ''+'', '','', '';'', ''='', as well as ''%'' itself. Other characters don''t need to be encoded.'
            example:
              ruleHeader:
                version: '1.2'
              rules:
                skus:
                  - sku: sku-1234
                  - sku: sku-2323
        required: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  feedId:
                    type: string
                    description: A unique ID, returned from the Create Override Exception API, used for tracking a feed file
                  status:
                    type: string
                    description: status
              example:
                feedId: 5ED712C698FD43B999EC5EEFD5C63655@ATgBAQA
                status: OK
    post:
      tags:
        - Rules
      summary: Walmart Create Override Exceptions
      description: This API is used if any SKU is required to be removed from Two-day delivery settings
      operationId: createOverrideExceptions
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      requestBody:
        description: Request fields
        content:
          application/json:
            schema:
              type: object
              properties:
                ruleHeader:
                  type: object
                  properties:
                    version:
                      type: string
                rules:
                  type: object
                  properties:
                    skus:
                      type: array
                      items:
                        type: object
                        properties:
                          sku:
                            type: string
                            description: 'An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters in the sku needing encoding are: '':'', ''/'', ''?'', ''#'', ''['', '']'', ''@'', ''!'', ''$'', ''&'', "''", ''('', '')'', ''*'', ''+'', '','', '';'', ''='', as well as ''%'' itself. Other characters don''t need to be encoded.'
            example:
              ruleHeader:
                version: '1.2'
              rules:
                skus:
                  - sku: sku-1234
                  - sku: sku-2323
        required: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  feedId:
                    type: string
                    description: A unique ID, returned from the Create Override Exception API, used for tracking a feed file
                  status:
                    type: string
                    description: status
              example:
                feedId: 5ED712C698FD43B999EC5EEFD5C63655@ATgBAQA
                status: OK
  "/v3/rules/assortment":
    put:
      tags:
        - Rules
      summary: Walmart Change Assortment Type
      description: This API helps you enable or disable the two-day assortment type.
      operationId: changeAssortmentType
      parameters:
        - name: enable
          in: query
          required: true
          schema:
            type: boolean
          example: true
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: object
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the rule created for custom rule assortment.
              example:
                status: OK
                payload:
                  id: 366efe47-61cc-4493-978a-6bab0604f78e
  "/v3/rules/activate":
    put:
      tags:
        - Rules
      summary: Walmart Activate Rule
      description: This API is used to activate a rule for a specific ruleId and ruleStatus. Only Rules which are in submitted and inactive state can be activated.
      operationId: activateRule
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      requestBody:
        description: Request fields
        content:
          application/json:
            schema:
              type: object
              properties:
                ruleHeader:
                  type: object
                  properties:
                    version:
                      type: string
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      ruleId:
                        type: string
                        description: Unique identifier of the rule created for custom rule assortment.
                      ruleStatus:
                        type: string
                        description: Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted.
            example:
              ruleHeader:
                version: '1.2'
              rules:
                - ruleId: '39'
                  ruleStatus: Submitted
                - ruleId: '44'
                  ruleStatus: Inactive
        required: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Message and ruleId
                  status:
                    type: string
                    description: status
              example:
                message: 'Rules are activated: [39, 44]'
                status: Success
  "/v3/rules/actions":
    put:
      tags:
        - Rules
      summary: Walmart Update Shipping Area to Rules
      description: This API helps you define coverage areas for your items that are held outside of the fulfillment centers defined by your shipNode management API's.
      operationId: updateShippingAreaToRule
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      requestBody:
        description: Request fields
        content:
          application/json:
            schema:
              type: object
              properties:
                ruleHeader:
                  type: object
                  properties:
                    version:
                      type: string
                rules:
                  type: object
                  properties:
                    ruleId:
                      type: string
                      description: Unique identifier of the rule created for custom rule assortment.
                    ruleStatus:
                      type: string
                      description: Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted.
                    actions:
                      type: array
                      description: Defines the two day state coverage areas.
                      items:
                        type: object
                        properties:
                          twoDayShippingRegions:
                            type: array
                            description: List of two-day regions.
                            items:
                              type: object
                              properties:
                                regionCode:
                                  type: string
                                  description: regionCode
                                subRegions:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      subRegionCode:
                                        type: string
                                        description: subRegionCode
                              description: List of two-day regions.
                        description: Defines the two day state coverage areas.
            example:
              ruleHeader:
                version: '1.2'
              rules:
                ruleId: '612'
                ruleStatus: Submitted
                actions:
                  - twoDayShippingRegions:
                      - regionCode: NE
                        subRegions:
                          - subRegionCode: NY1
                          - subRegionCode: NY2
        required: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        conditions:
                          type: array
                          description: 'Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight.'
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: Name of the rule created for custom rule assortment.
                              operator:
                                type: string
                                description: 'Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN .'
                              value:
                                type: string
                                description: Values for each condition. Value can be a comma separated strings for subcategories and numerical value for price and weight.
                            description: 'Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight.'
                        description:
                          type: string
                          description: Description of the rule created for custom rule assortment.
                        name:
                          type: string
                          description: Name of the rule created for custom rule assortment.
                        priority:
                          type: string
                          description: Priority of the rule created for custom rule assortment.
                        ruleId:
                          type: string
                          description: Unique identifier of the rule created for custom rule assortment.
                        ruleStatus:
                          type: string
                          description: Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted.
                        skuProcessingStatus:
                          type: string
                          description: When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed.
                        ruleAction:
                          type: object
                          properties:
                            twoDayShippingRegions:
                              type: array
                              description: List of two-day regions.
                              items:
                                type: object
                                properties:
                                  regionCode:
                                    type: string
                                    description: regionCode
                                  subRegions:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        subRegionCode:
                                          type: string
                                          description: subRegionCode
                                description: List of two-day regions.
                          description: Defines the two day state coverage areas.
                  status:
                    type: string
                    description: status
              example:
                rules:
                  - conditions:
                      - name: price
                        operator: EQUALS
                        value: '20'
                      - name: subCategories
                        operator: IN
                        value: 571fdff7208f9a0cdb760a7f,56f2eb65208f9a0612c3adbd
                    description: testing-new-510
                    name: testing-new-510
                    priority: '21'
                    ruleAction:
                      twoDayShippingRegions:
                        - regionCode: NE
                          subRegions:
                            - subRegionCode: NY1
                            - subRegionCode: NY2
                    ruleId: '612'
                    ruleStatus: Submitted
                status: OK
  "/v3/rules/":
    get:
      tags:
        - Rules
      summary: Walmart Get All Rules
      description: This API retrieves the details of all the rules defined using "create an Item rule" API.
      operationId: getAllRules
      parameters:
        - in: header
          name: WM_SEC.ACCESS_TOKEN
          description: The access token retrieved in the Token API call
          required: true
          schema:
            type: string
          example: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....
        - in: header
          name: WM_CONSUMER.CHANNEL.TYPE
          description: A unique ID to track the consumer request by channel. Use the Consumer Channel Type received during onboarding
          required: false
          schema:
            type: string
        - in: header
          name: WM_QOS.CORRELATION_ID
          description: A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID
          required: true
          schema:
            type: string
          example: b3261d2d-028a-4ef7-8602-633c23200af6
        - in: header
          name: WM_SVC.NAME
          description: Walmart Service Name
          required: true
          schema:
            type: string
          example: Walmart Service Name
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        conditions:
                          type: array
                          description: 'Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight.'
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: Name of the rule created for custom rule assortment.
                              operator:
                                type: string
                                description: 'Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN .'
                              value:
                                type: string
                                description: Values for each condition. Value can be a comma separated strings for subcategories and numerical value for price and weight.
                            description: 'Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight.'
                        description:
                          type: string
                          description: Description of the rule created for custom rule assortment.
                        name:
                          type: string
                          description: Name of the rule created for custom rule assortment.
                        priority:
                          type: string
                          description: Priority of the rule created for custom rule assortment.
                        ruleId:
                          type: string
                          description: Unique identifier of the rule created for custom rule assortment.
                        ruleStatus:
                          type: string
                          description: Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted.
                        skuProcessingStatus:
                          type: string
                          description: When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed.
                        ruleAction:
                          type: object
                          properties:
                            twoDayShippingRegions:
                              type: array
                              description: List of two-day regions.
                              items:
                                type: object
                                properties:
                                  regionCode:
                                    type: string
                                    description: regionCode
                                  subRegions:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        subRegionCode:
                                          type: string
                                          description: subRegionCode
                                description: List of two-day regions.
                          description: Defines the two day state coverage areas.
                  status:
                    type: string
                    description: status
              example:
                rules:
                  - conditions:
                      - name: weight
                        operator: LESS_THAN
                        value: '10'
                      - name: subCategories
                        operator: IN
                        value: 559c5d924fff3d64de18bf45,559c5d8f4fff3d64de18bf3d
                    name: Test rule Issue2
                    priority: '6'
                    ruleId: '565'
                    ruleStatus: Active
                    skuProcessingStatus: Success
                  - conditions:
                      - name: subCategories
                        operator: IN
                        value: 559c5d924fff3d64de18bf45
                    name: njnjn
                    priority: '10'
                    ruleAction:
                      twoDayShippingRegions:
                        - regionCode: NE
                          subRegions:
                            - subRegionCode: RI
                            - subRegionCode: ME1
                            - subRegionCode: ME2
                            - subRegionCode: NH
                            - subRegionCode: NY3
                            - subRegionCode: NY1
                            - subRegionCode: NY5
                            - subRegionCode: NY2
                            - subRegionCode: NY4
                            - subRegionCode: NJ3
                            - subRegionCode: NJ4
                            - subRegionCode: NJ1
                            - subRegionCode: NJ2
                            - subRegionCode: VT
                    ruleId: '602'
                    ruleStatus: Active
                    skuProcessingStatus: Processing
              

# --- truncated at 32 KB (124 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/walmart/refs/heads/main/openapi/walmart-marketplace-rules-openapi-original.yml