Walmart · AsyncAPI Specification

Walmart Marketplace Notifications (Webhooks)

Version 1.0.0

AsyncAPI 2.6 description of the Walmart Marketplace Notifications surface — also known as Walmart's seller webhooks / push notifications. Walmart POSTs a JSON payload describing an event to a seller-defined destination URL whenever a subscribed event occurs (e.g. a new purchase order is created, an offer is unpublished, the Buy Box winner changes, inventory hits out-of-stock). Subscriptions are managed through the companion REST control plane (`walmart-marketplace-notifications-openapi-original.yml`) — `/v3/webhooks/subscriptions`, `/v3/webhooks/eventTypes`, and `/v3/webhooks/test`. This AsyncAPI document describes only the *outbound* delivery channel: what Walmart sends to the seller's `eventUrl`. Event types, resource names, and `eventVersion` values reflect the catalog documented at https://developer.walmart.com/doc/us/mp/us-mp-notifications/ and the example payloads inside Walmart's published Notifications OpenAPI. Per-event payload schemas beyond the common envelope are gated by Walmart's portal and are intentionally left as open `object` shapes here rather than fabricated.

View Spec View on GitHub WalmartCommerceRetailFortune 100MarketplaceE-CommerceOrderInventoryFulfillmentSupply ChainSeller APIsWebhookMCPAgentic CommerceAsyncAPIEventsWebhooks

Channels

offer-published
publish receiveOfferPublished
Walmart -> seller delivery for OFFER_PUBLISHED.
Delivered when an item offer transitions to the published state and becomes buyable on Walmart.com. Resource: ITEM. Event version: V1.
offer-unpublished
publish receiveOfferUnpublished
Walmart -> seller delivery for OFFER_UNPUBLISHED.
Delivered when an item offer is unpublished (e.g. blocked, stale, out-of-stock thresholds tripped, content quality issues). Resource: ITEM. Event version: V1.
buy-box-changed
publish receiveBuyBoxChanged
Walmart -> seller delivery for BUY_BOX_CHANGED.
Delivered when the Buy Box winner or Buy Box price changes for one of the seller's items. Resource: PRICE. Event version: V1.
inventory-out-of-stock
publish receiveInventoryOos
Walmart -> seller delivery for INVENTORY_OOS.
Delivered when an item's available inventory drops to zero / out-of-stock. Resource: INVENTORY. Event version: V1.
purchase-order-created
publish receivePoCreated
Walmart -> seller delivery for PO_CREATED.
Delivered when a new purchase order (PO) is created on Walmart for the seller. Resource: ORDER. Event version: V1.
purchase-order-line-autocancelled
publish receivePoLineAutocancelled
Walmart -> seller delivery for PO_LINE_AUTOCANCELLED.
Delivered when one or more lines on an existing PO are automatically cancelled by Walmart (e.g. ship-by deadline missed). Resource: ORDER. Event version: V1.
order-intent-to-cancel
publish receiveOrderIntentToCancel
Walmart -> seller delivery for ORDER_INTENT_TO_CANCEL.
Delivered when a customer (or Walmart) signals an intent to cancel an order and the seller still has a remediation window. Resource: ORDER. Event version: V1 (documented; per-event payload gated on portal).
order-management-event
publish receiveOrderManagementEvent
Walmart -> seller delivery for ORDER_MANAGEMENT_EVENT.
General-purpose order management lifecycle event (refunds, adjustments, and related order-side transitions). Resource: ORDER. Event version: V1.
driver-status-notification
publish receiveDriverStatusNotification
Walmart -> seller delivery for DRIVER_STATUS_NOTIFICATION.
Delivered for last-mile / GoLocal driver status updates tied to a delivery. Resource: SHIPPING. Event version: V1.
return-notification
publish receiveReturnNotification
Walmart -> seller delivery for RETURN_NOTIFICATIONS.
Delivered when a return is initiated or its status changes. Resource: RETURNS. Event version: V1.
report-status
publish receiveReportStatus
Walmart -> seller delivery for REPORT_STATUS.
Delivered when a report requested via the On-Request Reports API (or other report-producing surfaces) completes and is ready for download. Resource: REPORTS. Event version: V1.
assortment-recommendations
publish receiveAssortmentRecommendations
Walmart -> seller delivery for ASSORTMENT_RECOMMENDATIONS.
Delivered when new assortment / item growth recommendations are available for the seller. Resource: RECOMMENDATIONS. Event version: V1.
seller-performance-notifications
publish receiveSellerPerformanceNotification
Walmart -> seller delivery for SELLER_PERFORMANCE_NOTIFICATIONS.
Performance webhook stream — daily shipping risk ALARMS and weekly KPI REPORT rollups. Sent as `eventType: SELLER_PERFORMANCE_NOTIFICATIONS`. Documented at https://developer.walmart.com/us-marketplace/docs/performance-webhook.

