HomeDocumentationCode SamplesAPI ReferenceAnnouncementsModelsRelease NotesFAQGitHubVideos
Developer HubAPI StatusSupport
Documentation
Developer HubAPI StatusSupport

Vendor Direct Fulfillment Inventory API v1 Use Case Guide

Help vendors in the direct fulfillment (DF) program use the Inventory API to manage their direct fulfillment operations.

API Version: v1

What is the Direct Fulfillment Inventory API?

Vendors can use the Direct Fulfillment Inventory API to exchange inventory stock levels with Amazon. We support the Inventory Feeds API, which lets vendors send inventory feeds to Amazon for the direct fulfillment catalog.

The following operations are included:

Operation HTTP Method Path Description
submitInventoryUpdate POST /vendor/directFulfillment/inventory/v1/warehouses/{warehouseId}/items Submits partial or full feeds of inventory details to Amazon.

submitInventoryUpdate

There are two types of inventory feeds that can be submitted using this API. When isFullUpdate is set to true, the feed is a full update. When isFullUpdate is set to false, the feed is a partial update to inventory.

When you choose a full update, the operation updates the complete inventory for a specific warehouse. You must send information about all items in the warehouse. For any items not includes, the Available Quantity will be updated to zero. This operation should only be used to perform a full warehouse synchronization, and should only be used if you don't have the ability to update the inventory for out of stock items to zero. If you can manage inventory for all your items, Amazon does not recommend that you choose a full update.

When you choose a partial update, you update only the inventory of selected item(s) in a warehouse. This is typically called every few hours to update the items which are going out of stock or went out of stock since last update.

Verification of successfully submitted Order inventory feeds

Vendors can verify the status of an inventory update using Vendor Central or using the Transaction Status API. For more information about how to use the Transaction Status API, refer to the business use case documentation for the Transaction Status API. Allow the system to take up to 15 minutes to show the original/updated version after submission. If Vendor Central is not showing the correct values for the acknowledgement, open a Contact Us case in Vendor Central.

The following diagram shows the integration workflow for submitting inventory updates.

The Direct Fulfillment integration workflow for submitting inventory updates.

Business Requirements

One inventory feed is required for each warehouse. If a vendor has multiple warehouses, then multiple inventory feeds submissions are required, with each feed containing items for a given warehouse.

For a full update, all the items in the warehouse which are in stock should be submitted. Any items not submitted will have their availability is set to zero in Amazon, and no new orders will be issued for those non-available items.

For a partial update, only those items for which the stock quantity must to be updated should be included. Remaining items that are not in the partial update will remain unchanged.

When an item's status is set to obsolete using the isObsolete request body parameter, the item is marked as permanently unavailable. If the item becomes available and is back in stock, you must set isObsolete to false so that the item is marked as back in stock.

If an item is rejected using the order acknowledgement multiple times, then those items will be marked as 'out of stock' and this can impact your fulfillment metrics.

Country Specific Business Requirements

No country specific requirements exist.

submitInventoryUpdate Request

To submit inventory updates, call the submitInventoryUpdate operation and pass the following parameter:

Path parameter:

Name Description Required
warehouseId Identifier for the warehouse for which to update inventory.

Type: string

Yes

Body parameter:

Name Description Required
inventory Inventory details required to update some or all items for the requested warehouse.

Type: InventoryUpdate

Yes

Request example:

POST "https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/inventory/v1/warehouses/ABCD/items"

{
  "inventory": {
    "sellingParty": {
      "partyId": "VENDORID"
    },
    "isFullUpdate": false,
    "items": [
      {
        "buyerProductIdentifier": "ABCD4562",
        "vendorProductIdentifier": "7Q89K11",
        "availableQuantity": {
          "amount": 10,
          "unitOfMeasure": "Each"
        },
        "isObsolete": false
      }, {
        "buyerProductIdentifier": "ABCD4563",
        "vendorProductIdentifier": "7Q89K12",
        "availableQuantity": {
          "amount": 15,
          "unitOfMeasure": "Each"
        },
        "isObsolete": false
      }, {
        "buyerProductIdentifier": "ABCD4564",
        "vendorProductIdentifier": "7Q89K13",
        "availableQuantity": {
          "amount": 20,
          "unitOfMeasure": "Each"
        },
        "isObsolete": false
      }
    ]
  }
}

submitInventoryUpdate Response

A successful response includes the following:

Name Description Required
transactionId GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction.

Type: string

No

Response example:

{
  "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}