The Inventory API is used to create and manage inventory item records, and then convert these inventory items into product offers on eBay marketplaces. The Inventory API has the following entities:
- Location: a seller must have at least one store or warehouse inventory location set up before that seller can start creating and publishing offers with the Inventory API. Every inventory location must also have a seller-defined merchant location key value.
- Inventory Item: before a product can be sold in an offer on an eBay marketplace, an inventory item record must exist for that product. An inventory item record contains such things as product details, item condition, quantity available. Every Inventory Item must also have a seller-defined SKU value, and this value must be unique across the seller's inventory.
- Offer: an offer is what becomes a live eBay listing. An offer is first created, and then it is published with the Inventory API. Each offer must be associated with an eBay marketplace, an inventory item, an inventory location, and a category ID. The offer will contain quantity available for the offer, the listing description, and an offer price. Every offer must also reference a payment, a fulfillment, and a return business policy, so the seller must be opted in, and have business policies available to apply against the offers.
- Inventory Item Group: an inventory item group is necessary if the seller would like to create and manage multiple-variation listings through the Inventory API. An inventory item group is a collection of similar inventory items that might vary on a couple of aspects like color and size.
- Compatible Products: the product compatibility calls allow the seller to create a compatible vehicle list, or vehicles that are compatible with a motor vehicle part or accessory.
Important! Publish offer note: Fields may be optional or conditionally required when calling a method, but become required when publishing the offer to create an active listing. For details, see Required fields for publishing an offer.
Technical overview
The Inventory API is more-or-less a "standalone" REST-based API, but it does have the following relationships with other APIs:
- Trading API: sellers may use the Trading API to get some listing-related metadata, and may also want to use GetItem call to view the listing that they have created through the Offer calls
- Account API: sellers can use the Account API to opt in to Business Policies, and to create and manage business policies (that are used/referenced with the createOffer call in the Inventory API). Inventory API users may also need to use the getRateTables call of the Account API to get the unique identifiers of shipping rate tables that they may want to apply to a fulfillment business policy
- Fulfillment API: sellers can use the Fulfillment API to get order details and manage shipment tracking.
Business use cases
Below are the high-level use cases addressed by the Inventory API.
- Create and manage inventory locations
- Create and manage inventory item records
- Create offers
- Publish and manage offers
- Migrate existing eBay listings to the Inventory API data model using the bulkMigrateListings call
The following use cases are not necessarily required, but they are available to sellers:
- Get expected listing fees for unpublished offers
- Create and manage inventory item groups (necessary if creating and managing multiple-variation listings)
- Create compatible vehicle lists for motor vehicle parts (helpful if creating and managing motor vehicle parts or accessory listings)
- Disable or enable inventory locations
- Set available quantity for a SKU at specific warehouse locations
- Apply extended producer responsibility regulations and custom policies to listings. These features are supported by a limited number of sites and specific categories. Refer to the Sell Metadata API to return the enabled sites and categories.
Real-time Inventory Check
Real-time Inventory Check is a feature for the Inventory API that allows for inventory availability and quantity information to be automatically updated at the time of checkout. Merchants can provide an API endpoint to eBay, and eBay will make a call to this endpoint at checkout to verify that enough quantity exists to fulfill the order for an inventory item.
For more information, see the Real-time inventory check section of the Selling Integration Guide.
Inventory API requirements and restrictions
Important! Currently, listings created through the Inventory API cannot be edited through Seller Hub or any other listing platform. Any revisions must be done through the Inventory API.
To use the Inventory API (or any other eBay public API), the user must have an eBay Developers Program account, and the user's seller account must be opted in to business policies. Once opted in, use the Account API v1 to create and update policies including fulfillment (previously known as shipping), returns, and payment. These policies are required to create listings (also referred to as published offers) through the Inventory API.
It is also a very good idea that the 'Out-of-Stock' Control feature is turned on for seller. With the 'Out-of-Stock' Control feature, a listing showing '0' available quantity is kept alive/active for up to 90 days, giving the seller a chance to load more inventory for the active listing. While an active listing is 'out of stock', it will be hidden from search so interested buyers don't view a listing with no available quantity. Sellers can turn on the 'Out-of-Stock' Control option in My eBay Site Preferences, or they can use the SetUserPreferences call of the Trading API to turn on this feature.
If using the bulkMigrateListings call, there are additional requirements than the active eBay listing must meet before that listing can be converted to the Inventory API data model. These requirements are covered in the Selling Integration Guide.
Supported marketplaces and listing types
The Inventory API is supported on all eBay marketplaces that have API support. The Inventory API supports both fixed-price and auction items.