Messages

✉
OfferPublished
Offer Published
An item offer has become published / buyable.
✉
OfferUnpublished
Offer Unpublished
An item offer has been unpublished.
✉
BuyBoxChanged
Buy Box Changed
The Buy Box winner or price has changed.
✉
InventoryOos
Inventory Out Of Stock
Item inventory has reached zero.
✉
PoCreated
Purchase Order Created
A new purchase order has been created.
✉
PoLineAutocancelled
Purchase Order Line Auto-Cancelled
One or more PO lines were auto-cancelled by Walmart.
✉
OrderIntentToCancel
Order Intent To Cancel
A customer (or Walmart) signaled intent to cancel an order.
✉
OrderManagementEvent
Order Management Event
General order-side management lifecycle event.
✉
DriverStatusNotification
Driver Status Notification
Last-mile / GoLocal driver status update for a delivery.
✉
ReturnNotification
Return Notification
A return has been initiated or its status changed.
✉
ReportStatus
Report Status
A requested report has completed and is ready for download.
✉
AssortmentRecommendations
Assortment Recommendations
New assortment / growth recommendations are available.
✉
SellerPerformanceNotification
Seller Performance Notification
Performance webhook — ALARMS (daily shipping risk) and REPORT (weekly KPI rollup, Mondays 05:00 PT). Distinct envelope from the Notifications API events.

Servers

https
seller-endpoint {sellerWebhookUrl}
The seller-defined HTTPS destination URL registered via the Create Subscription API (`eventUrl` field). Walmart will POST event payloads to this URL. The URL can be protected with BASIC_AUTH, OAUTH, or HMAC, configured per subscription via `authDetails`.

AsyncAPI Specification

Raw ↑
asyncapi: '2.6.0'
id: 'urn:com:walmart:marketplace:notifications'
info:
  title: Walmart Marketplace Notifications (Webhooks)
  version: '1.0.0'
  description: |
    AsyncAPI 2.6 description of the Walmart Marketplace Notifications surface — also
    known as Walmart's seller webhooks / push notifications. Walmart POSTs a JSON
    payload describing an event to a seller-defined destination URL whenever a
    subscribed event occurs (e.g. a new purchase order is created, an offer is
    unpublished, the Buy Box winner changes, inventory hits out-of-stock).

    Subscriptions are managed through the companion REST control plane
    (`walmart-marketplace-notifications-openapi-original.yml`) — `/v3/webhooks/subscriptions`,
    `/v3/webhooks/eventTypes`, and `/v3/webhooks/test`. This AsyncAPI document
    describes only the *outbound* delivery channel: what Walmart sends to the
    seller's `eventUrl`.

    Event types, resource names, and `eventVersion` values reflect the catalog
    documented at https://developer.walmart.com/doc/us/mp/us-mp-notifications/
    and the example payloads inside Walmart's published Notifications OpenAPI.
    Per-event payload schemas beyond the common envelope are gated by Walmart's
    portal and are intentionally left as open `object` shapes here rather than
    fabricated.
  contact:
    name: Walmart Marketplace Developer Portal
    url: https://developer.walmart.com/doc/us/mp/us-mp-notifications/
  license:
    name: Walmart Marketplace Developer Agreement
    url: https://developer.walmart.com/

defaultContentType: application/json

servers:
  seller-endpoint:
    url: '{sellerWebhookUrl}'
    protocol: https
    description: |
      The seller-defined HTTPS destination URL registered via the Create
      Subscription API (`eventUrl` field). Walmart will POST event payloads
      to this URL. The URL can be protected with BASIC_AUTH, OAUTH, or HMAC,
      configured per subscription via `authDetails`.
    variables:
      sellerWebhookUrl:
        default: https://example.com/walmart/webhooks
        description: Fully-qualified HTTPS URL owned by the seller.

channels:
  offer-published:
    description: |
      Delivered when an item offer transitions to the published state and becomes
      buyable on Walmart.com. Resource: ITEM. Event version: V1.
    publish:
      operationId: receiveOfferPublished
      summary: Walmart -> seller delivery for OFFER_PUBLISHED.
      message:
        $ref: '#/components/messages/OfferPublished'

  offer-unpublished:
    description: |
      Delivered when an item offer is unpublished (e.g. blocked, stale,
      out-of-stock thresholds tripped, content quality issues). Resource: ITEM.
      Event version: V1.
    publish:
      operationId: receiveOfferUnpublished
      summary: Walmart -> seller delivery for OFFER_UNPUBLISHED.
      message:
        $ref: '#/components/messages/OfferUnpublished'

  buy-box-changed:
    description: |
      Delivered when the Buy Box winner or Buy Box price changes for one of the
      seller's items. Resource: PRICE. Event version: V1.
    publish:
      operationId: receiveBuyBoxChanged
      summary: Walmart -> seller delivery for BUY_BOX_CHANGED.
      message:
        $ref: '#/components/messages/BuyBoxChanged'

  inventory-out-of-stock:
    description: |
      Delivered when an item's available inventory drops to zero / out-of-stock.
      Resource: INVENTORY. Event version: V1.
    publish:
      operationId: receiveInventoryOos
      summary: Walmart -> seller delivery for INVENTORY_OOS.
      message:
        $ref: '#/components/messages/InventoryOos'

  purchase-order-created:
    description: |
      Delivered when a new purchase order (PO) is created on Walmart for the
      seller. Resource: ORDER. Event version: V1.
    publish:
      operationId: receivePoCreated
      summary: Walmart -> seller delivery for PO_CREATED.
      message:
        $ref: '#/components/messages/PoCreated'

  purchase-order-line-autocancelled:
    description: |
      Delivered when one or more lines on an existing PO are automatically
      cancelled by Walmart (e.g. ship-by deadline missed). Resource: ORDER.
      Event version: V1.
    publish:
      operationId: receivePoLineAutocancelled
      summary: Walmart -> seller delivery for PO_LINE_AUTOCANCELLED.
      message:
        $ref: '#/components/messages/PoLineAutocancelled'

  order-intent-to-cancel:
    description: |
      Delivered when a customer (or Walmart) signals an intent to cancel an order
      and the seller still has a remediation window. Resource: ORDER.
      Event version: V1 (documented; per-event payload gated on portal).
    publish:
      operationId: receiveOrderIntentToCancel
      summary: Walmart -> seller delivery for ORDER_INTENT_TO_CANCEL.
      message:
        $ref: '#/components/messages/OrderIntentToCancel'

  order-management-event:
    description: |
      General-purpose order management lifecycle event (refunds, adjustments,
      and related order-side transitions). Resource: ORDER. Event version: V1.
    publish:
      operationId: receiveOrderManagementEvent
      summary: Walmart -> seller delivery for ORDER_MANAGEMENT_EVENT.
      message:
        $ref: '#/components/messages/OrderManagementEvent'

  driver-status-notification:
    description: |
      Delivered for last-mile / GoLocal driver status updates tied to a delivery.
      Resource: SHIPPING. Event version: V1.
    publish:
      operationId: receiveDriverStatusNotification
      summary: Walmart -> seller delivery for DRIVER_STATUS_NOTIFICATION.
      message:
        $ref: '#/components/messages/DriverStatusNotification'

  return-notification:
    description: |
      Delivered when a return is initiated or its status changes. Resource:
      RETURNS. Event version: V1.
    publish:
      operationId: receiveReturnNotification
      summary: Walmart -> seller delivery for RETURN_NOTIFICATIONS.
      message:
        $ref: '#/components/messages/ReturnNotification'

  report-status:
    description: |
      Delivered when a report requested via the On-Request Reports API (or other
      report-producing surfaces) completes and is ready for download. Resource:
      REPORTS. Event version: V1.
    publish:
      operationId: receiveReportStatus
      summary: Walmart -> seller delivery for REPORT_STATUS.
      message:
        $ref: '#/components/messages/ReportStatus'

  assortment-recommendations:
    description: |
      Delivered when new assortment / item growth recommendations are available
      for the seller. Resource: RECOMMENDATIONS. Event version: V1.
    publish:
      operationId: receiveAssortmentRecommendations
      summary: Walmart -> seller delivery for ASSORTMENT_RECOMMENDATIONS.
      message:
        $ref: '#/components/messages/AssortmentRecommendations'

  seller-performance-notifications:
    description: |
      Performance webhook stream — daily shipping risk ALARMS and weekly KPI
      REPORT rollups. Sent as `eventType: SELLER_PERFORMANCE_NOTIFICATIONS`.
      Documented at https://developer.walmart.com/us-marketplace/docs/performance-webhook.
    publish:
      operationId: receiveSellerPerformanceNotification
      summary: Walmart -> seller delivery for SELLER_PERFORMANCE_NOTIFICATIONS.
      message:
        $ref: '#/components/messages/SellerPerformanceNotification'

components:
  messages:
    OfferPublished:
      name: OfferPublished
      title: Offer Published
      summary: An item offer has become published / buyable.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: OFFER_PUBLISHED
            eventVersion: V1
            resourceName: ITEM
            partnerId: '12300000359'
            payload: {}

    OfferUnpublished:
      name: OfferUnpublished
      title: Offer Unpublished
      summary: An item offer has been unpublished.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: OFFER_UNPUBLISHED
            eventVersion: V1
            resourceName: ITEM
            partnerId: '12300000359'
            payload: {}

    BuyBoxChanged:
      name: BuyBoxChanged
      title: Buy Box Changed
      summary: The Buy Box winner or price has changed.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: BUY_BOX_CHANGED
            eventVersion: V1
            resourceName: PRICE
            partnerId: '12300000359'
            payload: {}

    InventoryOos:
      name: InventoryOos
      title: Inventory Out Of Stock
      summary: Item inventory has reached zero.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: INVENTORY_OOS
            eventVersion: V1
            resourceName: INVENTORY
            partnerId: '12300000359'
            payload: {}

    PoCreated:
      name: PoCreated
      title: Purchase Order Created
      summary: A new purchase order has been created.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: PO_CREATED
            eventVersion: V1
            resourceName: ORDER
            partnerId: '12300000359'
            payload: {}

    PoLineAutocancelled:
      name: PoLineAutocancelled
      title: Purchase Order Line Auto-Cancelled
      summary: One or more PO lines were auto-cancelled by Walmart.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: PO_LINE_AUTOCANCELLED
            eventVersion: V1
            resourceName: ORDER
            partnerId: '12300000359'
            payload: {}

    OrderIntentToCancel:
      name: OrderIntentToCancel
      title: Order Intent To Cancel
      summary: A customer (or Walmart) signaled intent to cancel an order.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: ORDER_INTENT_TO_CANCEL
            eventVersion: V1
            resourceName: ORDER
            partnerId: '12300000359'
            payload: {}

    OrderManagementEvent:
      name: OrderManagementEvent
      title: Order Management Event
      summary: General order-side management lifecycle event.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: ORDER_MANAGEMENT_EVENT
            eventVersion: V1
            resourceName: ORDER
            partnerId: '12300000359'
            payload: {}

    DriverStatusNotification:
      name: DriverStatusNotification
      title: Driver Status Notification
      summary: Last-mile / GoLocal driver status update for a delivery.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: DRIVER_STATUS_NOTIFICATION
            eventVersion: V1
            resourceName: SHIPPING
            partnerId: '12300000359'
            payload: {}

    ReturnNotification:
      name: ReturnNotification
      title: Return Notification
      summary: A return has been initiated or its status changed.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: RETURN_NOTIFICATIONS
            eventVersion: V1
            resourceName: RETURNS
            partnerId: '12300000359'
            payload: {}

    ReportStatus:
      name: ReportStatus
      title: Report Status
      summary: A requested report has completed and is ready for download.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: REPORT_STATUS
            eventVersion: V1
            resourceName: REPORTS
            partnerId: '12300000359'
            payload: {}

    AssortmentRecommendations:
      name: AssortmentRecommendations
      title: Assortment Recommendations
      summary: New assortment / growth recommendations are available.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NotificationEnvelope'
      examples:
        - name: minimal
          payload:
            eventType: ASSORTMENT_RECOMMENDATIONS
            eventVersion: V1
            resourceName: RECOMMENDATIONS
            partnerId: '12300000359'
            payload: {}

    SellerPerformanceNotification:
      name: SellerPerformanceNotification
      title: Seller Performance Notification
      summary: |
        Performance webhook — ALARMS (daily shipping risk) and REPORT (weekly KPI rollup,
        Mondays 05:00 PT). Distinct envelope from the Notifications API events.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/SellerPerformanceEnvelope'
      examples:
        - name: alarms-skeleton
          payload:
            source:
              eventType: SELLER_PERFORMANCE_NOTIFICATIONS
              eventTime: '2026-05-30T12:00:00Z'
              eventId: 7c4e0b22-2f8a-4f6e-9b41-3a6ad9d1c2c5
            payload:
              partnerId: '12300000359'
              lastRefreshTs: '2026-05-30T11:55:00Z'
              notificationType: ALARMS
              moreInfoLink: https://seller.walmart.com/performance
              enNotification:
                alarms:
                  - alarmType: LateOriginScan
                    orderCount: 12
                    description: Orders without an origin scan within SLA.
                    action: Confirm shipment and provide tracking.
                    poNumbers: []

  schemas:
    NotificationEnvelope:
      type: object
      description: |
        Envelope wrapping every Walmart Marketplace Notifications event delivered
        to a seller's webhook URL. Per-event `payload` shape is event-specific and
        documented on the portal; modelled here as an open object to avoid
        fabricating fields. Common identifier fields (`eventType`, `eventVersion`,
        `resourceName`, `partnerId`, `subscriptionId`) mirror those used across
        Walmart's Notifications OpenAPI examples.
      properties:
        eventType:
          type: string
          description: The event that triggered the notification.
          enum:
            - OFFER_PUBLISHED
            - OFFER_UNPUBLISHED
            - BUY_BOX_CHANGED
            - INVENTORY_OOS
            - PO_CREATED
            - PO_LINE_AUTOCANCELLED
            - ORDER_INTENT_TO_CANCEL
            - ORDER_MANAGEMENT_EVENT
            - DRIVER_STATUS_NOTIFICATION
            - RETURN_NOTIFICATIONS
            - REPORT_STATUS
            - ASSORTMENT_RECOMMENDATIONS
        eventVersion:
          type: string
          description: Version of the event type. Currently V1 for all documented events.
          example: V1
        resourceName:
          type: string
          description: Functional category the event type maps to (drives Delegated Access scope).
          enum:
            - ITEM
            - PRICE
            - INVENTORY
            - ORDER
            - SHIPPING
            - RETURNS
            - REPORTS
            - RECOMMENDATIONS
        partnerId:
          type: string
          description: Walmart seller / partner identifier.
          example: '12300000359'
        subscriptionId:
          type: string
          description: Subscription ID under which this notification was delivered.
          example: 243ba4d0-b322-11ea-b385-0127e9b85538
        eventTime:
          type: string
          format: date-time
          description: Timestamp of the event (ISO 8601). Field name may vary slightly per event.
        payload:
          type: object
          description: Event-specific payload. Shape varies by `eventType`; see Walmart portal for full schema.
          additionalProperties: true
      required:
        - eventType
        - eventVersion
        - resourceName

    SellerPerformanceEnvelope:
      type: object
      description: |
        Envelope used by the Seller Performance webhook stream. Distinct from the
        Notifications API envelope: events are wrapped in a `source` block carrying
        `eventType`, `eventTime`, and `eventId`; the `payload` block carries either
        ALARMS or REPORT content.
      properties:
        source:
          type: object
          properties:
            eventType:
              type: string
              enum:
                - SELLER_PERFORMANCE_NOTIFICATIONS
            eventTime:
              type: string
              format: date-time
              description: ISO 8601 timestamp of the event.
            eventId:
              type: string
              description: Unique event identifier for deduplication.
          required:
            - eventType
            - eventTime
            - eventId
        payload:
          type: object
          properties:
            partnerId:
              type: string
            lastRefreshTs:
              type: string
              format: date-time
              description: When the underlying performance data was last refreshed.
            notificationType:
              type: string
              enum:
                - ALARMS
                - REPORT
              description: ALARMS = daily shipping risk; REPORT = weekly KPI rollup.
            enNotification:
              type: object
              description: English-language notification content.
              additionalProperties: true
            supportedLanguages:
              type: array
              items:
                type: string
            moreInfoLink:
              type: string
              format: uri
          required:
            - partnerId
            - notificationType
      required:
        - source
        - payload

  messageTraits:
    DeliveryHeaders:
      headers:
        type: object
        description: |
          HTTP request headers Walmart sends on a webhook POST. Per subscription
          `authDetails.authMethod` (BASIC_AUTH | OAUTH | HMAC) controls which
          authorization-style header is populated.
        properties:
          content-type:
            type: string
            const: application/json
          Authorization:
            type: string
            description: |
              Auth header when subscription uses BASIC_AUTH or OAUTH. Header name
              is configurable via subscription `authDetails.authHeaderName`.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/walmart-marketplace-notifications-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.