Download OpenAPI specification:Download
The Inventory API is used to create and manage inventory, and then to publish and manage this inventory on an eBay marketplace. There are also methods in this API that will convert eligible, active eBay listings into the Inventory API model.
Note: Please note that any eBay listing created using the Inventory API cannot be revised or relisted using the Trading API calls.
Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
This call can be used to create and/or update up to 25 new inventory item records. It is up to sellers whether they want to create a complete inventory item records right from the start, or sellers can provide only some information with the initial bulkCreateOrReplaceInventoryItem call, and then make one or more additional bulkCreateOrReplaceInventoryItem calls to complete all required fields for the inventory item records and prepare for publishing. Upon first creating inventory item records, only the SKU values are required.
In the case of updating existing inventory item records, the bulkCreateOrReplaceInventoryItem call will do a complete replacement of the existing inventory item records, so all fields that are currently defined for the inventory item record are required in that update action, regardless of whether their values changed. So, when replacing/updating an inventory item record, it is advised that the seller run a 'Get' call to retrieve the full details of the inventory item records and see all of its current values/settings before attempting to update the records. Any changes that are made to inventory item records that are part of one or more active eBay listings, a successful call will automatically update these active listings.
The key information that is set with the bulkCreateOrReplaceInventoryItem call include:
In addition to the authorization header, which is required for all eBay REST API calls, the bulkCreateOrReplaceInventoryItem call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
For those who prefer to create or update a single inventory item record, the createOrReplaceInventoryItem method can be used.
Details of the inventories with sku and locale
Array of objects (InventoryItemWithSkuLocale) The details of each inventory item that is being created or updated is passed in under this container. Up to 25 inventory item records can be created and/or updated with one bulkCreateOrReplaceInventoryItem call. |
{- "requests": [
- {
- "availability": {
- "pickupAtLocationAvailability": [
- {
- "availabilityType": "string",
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "shipToLocationAvailability": {
- "availabilityDistributions": [
- {
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "quantity": 0
}
}, - "condition": "string",
- "conditionDescription": "string",
- "locale": "string",
- "packageWeightAndSize": {
- "dimensions": {
- "height": 0,
- "length": 0,
- "unit": "string",
- "width": 0
}, - "packageType": "string",
- "weight": {
- "unit": "string",
- "value": 0
}
}, - "product": {
- "aspects": "string",
- "brand": "string",
- "description": "string",
- "ean": [
- "string"
], - "epid": "string",
- "imageUrls": [
- "string"
], - "isbn": [
- "string"
], - "mpn": "string",
- "subtitle": "string",
- "title": "string",
- "upc": [
- "string"
], - "videoIds": [
- "string"
]
}, - "sku": "string"
}
]
}{- "responses": [
- {
- "errors": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
], - "locale": "string",
- "sku": "string",
- "statusCode": 0,
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}This call retrieves up to 25 inventory item records. The SKU value of each inventory item record to retrieve is specified in the request payload.
The authorization header is the only required HTTP header for this call, and it is required for all Inventory API calls. See the HTTP request headers section for more information.
For those who prefer to retrieve only one inventory item record by SKU value, , the getInventoryItem method can be used. To retrieve all inventory item records defined on the seller's account, the getInventoryItems method can be used (with pagination control if desired).
Details of the inventories with sku and locale
Array of objects (GetInventoryItem) The seller passes in multiple SKU values under this container to retrieve multiple inventory item records. Up to 25 inventory item records can be retrieved at one time. |
{- "requests": [
- {
- "sku": "string"
}
]
}{- "responses": [
- {
- "errors": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
], - "inventoryItem": {
- "availability": {
- "pickupAtLocationAvailability": [
- {
- "availabilityType": "string",
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "shipToLocationAvailability": {
- "allocationByFormat": {
- "auction": 0,
- "fixedPrice": 0
}, - "availabilityDistributions": [
- {
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "quantity": 0
}
}, - "condition": "string",
- "conditionDescription": "string",
- "inventoryItemGroupKeys": [
- "string"
], - "locale": "string",
- "packageWeightAndSize": {
- "dimensions": {
- "height": 0,
- "length": 0,
- "unit": "string",
- "width": 0
}, - "packageType": "string",
- "weight": {
- "unit": "string",
- "value": 0
}
}, - "product": {
- "aspects": "string",
- "brand": "string",
- "description": "string",
- "ean": [
- "string"
], - "epid": "string",
- "imageUrls": [
- "string"
], - "isbn": [
- "string"
], - "mpn": "string",
- "subtitle": "string",
- "title": "string",
- "upc": [
- "string"
], - "videoIds": [
- "string"
]
}, - "sku": "string"
}, - "sku": "string",
- "statusCode": 0,
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}This call is used by the seller to update the total ship-to-home quantity of one inventory item, and/or to update the price and/or quantity of one or more offers associated with one inventory item. Up to 25 offers associated with an inventory item may be updated with one bulkUpdatePriceQuantity call. Only one SKU (one product) can be updated per call.
Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
The getOffers call can be used to retrieve all offers associated with a SKU. The seller will just pass in the correct SKU value through the sku query parameter. To update an offer, the offerId value is required, and this value is returned in the getOffers call response. It is also useful to know which offers are unpublished and which ones are published. To get this status, look for the status value in the getOffers call response. Offers in the published state are live eBay listings, and these listings will be revised with a successful bulkUpdatePriceQuantity call.
An issue will occur if duplicate offerId values are passed through the same offers container, or if one or more of the specified offers are associated with different products/SKUs.
Note: For multiple-variation listings, it is recommended that the bulkUpdatePriceQuantity call be used to update price and quantity information for each SKU within that multiple-variation listing instead of using createOrReplaceInventoryItem calls to update the price and quantity for each SKU. Just remember that only one SKU (one product variation) can be updated per call.
The authorization header is the only required HTTP header for this call. See the HTTP request headers section for more information.
Price and allocation details for the given SKU and Marketplace
Array of objects (PriceQuantity) This container is used by the seller to update the total 'ship-to-home' quantity of one or more inventory items (up to 25) and/or to update the price and/or quantity of one or more specific published offers. |
{- "requests": [
- {
- "offers": [
- {
- "availableQuantity": 0,
- "offerId": "string",
- "price": {
- "currency": "string",
- "value": "string"
}
}
], - "shipToLocationAvailability": {
- "availabilityDistributions": [
- {
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "quantity": 0
}, - "sku": "string"
}
]
}{- "responses": [
- {
- "errors": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
], - "offerId": "string",
- "sku": "string",
- "statusCode": 0,
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}This call retrieves the inventory item record for a given SKU. The SKU value is passed in at the end of the call URI. There is no request payload for this call.
The authorization header is the only required HTTP header for this call, and it is required for all Inventory API calls. See the HTTP request headers section for more information.
For those who prefer to retrieve numerous inventory item records by SKU value with one call (up to 25 at a time), the bulkGetInventoryItem method can be used. To retrieve all inventory item records defined on the seller's account, the getInventoryItems method can be used (with pagination control if desired).
| sku required | string This is the seller-defined SKU value of the product whose inventory item record you wish to retrieve. |
{- "availability": {
- "pickupAtLocationAvailability": [
- {
- "availabilityType": "string",
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "shipToLocationAvailability": {
- "allocationByFormat": {
- "auction": 0,
- "fixedPrice": 0
}, - "availabilityDistributions": [
- {
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "quantity": 0
}
}, - "condition": "string",
- "conditionDescription": "string",
- "groupIds": [
- "string"
], - "inventoryItemGroupKeys": [
- "string"
], - "locale": "string",
- "packageWeightAndSize": {
- "dimensions": {
- "height": 0,
- "length": 0,
- "unit": "string",
- "width": 0
}, - "packageType": "string",
- "weight": {
- "unit": "string",
- "value": 0
}
}, - "product": {
- "aspects": "string",
- "brand": "string",
- "description": "string",
- "ean": [
- "string"
], - "epid": "string",
- "imageUrls": [
- "string"
], - "isbn": [
- "string"
], - "mpn": "string",
- "subtitle": "string",
- "title": "string",
- "upc": [
- "string"
], - "videoIds": [
- "string"
]
}, - "sku": "string"
}Note: Please note that any eBay listing created using the Inventory API cannot be revised or relisted using the Trading API calls.
Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
This call creates a new inventory item record or replaces an existing inventory item record. It is up to sellers whether they want to create a complete inventory item record right from the start, or sellers can provide only some information with the initial createOrReplaceInventoryItem call, and then make one or more additional createOrReplaceInventoryItem calls to complete all required fields for the inventory item record and prepare it for publishing. Upon first creating an inventory item record, only the SKU value in the call path is required.
In the case of replacing an existing inventory item record, the createOrReplaceInventoryItem call will do a complete replacement of the existing inventory item record, so all fields that are currently defined for the inventory item record are required in that update action, regardless of whether their values changed. So, when replacing/updating an inventory item record, it is advised that the seller run a getInventoryItem call to retrieve the full inventory item record and see all of its current values/settings before attempting to update the record. And if changes are made to an inventory item that is part of one or more active eBay listings, a successful call will automatically update these eBay listings.
The key information that is set with the createOrReplaceInventoryItem call include:
In addition to the authorization header, which is required for all eBay REST API calls, the createOrReplaceInventoryItem call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
For those who prefer to create or update numerous inventory item records with one call (up to 25 at a time), the bulkCreateOrReplaceInventoryItem method can be used.
| sku required | string The seller-defined SKU value for the inventory item is required whether the seller is creating a new inventory item, or updating an existing inventory item. This SKU value is passed in at the end of the call URI. SKU values must be unique across the seller's inventory. |
| Content-Language required | string This request header sets the natural language that will be provided in the field values of the request payload. |
Details of the inventory item record.
object (Availability) This type is used to specify the quantity of the inventory item that is available for purchase if the item will be shipped to the buyer, and the quantity of the inventory item that is available for In-Store Pickup at one or more of the merchant's physical stores. In-Store Pickup is only available to large merchants selling on the US, UK, Germany, and Australia sites. | |
| condition | string This enumeration value indicates the condition of the item. Supported item condition values will vary by eBay site and category. To see which item condition values that a particular eBay category supports, use the getItemConditionPolicies method of the Metadata API. This method returns condition ID values that map to the enumeration values defined in the ConditionEnum type. The Item condition ID and name values topic in the Selling Integration Guide has a table that maps condition ID values to ConditionEnum values. The getItemConditionPolicies call reference page has more information. |
| conditionDescription | string This string field is used by the seller to more clearly describe the condition of a used inventory item, or an inventory item whose condition value is not |
object (PackageWeightAndSize) This type is used to indicate the package type, weight, and dimensions of the shipping package. Package weight and dimensions are required when calculated shipping rates are used, and weight alone is required when flat-rate shipping is used, but with a weight surcharge. See the Calculated shipping help page for more information on calculated shipping. | |
object (Product) This type is used to define the product details, such as a title, a product description, product aspects/item specifics, and links to images for the product. Optionally, in a createOrReplaceInventoryItem call, a seller can pass in an eBay Product Identifier (ePID) or a Global Trade Item Number (GTIN) value, such as an EAN, an ISBN, a UPC, to identify a product to be matched with a product in the eBay Catalog. The information in this type is also returned in the getInventoryItem, getInventoryItems, and bulkGetInventoryItem calls if defined. |
{- "availability": {
- "pickupAtLocationAvailability": [
- {
- "availabilityType": "string",
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "shipToLocationAvailability": {
- "availabilityDistributions": [
- {
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "quantity": 0
}
}, - "condition": "string",
- "conditionDescription": "string",
- "packageWeightAndSize": {
- "dimensions": {
- "height": 0,
- "length": 0,
- "unit": "string",
- "width": 0
}, - "packageType": "string",
- "weight": {
- "unit": "string",
- "value": 0
}
}, - "product": {
- "aspects": "string",
- "brand": "string",
- "description": "string",
- "ean": [
- "string"
], - "epid": "string",
- "imageUrls": [
- "string"
], - "isbn": [
- "string"
], - "mpn": "string",
- "subtitle": "string",
- "title": "string",
- "upc": [
- "string"
], - "videoIds": [
- "string"
]
}
}{- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}This call is used to delete an inventory item record associated with a specified SKU. A successful call will not only delete that inventory item record, but will also have the following effects:
The authorization header is the only required HTTP header for this call. See the HTTP request headers section for more information.
| sku required | string This is the seller-defined SKU value of the product whose inventory item record you wish to delete. |
This call retrieves all inventory item records defined for the seller's account. The limit query parameter allows the seller to control how many records are returned per page, and the offset query parameter is used to retrieve a specific page of records. The seller can make multiple calls to scan through multiple pages of records. There is no request payload for this call.
The authorization header is the only required HTTP header for this call, and it is required for all Inventory API calls. See the HTTP request headers section for more information.
For those who prefer to retrieve numerous inventory item records by SKU value with one call (up to 25 at a time), the bulkGetInventoryItem method can be used.
| limit | string The value passed in this query parameter sets the maximum number of records to return per page of data. Although this field is a string, the value passed in this field should be an integer from |
| offset | string The value passed in this query parameter sets the page number to retrieve. The first page of records has a value of |
{- "href": "string",
- "inventoryItems": [
- {
- "availability": {
- "pickupAtLocationAvailability": [
- {
- "availabilityType": "string",
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "shipToLocationAvailability": {
- "allocationByFormat": {
- "auction": 0,
- "fixedPrice": 0
}, - "availabilityDistributions": [
- {
- "fulfillmentTime": {
- "unit": "string",
- "value": 0
}, - "merchantLocationKey": "string",
- "quantity": 0
}
], - "quantity": 0
}
}, - "condition": "string",
- "conditionDescription": "string",
- "groupIds": [
- "string"
], - "inventoryItemGroupKeys": [
- "string"
], - "locale": "string",
- "packageWeightAndSize": {
- "dimensions": {
- "height": 0,
- "length": 0,
- "unit": "string",
- "width": 0
}, - "packageType": "string",
- "weight": {
- "unit": "string",
- "value": 0
}
}, - "product": {
- "aspects": "string",
- "brand": "string",
- "description": "string",
- "ean": [
- "string"
], - "epid": "string",
- "imageUrls": [
- "string"
], - "isbn": [
- "string"
], - "mpn": "string",
- "subtitle": "string",
- "title": "string",
- "upc": [
- "string"
], - "videoIds": [
- "string"
]
}, - "sku": "string"
}
], - "limit": 0,
- "next": "string",
- "prev": "string",
- "size": 0,
- "total": 0
}This call is used by the seller to retrieve the list of products that are compatible with the inventory item. The SKU value for the inventory item is passed into the call URI, and a successful call with return the compatible vehicle list associated with this inventory item. Product compatibility is currently only applicable to motor vehicle parts and accessory categories, but more categories may be supported in the future.
| sku required | string A SKU (stock keeping unit) is an unique identifier defined by a seller for a product |
{- "compatibleProducts": [
- {
- "compatibilityProperties": [
- {
- "name": "string",
- "value": "string"
}
], - "notes": "string",
- "productFamilyProperties": {
- "engine": "string",
- "make": "string",
- "model": "string",
- "trim": "string",
- "year": "string"
}, - "productIdentifier": {
- "epid": "string",
- "gtin": "string",
- "ktype": "string"
}
}
], - "sku": "string"
}This call is used by the seller to create or replace a list of products that are compatible with the inventory item. The inventory item is identified with a SKU value in the URI. Product compatibility is currently only applicable to motor vehicle parts and accessory categories, but more categories may be supported in the future.
In addition to the authorization header, which is required for all eBay REST API calls, the createOrReplaceProductCompatibility call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
| sku required | string A SKU (stock keeping unit) is an unique identifier defined by a seller for a product |
| Content-Language required | string This request header sets the natural language that will be provided in the field values of the request payload. |
Details of the compatibility
Array of objects (CompatibleProduct) This container consists of an array of motor vehicles (make, model, year, trim, engine) that are compatible with the motor vehicle part or accessory specified by the sku value. | |
| sku | string This is the seller-defined SKU value of the inventory item that will be associated with the compatible vehicles. This field is not applicable to the createOrReplaceProductCompatibility call, but it is always returned with the getProductCompatibility call. For the createOrReplaceProductCompatibility call, the SKU value for the inventory item is actually passed in as part of the call URI, and not in the request payload. |
{- "compatibleProducts": [
- {
- "compatibilityProperties": [
- {
- "name": "string",
- "value": "string"
}
], - "notes": "string",
- "productFamilyProperties": {
- "engine": "string",
- "make": "string",
- "model": "string",
- "trim": "string",
- "year": "string"
}, - "productIdentifier": {
- "epid": "string",
- "gtin": "string",
- "ktype": "string"
}
}
], - "sku": "string"
}{- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}This call is used by the seller to delete the list of products that are compatible with the inventory item that is associated with the compatible product list. The inventory item is identified with a SKU value in the URI. Product compatibility is currently only applicable to motor vehicle parts and accessory categories, but more categories may be supported in the future.
| sku required | string A SKU (stock keeping unit) is an unique identifier defined by a seller for a product |
This call retrieves the inventory item group for a given inventoryItemGroupKey value. The inventoryItemGroupKey value is passed in at the end of the call URI.
| inventoryItemGroupKey required | string The unique identifier of an inventory item group. This value is assigned by the seller when an inventory item group is created. The inventoryItemGroupKey value for the inventory item group to retrieve is passed in at the end of the call URI. |
{- "aspects": "string",
- "description": "string",
- "imageUrls": [
- "string"
], - "inventoryItemGroupKey": "string",
- "subtitle": "string",
- "title": "string",
- "variantSKUs": [
- "string"
], - "variesBy": {
- "aspectsImageVariesBy": [
- "string"
], - "specifications": [
- {
- "name": "string",
- "values": [
- "string"
]
}
]
}, - "videoIds": [
- "string"
]
}Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
This call creates a new inventory item group or updates an existing inventory item group. It is up to sellers whether they want to create a complete inventory item group record right from the start, or sellers can provide only some information with the initial createOrReplaceInventoryItemGroup call, and then make one or more additional createOrReplaceInventoryItemGroup calls to complete the inventory item group record. Upon first creating an inventory item group record, the only required elements are the inventoryItemGroupKey identifier in the call URI, and the members of the inventory item group specified through the variantSKUs array in the request payload.
In the case of updating/replacing an existing inventory item group, this call does a complete replacement of the existing inventory item group record, so all fields (including the member SKUs) that make up the inventory item group are required, regardless of whether their values changed. So, when replacing/updating an inventory item group record, it is advised that the seller run a getInventoryItemGroup call for that inventory item group to see all of its current values/settings/members before attempting to update the record. And if changes are made to an inventory item group that is part of a live, multiple-variation eBay listing, these changes automatically update the eBay listing. For example, if a SKU value is removed from the inventory item group, the corresponding product variation will be removed from the eBay listing as well.
In addition to the required inventory item group identifier and member SKUs, other key information that is set with this call include:
In addition to the authorization header, which is required for all eBay REST API calls, the createOrReplaceInventoryItemGroup call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
| inventoryItemGroupKey required | string Unique identifier of the inventory item group. This identifier is supplied by the seller. The inventoryItemGroupKey value for the inventory item group to create/update is passed in at the end of the call URI. This value cannot be changed once it is set. |
| Content-Language required | string This request header sets the natural language that will be provided in the field values of the request payload. |
Details of the inventory Item Group
| aspects | string This is a collection of item specifics (aka product aspects) name-value pairs that are shared by all product variations within the inventory item group. Common aspects for the inventory item group are not immediately required upon creating an inventory item group, but these aspects will be required before the first offer of the group is published. Common aspects for a men's t-shirt might be pattern and sleeve length. Below is an example of the proper JSON syntax to use when manually inputting item specifics. Note that one item specific name, such as 'Features', can have more than one value. If an item specific name has more than one value, each value is delimited with a comma. This container is always returned if one or more offers associated with the inventory item group have been published, and is only returned if set for an inventory item group if that group has yet to have any offers published. |
| description | string The description of the inventory item group. This description should fully describe the product and the variations of the product that are available in the inventory item group, since this description will ultimately become the listing description once the first offer of the group is published. This field is not initially required when first creating an inventory item group, but will be required before the first offer of the group is published. |
| imageUrls | Array of strings An array of one or more links to images for the inventory item group. URLs must use the "HTTPS" protocol. Images can be self-hosted by the seller, or sellers can use the UploadSiteHostedPictures call of the Trading API to upload images to an eBay Picture Server. If successful, the response of the UploadSiteHostedPictures call will contain a full URL to the image on an eBay Picture Server. This is the URL that will be passed in through the imageUrls array. |
| inventoryItemGroupKey | string This is the unique identifier of the inventory item group. This identifier is created by the seller when an inventory item group is created. This field is only applicable to the getInventoryItemGroup call and not to the createOrReplaceInventoryItemGroup call. In the createOrReplaceInventoryItemGroup call, the inventoryItemGroupKey value is passed into the end of the call URI instead. |
| subtitle | string A subtitle is an optional listing feature that allows the seller to provide more information about the product, possibly including keywords that may assist with search results. An additional listing fee will be charged to the seller if a subtitle is used. For more information on using listing subtitles on the US site, see the Adding a subtitle to your listings help page. |
| title | string The title of the inventory item group. This title will ultimately become the listing title once the first offer of the group is published. This field is not initially required when first creating an inventory item group, but will be required before the first offer of the group is published. |
| variantSKUs | Array of strings This required container is used to assign individual inventory items to the inventory item group. Multiple SKU values are passed in to this container. If updating an existing inventory item group, the seller should make sure that all member SKU values are passed in, as long as the seller wants that SKU to remain in the group. |
object (VariesBy) This type is used to specify the product aspect(s) where individual items of the group vary, as well as a list of the available variations of those aspects. | |
| videoIds | Array of strings An array of one or more VideoId values for the inventory item group. A VideoId is a unique identifier that is automatically created by eBay when a seller successfully uploads a video to eBay using the uploadVideo method of the Media API. |
{- "aspects": "string",
- "description": "string",
- "imageUrls": [
- "string"
], - "inventoryItemGroupKey": "string",
- "subtitle": "string",
- "title": "string",
- "variantSKUs": [
- "string"
], - "variesBy": {
- "aspectsImageVariesBy": [
- "string"
], - "specifications": [
- {
- "name": "string",
- "values": [
- "string"
]
}
]
}, - "videoIds": [
- "string"
]
}{- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}This call deletes the inventory item group for a given inventoryItemGroupKey value.
| inventoryItemGroupKey required | string The unique identifier of an inventory item group. This value is assigned by the seller when an inventory item group is created. The inventoryItemGroupKey value for the inventory item group to delete is passed in at the end of the call URI. |
This call is used to convert existing eBay Listings to the corresponding Inventory API objects. If an eBay listing is successfully migrated to the Inventory API model, new Inventory Location, Inventory Item, and Offer objects are created. For a multiple-variation listing that is successfully migrated, in addition to the three new Inventory API objects just mentioned, an Inventory Item Group object will also be created. If the eBay listing is a motor vehicle part or accessory listing with a compatible vehicle list (ItemCompatibilityList container in Trading API's Add/Revise/Relist/Verify calls), a Product Compatibility object will be created.
Note: Auction listings are supported by the Inventory API, but the bulkMigrateListing method cannot be used to migrate auction listings.
Details of the listings that needs to be migrated into Inventory
Array of objects (MigrateListing) This is the base container of the bulkMigrateListings request payload. One to five eBay listings will be included under this container. |
{- "requests": [
- {
- "listingId": "string"
}
]
}{- "responses": [
- {
- "errors": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
], - "inventoryItemGroupKey": "string",
- "inventoryItems": [
- {
- "offerId": "string",
- "sku": "string"
}
], - "listingId": "string",
- "marketplaceId": "string",
- "statusCode": 0,
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}This call creates multiple offers (up to 25) for specific inventory items on a specific eBay marketplace. Although it is not a requirement for the seller to create complete offers (with all necessary details) right from the start, eBay recommends that the seller provide all necessary details with this call since there is currently no bulk operation available to update multiple offers with one call. The following fields are always required in the request payload: sku, marketplaceId, and (listing) format.
Other information that will be required before a offer can be published are highlighted below:
Note: Though the includeCatalogProductDetails parameter is not required to be submitted in the request, the parameter defaults to true if omitted.
If the call is successful, unique offerId values are returned in the response for each successfully created offer. The offerId value will be required for many other offer-related calls. Note that this call only stages an offer for publishing. The seller must run either the publishOffer, bulkPublishOffer, or publishOfferByInventoryItemGroup call to convert offer(s) into an active single- or multiple-variation listing.
In addition to the authorization header, which is required for all eBay REST API calls, the bulkCreateOffer call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
For those who prefer to create a single offer per call, the createOffer method can be used instead.
Details of the offer for the channel
Array of objects (EbayOfferDetailsWithKeys) The details of each offer that is being created is passed in under this container. Up to 25 offers can be created with one bulkCreateOffer call. |
{- "requests": [
- {
- "availableQuantity": 0,
- "categoryId": "string",
- "charity": {
- "charityId": "string",
- "donationPercentage": "string"
}, - "extendedProducerResponsibility": {
- "producerProductId": "string",
- "productPackageId": "string",
- "shipmentPackageId": "string",
- "productDocumentationId": "string",
- "ecoParticipationFee": {
- "currency": "string",
- "value": "string"
}
}, - "format": "string",
- "hideBuyerDetails": true,
- "includeCatalogProductDetails": true,
- "listingDescription": "string",
- "listingDuration": "string",
- "listingPolicies": {
- "bestOfferTerms": {
- "autoAcceptPrice": {
- "currency": "string",
- "value": "string"
}, - "autoDeclinePrice": {
- "currency": "string",
- "value": "string"
}, - "bestOfferEnabled": true
}, - "eBayPlusIfEligible": true,
- "fulfillmentPolicyId": "string",
- "paymentPolicyId": "string",
- "productCompliancePolicyIds": [
- "string"
], - "returnPolicyId": "string",
- "shippingCostOverrides": [
- {
- "additionalShippingCost": {
- "currency": "string",
- "value": "string"
}, - "priority": 0,
- "shippingCost": {
- "currency": "string",
- "value": "string"
}, - "shippingServiceType": "string",
- "surcharge": {
- "currency": "string",
- "value": "string"
}
}
], - "takeBackPolicyId": "string"
}, - "listingStartDate": "string",
- "lotSize": 0,
- "marketplaceId": "string",
- "merchantLocationKey": "string",
- "pricingSummary": {
- "auctionReservePrice": {
- "currency": "string",
- "value": "string"
}, - "auctionStartPrice": {
- "currency": "string",
- "value": "string"
}, - "minimumAdvertisedPrice": {
- "currency": "string",
- "value": "string"
}, - "originallySoldForRetailPriceOn": "string",
- "originalRetailPrice": {
- "currency": "string",
- "value": "string"
}, - "price": {
- "currency": "string",
- "value": "string"
}, - "pricingVisibility": "string"
}, - "quantityLimitPerBuyer": 0,
- "secondaryCategoryId": "string",
- "sku": "string",
- "storeCategoryNames": [
- "string"
], - "tax": {
- "applyTax": true,
- "thirdPartyTaxCategory": "string",
- "vatPercentage": 0
}
}
]
}{- "responses": [
- {
- "errors": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
], - "format": "string",
- "marketplaceId": "string",
- "offerId": "string",
- "sku": "string",
- "statusCode": 0,
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
This call is used to convert unpublished offers (up to 25) into published offers, or live eBay listings. The unique identifier (offerId) of each offer to publlish is passed into the request payload. It is possible that some unpublished offers will be successfully created into eBay listings, but others may fail. The response payload will show the results for each offerId value that is passed into the request payload. The errors and warnings containers will be returned for an offer that had one or more issues being published.
For those who prefer to publish one offer per call, the publishOffer method can be used instead. In the case of a multiple-variation listing, the publishOfferByInventoryItemGroup call should be used instead, as this call will convert all unpublished offers associated with an inventory item group into a multiple-variation listing.
The base request of the bulkPublishOffer method.
Array of objects (OfferKeyWithId) This container is used to pass in an array of offers to publish. Up to 25 offers can be published with one bulkPublishOffer method. |
{- "requests": [
- {
- "offerId": "string"
}
]
}{- "responses": [
- {
- "errors": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
], - "listingId": "string",
- "offerId": "string",
- "statusCode": 0,
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}This call retrieves all existing offers for the specified SKU value. The seller has the option of limiting the offers that are retrieved to a specific eBay marketplace, or to a listing format.
Note: At this time, the same SKU value can not be offered across multiple eBay marketplaces, and the only supported listing format is fixed-price, so the marketplace_id and format query parameters currently do not have any practical use for this call.
The authorization header is the only required HTTP header for this call. See the HTTP request headers section for more information.
| format | string This enumeration value sets the listing format for the offer. This query parameter will be passed in if the seller only wants to see offers in this specified listing format. |
| limit | string The value passed in this query parameter sets the maximum number of records to return per page of data. Although this field is a string, the value passed in this field should be a positive integer value. If this query parameter is not set, up to 100 records will be returned on each page of results. |
| marketplace_id | string The unique identifier of the eBay marketplace. This query parameter will be passed in if the seller only wants to see the product's offers on a specific eBay marketplace. |
| offset | string The value passed in this query parameter sets the page number to retrieve. Although this field is a string, the value passed in this field should be a integer value equal to or greater than |
| sku | string The seller-defined SKU value is passed in as a query parameter. All offers associated with this product are returned in the response. |
{- "href": "string",
- "limit": 0,
- "next": "string",
- "offers": [
- {
- "availableQuantity": 0,
- "categoryId": "string",
- "charity": {
- "charityId": "string",
- "donationPercentage": "string"
}, - "extendedProducerResponsibility": {
- "producerProductId": "string",
- "productPackageId": "string",
- "shipmentPackageId": "string",
- "productDocumentationId": "string",
- "ecoParticipationFee": {
- "currency": "string",
- "value": "string"
}
}, - "format": "string",
- "hideBuyerDetails": true,
- "includeCatalogProductDetails": true,
- "listing": {
- "listingId": "string",
- "listingStatus": "string",
- "soldQuantity": 0
}, - "listingDescription": "string",
- "listingDuration": "string",
- "listingPolicies": {
- "bestOfferTerms": {
- "autoAcceptPrice": {
- "currency": "string",
- "value": "string"
}, - "autoDeclinePrice": {
- "currency": "string",
- "value": "string"
}, - "bestOfferEnabled": true
}, - "eBayPlusIfEligible": true,
- "fulfillmentPolicyId": "string",
- "paymentPolicyId": "string",
- "productCompliancePolicyIds": [
- "string"
], - "returnPolicyId": "string",
- "shippingCostOverrides": [
- {
- "additionalShippingCost": {
- "currency": "string",
- "value": "string"
}, - "priority": 0,
- "shippingCost": {
- "currency": "string",
- "value": "string"
}, - "shippingServiceType": "string",
- "surcharge": {
- "currency": "string",
- "value": "string"
}
}
], - "takeBackPolicyId": "string"
}, - "listingStartDate": "string",
- "lotSize": 0,
- "marketplaceId": "string",
- "merchantLocationKey": "string",
- "offerId": "string",
- "pricingSummary": {
- "auctionReservePrice": {
- "currency": "string",
- "value": "string"
}, - "auctionStartPrice": {
- "currency": "string",
- "value": "string"
}, - "minimumAdvertisedPrice": {
- "currency": "string",
- "value": "string"
}, - "originallySoldForRetailPriceOn": "string",
- "originalRetailPrice": {
- "currency": "string",
- "value": "string"
}, - "price": {
- "currency": "string",
- "value": "string"
}, - "pricingVisibility": "string"
}, - "quantityLimitPerBuyer": 0,
- "secondaryCategoryId": "string",
- "sku": "string",
- "status": "string",
- "storeCategoryNames": [
- "string"
], - "tax": {
- "applyTax": true,
- "thirdPartyTaxCategory": "string",
- "vatPercentage": 0
}
}
], - "prev": "string",
- "size": 0,
- "total": 0
}This call creates an offer for a specific inventory item on a specific eBay marketplace. It is up to the sellers whether they want to create a complete offer (with all necessary details) right from the start, or sellers can provide only some information with the initial createOffer call, and then make one or more subsequent updateOffer calls to complete the offer and prepare to publish the offer. Upon first creating an offer, the following fields are required in the request payload: sku, marketplaceId, and (listing) format.
Other information that will be required before an offer can be published are highlighted below. These settings are either set with createOffer, or they can be set with a subsequent updateOffer call:
Note: Though the includeCatalogProductDetails parameter is not required to be submitted in the request, the parameter defaults to true if omitted.
If the call is successful, a unique offerId value is returned in the response. This value will be required for many other offer-related calls. Note that this call only stages an offer for publishing. The seller must run the publishOffer call to convert the offer to an active eBay listing.
In addition to the authorization header, which is required for all eBay REST API calls, the createOffer call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
For those who prefer to create multiple offers (up to 25 at a time) with one call, the bulkCreateOffer method can be used.
| Content-Language required | string This request header sets the natural language that will be provided in the field values of the request payload. |
Details of the offer for the channel
| availableQuantity | integer This integer value sets the quantity of the inventory item (specified by the sku value) that will be available for purchase by buyers shopping on the eBay site specified in the marketplaceId field. Quantity must be set to |
| categoryId | string The unique identifier of the eBay category that the product will be listed under. This field is not immediately required upon creating an offer, but will be required before publishing the offer. Sellers can use the getCategorySuggestions method of the Taxonomy API to retrieve suggested category ID values. The seller passes in a query string like "iPhone 6", and category ID values for suggested categories are returned in the response. |
object (Charity) This type is used to identify the charitable organization associated with the listing, and the percentage of the sale proceeds that the charitable organization will receive for each sale generated by the listing. | |
object (ExtendedProducerResponsibility) This type provides IDs for the producer or importer related to the new item, packaging, added documentation, or an eco-participation fee. In some markets, such as in France, this may be the importer of the item. | |
| format | string This enumerated value indicates the listing format of the offer. |
| hideBuyerDetails | boolean This field is included and set to |
| includeCatalogProductDetails | boolean This field indicates whether or not eBay product catalog details are applied to a listing. A value of Note: Though the includeCatalogProductDetails parameter is not required to be submitted in the request, the parameter defaults to |
| listingDescription | string The text in this field is (published offers), or will become (unpublished offers) the description of the eBay listing. This field is not immediately required for an unpublished offer, but will be required before publishing the offer. Note that if the listingDescription field was omitted in the createOffer call for the offer, the offer entity should have picked up the text provided in the product.description field of the inventory item record, or if the inventory item is part of a group, the offer entity should have picked up the text provided in the description field of the inventory item group record. |
| listingDuration | string This field indicates the number of days that the listing will be active. For fixed-price listings, this value must be set to |
object (ListingPolicies) This type is used to identify business policies including payment, return, and fulfillment policies, and also to identify custom policies. These policies are, or will be, associated with the listing. Every published offer must have a payment, return, and fulfillment business policy associated with it. This type is also used to override the shipping costs of one or more shipping service options that are associated with the fulfillment policy, to enable eBay Plus eligibility for a listing, or to enable the Best Offer feature on the listing. | |
| listingStartDate | string This field can be used if the seller wants to specify a time in the future that the listing will become active on eBay. The timestamp supplied in this field should be in UTC format, and it should be far enough in the future so that the seller will have enought time to publish the listing with the publishOffer method. |
| lotSize | integer This field is only applicable if the listing is a lot listing. A lot listing is a listing that has multiple quantity of the same item, such as four identical tires being sold as a single offer, or it can be a mixed lot of similar items, such as used clothing items or an assortment of baseball cards. Whether the lot listing involved identical items or a mixed lot, the integer value passed into this field is the total number of items in the lot. Lots can be used for auction and fixed-price listings. |
| marketplaceId | string This enumeration value is the unique identifier of the eBay site for which the offer will be made available. See MarketplaceEnum for the list of supported enumeration values. This field is required. For implementation help, refer to eBay API documentation |
| merchantLocationKey | string The unique identifier of a merchant's inventory location (where the inventory item in the offer is located). A merchantLocationKey value is established when the merchant creates an inventory location using the createInventoryLocation call. To get more information about inventory locations, the getInventoryLocation call can be used. |
object (PricingSummary) This type is used to specify the listing price for the product and settings for the Minimum Advertised Price and Strikethrough Pricing features. The price field must be supplied before an offer is published, but a seller may create an offer without supplying a price initially. The Minimum Advertised Price feature is only available on the US site. Strikethrough Pricing is available on the US, eBay Motors, UK, Germany, Canada (English and French), France, Italy, and Spain sites. | |
| quantityLimitPerBuyer | integer This field is only applicable and set if the seller wishes to set a restriction on the purchase quantity per seller. If this field is set by the seller for the offer, then each distinct buyer may purchase up to, but not exceed the quantity specified for this field. So, if this field's value is |
| secondaryCategoryId | string The unique identifier for a secondary category. This field is applicable if the seller decides to list the item under two categories. Sellers can use the getCategorySuggestions method of the Taxonomy API to retrieve suggested category ID values. A fee may be charged when adding a secondary category to a listing. |
| sku | string This is the seller-defined SKU value of the product that will be listed on the eBay site (specified in the marketplaceId field). Only one offer (in unpublished or published state) may exist for each sku/marketplaceId/format combination. This field is required. |
| storeCategoryNames | Array of strings This container is used if the seller would like to place the inventory item into one or two eBay store categories that the seller has set up for their eBay store. The string value(s) passed in to this container will be the full path(s) to the eBay store categories, as shown below:
|
object (Tax) This type is used to enable the use of a sales tax table, to pass in a tax exception category code, or to specify a VAT percentage. |
{- "availableQuantity": 0,
- "categoryId": "string",
- "charity": {
- "charityId": "string",
- "donationPercentage": "string"
}, - "extendedProducerResponsibility": {
- "producerProductId": "string",
- "productPackageId": "string",
- "shipmentPackageId": "string",
- "productDocumentationId": "string",
- "ecoParticipationFee": {
- "currency": "string",
- "value": "string"
}
}, - "format": "string",
- "hideBuyerDetails": true,
- "includeCatalogProductDetails": true,
- "listingDescription": "string",
- "listingDuration": "string",
- "listingPolicies": {
- "bestOfferTerms": {
- "autoAcceptPrice": {
- "currency": "string",
- "value": "string"
}, - "autoDeclinePrice": {
- "currency": "string",
- "value": "string"
}, - "bestOfferEnabled": true
}, - "eBayPlusIfEligible": true,
- "fulfillmentPolicyId": "string",
- "paymentPolicyId": "string",
- "productCompliancePolicyIds": [
- "string"
], - "returnPolicyId": "string",
- "shippingCostOverrides": [
- {
- "additionalShippingCost": {
- "currency": "string",
- "value": "string"
}, - "priority": 0,
- "shippingCost": {
- "currency": "string",
- "value": "string"
}, - "shippingServiceType": "string",
- "surcharge": {
- "currency": "string",
- "value": "string"
}
}
], - "takeBackPolicyId": "string"
}, - "listingStartDate": "string",
- "lotSize": 0,
- "marketplaceId": "string",
- "merchantLocationKey": "string",
- "pricingSummary": {
- "auctionReservePrice": {
- "currency": "string",
- "value": "string"
}, - "auctionStartPrice": {
- "currency": "string",
- "value": "string"
}, - "minimumAdvertisedPrice": {
- "currency": "string",
- "value": "string"
}, - "originallySoldForRetailPriceOn": "string",
- "originalRetailPrice": {
- "currency": "string",
- "value": "string"
}, - "price": {
- "currency": "string",
- "value": "string"
}, - "pricingVisibility": "string"
}, - "quantityLimitPerBuyer": 0,
- "secondaryCategoryId": "string",
- "sku": "string",
- "storeCategoryNames": [
- "string"
], - "tax": {
- "applyTax": true,
- "thirdPartyTaxCategory": "string",
- "vatPercentage": 0
}
}{- "offerId": "string",
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}This call retrieves a specific published or unpublished offer. The unique identifier of the offer (offerId) is passed in at the end of the call URI.
The authorization header is the only required HTTP header for this call. See the HTTP request headers section for more information.
| offerId required | string The unique identifier of the offer that is to be retrieved. |
{- "availableQuantity": 0,
- "categoryId": "string",
- "charity": {
- "charityId": "string",
- "donationPercentage": "string"
}, - "extendedProducerResponsibility": {
- "producerProductId": "string",
- "productPackageId": "string",
- "shipmentPackageId": "string",
- "productDocumentationId": "string",
- "ecoParticipationFee": {
- "currency": "string",
- "value": "string"
}
}, - "format": "string",
- "hideBuyerDetails": true,
- "includeCatalogProductDetails": true,
- "listing": {
- "listingId": "string",
- "listingStatus": "string",
- "soldQuantity": 0
}, - "listingDescription": "string",
- "listingDuration": "string",
- "listingPolicies": {
- "bestOfferTerms": {
- "autoAcceptPrice": {
- "currency": "string",
- "value": "string"
}, - "autoDeclinePrice": {
- "currency": "string",
- "value": "string"
}, - "bestOfferEnabled": true
}, - "eBayPlusIfEligible": true,
- "fulfillmentPolicyId": "string",
- "paymentPolicyId": "string",
- "productCompliancePolicyIds": [
- "string"
], - "returnPolicyId": "string",
- "shippingCostOverrides": [
- {
- "additionalShippingCost": {
- "currency": "string",
- "value": "string"
}, - "priority": 0,
- "shippingCost": {
- "currency": "string",
- "value": "string"
}, - "shippingServiceType": "string",
- "surcharge": {
- "currency": "string",
- "value": "string"
}
}
], - "takeBackPolicyId": "string"
}, - "listingStartDate": "string",
- "lotSize": 0,
- "marketplaceId": "string",
- "merchantLocationKey": "string",
- "offerId": "string",
- "pricingSummary": {
- "auctionReservePrice": {
- "currency": "string",
- "value": "string"
}, - "auctionStartPrice": {
- "currency": "string",
- "value": "string"
}, - "minimumAdvertisedPrice": {
- "currency": "string",
- "value": "string"
}, - "originallySoldForRetailPriceOn": "string",
- "originalRetailPrice": {
- "currency": "string",
- "value": "string"
}, - "price": {
- "currency": "string",
- "value": "string"
}, - "pricingVisibility": "string"
}, - "quantityLimitPerBuyer": 0,
- "secondaryCategoryId": "string",
- "sku": "string",
- "status": "string",
- "storeCategoryNames": [
- "string"
], - "tax": {
- "applyTax": true,
- "thirdPartyTaxCategory": "string",
- "vatPercentage": 0
}
}This call updates an existing offer. An existing offer may be in published state (active eBay listing), or in an unpublished state and yet to be published with the publishOffer call. The unique identifier (offerId) for the offer to update is passed in at the end of the call URI.
The updateOffer call does a complete replacement of the existing offer object, so all fields that make up the current offer object are required, regardless of whether their values changed.
Other information that is required before an unpublished offer can be published or before a published offer can be revised include:
Note: Though the includeCatalogProductDetails parameter is not required to be submitted in the request, the parameter defaults to true if omitted from both the updateOffer and the createOffer calls. If a value is specified in the updateOffer call, this value will be used.
Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
For published offers, the listingDescription field is also required to update the offer/eBay listing. For unpublished offers, this field is not necessarily required unless it is already set for the unpublished offer.
In addition to the authorization header, which is required for all eBay REST API calls, the updateOffer call also requires the Content-Language header, that sets the natural language that will be used in the field values of the request payload. For US English, the code value passed in this header should be en-US. To view other supported Content-Language values, and to read more about all supported HTTP headers for eBay REST API calls, see the HTTP request headers topic in the Using eBay RESTful APIs document.
| offerId required | string The unique identifier of the offer that is being updated. This identifier is passed in at the end of the call URI. |
| Content-Language required | string This request header sets the natural language that will be provided in the field values of the request payload. |
Details of the offer for the channel
| availableQuantity | integer This integer value sets the quantity of the inventory item that will be available through the offer. Quantity must be set to |
| categoryId | string The unique identifier of the eBay category that the inventory item is/will be listed under. This field is not immediately required for an unpublished offer, but will be required before publishing the offer. Sellers can use the getCategorySuggestions method of the Taxonomy API to retrieve suggested category ID values. The seller passes in a query string like "iPhone 6", and category ID values for suggested categories are returned in the response. |
object (Charity) This type is used to identify the charitable organization associated with the listing, and the percentage of the sale proceeds that the charitable organization will receive for each sale generated by the listing. | |
object (ExtendedProducerResponsibility) This type provides IDs for the producer or importer related to the new item, packaging, added documentation, or an eco-participation fee. In some markets, such as in France, this may be the importer of the item. | |
| hideBuyerDetails | boolean This field is included and set to |
| includeCatalogProductDetails | boolean This field indicates whether or not eBay product catalog details are applied to a listing. A value of Note: Though the includeCatalogProductDetails parameter is not required to be submitted in the request, the parameter defaults to 'true' if omitted. |
| listingDescription | string The text in this field is (published offers), or will become (unpublished offers) the description of the eBay listing. This field is not immediately required for an unpublished offer, but will be required before publishing the offer. Note that if the listingDescription field was omitted in the createOffer call for the offer, the offer entity should have picked up the text provided in the product.description field of the inventory item record, or if the inventory item is part of a group, the offer entity should have picked up the text provided in the description field of the inventory item group record. |
| listingDuration | string This field indicates the number of days that the listing will be active. For fixed-price listings, this value must be set to |
object (ListingPolicies) This type is used to identify business policies including payment, return, and fulfillment policies, and also to identify custom policies. These policies are, or will be, associated with the listing. Every published offer must have a payment, return, and fulfillment business policy associated with it. This type is also used to override the shipping costs of one or more shipping service options that are associated with the fulfillment policy, to enable eBay Plus eligibility for a listing, or to enable the Best Offer feature on the listing. | |
| listingStartDate | string This field can be used with an unpublished offer if the seller wants to specify a time in the future that the listing will become active on eBay. The timestamp supplied in this field should be in UTC format, and it should be far enough in the future so that the seller will have enough time to publish the listing with the publishOffer method. |
| lotSize | integer This field is only applicable if the listing is a lot listing. A lot listing is a listing that has multiple quantity of the same item, such as four identical tires being sold as a single offer, or it can be a mixed lot of similar items, such as used clothing items or an assortment of baseball cards. Whether the lot listing involved identical items or a mixed lot, the integer value passed into this field is the total number of items in the lot. Lots can be used for auction and fixed-price listings. |
| merchantLocationKey | string The unique identifier of a merchant's inventory location (where the inventory item in the offer is located). A merchantLocationKey value is established when the merchant creates an inventory location using the createInventoryLocation call. To get more information about inventory locations, the getInventoryLocation call can be used. |
object (PricingSummary) This type is used to specify the listing price for the product and settings for the Minimum Advertised Price and Strikethrough Pricing features. The price field must be supplied before an offer is published, but a seller may create an offer without supplying a price initially. The Minimum Advertised Price feature is only available on the US site. Strikethrough Pricing is available on the US, eBay Motors, UK, Germany, Canada (English and French), France, Italy, and Spain sites. | |
| quantityLimitPerBuyer | integer This field is only applicable and set if the seller wishes to set a restriction on the purchase quantity per seller. If this field is set by the seller for the offer, then each distinct buyer may purchase up to, but not exceeding the quantity specified for this field. So, if this field's value is |
| secondaryCategoryId | string The unique identifier for a secondary category. This field is applicable if the seller decides to list the item under two categories. Sellers can use the getCategorySuggestions method of the Taxonomy API to retrieve suggested category ID values. A fee may be charged when adding a secondary category to a listing. |
| storeCategoryNames | Array of strings This container is used if the seller would like to place the inventory item into one or two store categories that the seller has set up for their eBay store. The string value(s) passed in to this container will be the full path(s) to the store categories, as shown below: If this field currently exists for an unpublished or published offer, it should be provided again in an updateOffer call, even if the eBay categories are not changing.
|
object (Tax) This type is used to enable the use of a sales tax table, to pass in a tax exception category code, or to specify a VAT percentage. |
{- "availableQuantity": 0,
- "categoryId": "string",
- "charity": {
- "charityId": "string",
- "donationPercentage": "string"
}, - "extendedProducerResponsibility": {
- "producerProductId": "string",
- "productPackageId": "string",
- "shipmentPackageId": "string",
- "productDocumentationId": "string",
- "ecoParticipationFee": {
- "currency": "string",
- "value": "string"
}
}, - "hideBuyerDetails": true,
- "includeCatalogProductDetails": true,
- "listingDescription": "string",
- "listingDuration": "string",
- "listingPolicies": {
- "bestOfferTerms": {
- "autoAcceptPrice": {
- "currency": "string",
- "value": "string"
}, - "autoDeclinePrice": {
- "currency": "string",
- "value": "string"
}, - "bestOfferEnabled": true
}, - "eBayPlusIfEligible": true,
- "fulfillmentPolicyId": "string",
- "paymentPolicyId": "string",
- "productCompliancePolicyIds": [
- "string"
], - "returnPolicyId": "string",
- "shippingCostOverrides": [
- {
- "additionalShippingCost": {
- "currency": "string",
- "value": "string"
}, - "priority": 0,
- "shippingCost": {
- "currency": "string",
- "value": "string"
}, - "shippingServiceType": "string",
- "surcharge": {
- "currency": "string",
- "value": "string"
}
}
], - "takeBackPolicyId": "string"
}, - "listingStartDate": "string",
- "lotSize": 0,
- "merchantLocationKey": "string",
- "pricingSummary": {
- "auctionReservePrice": {
- "currency": "string",
- "value": "string"
}, - "auctionStartPrice": {
- "currency": "string",
- "value": "string"
}, - "minimumAdvertisedPrice": {
- "currency": "string",
- "value": "string"
}, - "originallySoldForRetailPriceOn": "string",
- "originalRetailPrice": {
- "currency": "string",
- "value": "string"
}, - "price": {
- "currency": "string",
- "value": "string"
}, - "pricingVisibility": "string"
}, - "quantityLimitPerBuyer": 0,
- "secondaryCategoryId": "string",
- "storeCategoryNames": [
- "string"
], - "tax": {
- "applyTax": true,
- "thirdPartyTaxCategory": "string",
- "vatPercentage": 0
}
}{- "offerId": "string",
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}If used against an unpublished offer, this call will permanently delete that offer. In the case of a published offer (or live eBay listing), a successful call will either end the single-variation listing associated with the offer, or it will remove that product variation from the eBay listing and also automatically remove that product variation from the inventory item group. In the case of a multiple-variation listing, the deleteOffer will not remove the product variation from the listing if that variation has one or more sales. If that product variation has one or more sales, the seller can alternately just set the available quantity of that product variation to 0, so it is not available in the eBay search or View Item page, and then the seller can remove that product variation from the inventory item group at a later time.
| offerId required | string The unique identifier of the offer to delete. The unique identifier of the offer (offerId) is passed in at the end of the call URI. |
This call is used to retrieve the expected listing fees for up to 250 unpublished offers. An array of one or more offerId values are passed in under the offers container.
In the response payload, all listing fees are grouped by eBay marketplace, and listing fees per offer are not shown. A fees container will be returned for each eBay marketplace where the seller is selling the products associated with the specified offers.
Errors will occur if the seller passes in offerIds that represent published offers, so this call should be made before the seller publishes offers with the publishOffer.
List of offers that needs fee information
Array of objects (OfferKeyWithId) This container is used to identify one or more (up to 250)unpublished offers for which expected listing fees will be retrieved. The user passes one or more offerId values (maximum of 250) in to this container to identify the unpublished offers in which to retrieve expected listing fees. This call is only applicable for offers in the unpublished state. |
{- "offers": [
- {
- "offerId": "string"
}
]
}{- "feeSummaries": [
- {
- "fees": [
- {
- "amount": {
- "currency": "string",
- "value": "string"
}, - "feeType": "string",
- "promotionalDiscount": {
- "currency": "string",
- "value": "string"
}
}
], - "marketplaceId": "string",
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}
]
}Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
This call is used to convert an unpublished offer into a published offer, or live eBay listing. The unique identifier of the offer (offerId) is passed in at the end of the call URI.
For those who prefer to publish multiple offers (up to 25 at a time) with one call, the bulkPublishOffer method can be used. In the case of a multiple-variation listing, the publishOfferByInventoryItemGroup call should be used instead, as this call will convert all unpublished offers associated with an inventory item group into a multiple-variation listing.
| offerId required | string The unique identifier of the offer that is to be published. |
{- "listingId": "string",
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}Note: Please note that any eBay listing created using the Inventory API cannot be revised or relisted using the Trading API calls.
Note: Each listing can be revised up to 250 times in one calendar day. If this revision threshold is reached, the seller will be blocked from revising the item until the next calendar day.
This call is used to convert all unpublished offers associated with an inventory item group into an active, multiple-variation listing.
The unique identifier of the inventory item group (inventoryItemGroupKey) is passed in the request payload. All inventory items and their corresponding offers in the inventory item group must be valid (meet all requirements) for the publishOfferByInventoryItemGroup call to be completely successful. For any inventory items in the group that are missing required data or have no corresponding offers, the publishOfferByInventoryItemGroup will create a new multiple-variation listing, but any inventory items with missing required data/offers will not be in the newly-created listing. If any inventory items in the group to be published have invalid data, or one or more of the inventory items have conflicting data with one another, the publishOfferByInventoryItemGroup call will fail. Be sure to check for any error or warning messages in the call response for any applicable information about one or more inventory items/offers having issues.
The identifier of the inventory item group to publish and the eBay marketplace where the listing will be published is needed in the request payload.
| inventoryItemGroupKey | string This is the unique identifier of the inventory item group. All unpublished offers associated with this inventory item group will be published as a multiple-variation listing if the publishByInventoryItemGroup call is successful. The inventoryItemGroupKey identifier is automatically generated by eBay once an inventory item group is created. |
| marketplaceId | string This is the unique identifier of the eBay site on which the multiple-variation listing will be published. The marketPlaceId enumeration values are found in MarketplaceIdEnum. For implementation help, refer to eBay API documentation |
{- "inventoryItemGroupKey": "string",
- "marketplaceId": "string"
}{- "listingId": "string",
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}This call is used to end a single-variation listing that is associated with the specified offer. This call is used in place of the deleteOffer call if the seller only wants to end the listing associated with the offer but does not want to delete the offer object. With this call, the offer object remains, but it goes into the unpublished state, and will require a publishOffer call to relist the offer.
To end a multiple-variation listing that is associated with an inventory item group, the withdrawOfferByInventoryItemGroup method can be used. This call only ends the multiple-variation listing associated with an inventory item group but does not delete the inventory item group object, nor does it delete any of the offers associated with the inventory item group, but instead all of these offers go into the unpublished state.
| offerId required | string The unique identifier of the offer that is to be withdrawn. This value is passed into the path of the call URI. |
{- "listingId": "string",
- "warnings": [
- {
- "category": "string",
- "domain": "string",
- "errorId": 0,
- "inputRefIds": [
- "string"
], - "longMessage": "string",
- "message": "string",
- "outputRefIds": [
- "string"
], - "parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "subdomain": "string"
}
]
}This call is used to end a multiple-variation eBay listing that is associated with the specified inventory item group. This call only ends multiple-variation eBay listing associated with the inventory item group but does not delete the inventory item group object. Similarly, this call also does not delete any of the offers associated with the inventory item group, but instead all of these offers go into the unpublished state. If the seller wanted to relist the multiple-variation eBay listing, they could use the publishOfferByInventoryItemGroup method.
The base request of the withdrawOfferByInventoryItemGroup call.
| inventoryItemGroupKey | string This is the unique identifier of the inventory item group. This identifier is automatically generated by eBay once an inventory item group is created. This field is required. |
| marketplaceId | string This is the unique identifier of the eBay site for which the offer will be made available. The marketPlaceId enumeration values are found in MarketplaceIdEnum. This field is required. For implementation help, refer to eBay API documentation |
{- "inventoryItemGroupKey": "string",
- "marketplaceId": "string"
}This call retrieves all defined details of the inventory location that is specified by the merchantLocationKey path parameter.
The authorization HTTP header is the only required request header for this call.
A successful call will return an HTTP status value of 200 OK.
| merchantLocationKey required | string A unique merchant-defined key (ID) for an inventory location. This value is passed in at the end of the call URI to specify the inventory location to retrieve. |
{- "location": {
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "country": "string",
- "county": "string",
- "postalCode": "string",
- "stateOrProvince": "string"
}, - "geoCoordinates": {
- "latitude": 0,
- "longitude": 0
}, - "locationId": "string"
}, - "locationAdditionalInformation": "string",
- "locationInstructions": "string",
- "locationTypes": [
- "string"
], - "locationWebUrl": "string",
- "merchantLocationKey": "string",
- "merchantLocationStatus": "string",
- "name": "string",
- "operatingHours": [
- {
- "dayOfWeekEnum": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
], - "phone": "string",
- "specialHours": [
- {
- "date": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
]
}Use this call to create a new inventory location. In order to create and publish an offer (and create an eBay listing), a seller must have at least one inventory location, as every offer must be associated with a location.
Upon first creating an inventory location, only a seller-defined location identifier and a physical location is required, and once set, these values can not be changed. The unique identifier value (merchantLocationKey) is passed in at the end of the call URI. This merchantLocationKey value will be used in other Inventory Location calls to identify the inventory location to perform an action against.
At this time, location types are either warehouse or store. Warehouse locations are used for traditional shipping, and store locations are generally used by US merchants selling products through the In-Store Pickup program, or used by UK, Australian, and German merchants selling products through the Click and Collect program. A full address is required for store inventory locations. However, for warehouse inventory locations, a full street address is not needed, but the city, state/province, and country of the location must be provided.
Note that all inventory locations are "enabled" by default when they are created, and you must specifically disable them (by passing in a value of DISABLED in the merchantLocationStatus field) if you want them to be set to the disabled state. The seller's inventory cannot be loaded to inventory locations in the disabled state.
In addition to the authorization header, which is required for all eBay REST API calls, the following table includes another request header that is mandatory for the createInventoryLocation call, and two other request headers that are optional:
| Header | Description | Required? | Applicable Values |
|---|---|---|---|
Accept | Describes the response encoding, as required by the caller. Currently, the interfaces require payloads formatted in JSON, and JSON is the default. | No | application/json |
Content-Language | Use this header to control the language that is used for any returned errors or warnings in the call response. | No | en-US |
Content-Type | The MIME type of the body of the request. Must be JSON. | Yes | application/json |
Unless one or more errors and/or warnings occur with the call, there is no response payload for this call. A successful call will return an HTTP status value of 204 No Content.
| merchantLocationKey required | string A unique, merchant-defined key (ID) for an inventory location. This unique identifier, or key, is used in other Inventory API calls to identify an inventory location. |
Inventory Location details
object (LocationDetails) This type is used by the createInventoryLocation call to provide an full or partial address of an inventory location. | |
| locationAdditionalInformation | string This text field is used by the merchant to provide additional information about an inventory location. |
| locationInstructions | string This text field is generally used by the merchant to provide special pickup instructions for a store inventory location. Although this field is optional, it is recommended that merchants provide this field to create a pleasant and easy pickup experience for In-Store Pickup and Click and Collect orders. If this field is not included in the call request payload, eBay will use the default pickup instructions contained in the merchant's profile (if available). |
| locationTypes | Array of strings This container is used to define the function of the inventory location. Typically, an inventory location will serve as a store or a warehouse, but in some cases, an inventory location may be both. |
| locationWebUrl | string This text field is used by the merchant to provide the Website address (URL) associated with the inventory location. |
| merchantLocationStatus | string This field is used to indicate whether the inventory location will be enabled (inventory can be loaded to location) or disabled (inventory can not be loaded to location). If this field is omitted, a successful createInventoryLocation call will automatically enable the inventory location. A merchant may want to create a new inventory location but leave it as disabled if the inventory location is not yet ready for active inventory. Once the inventory location is ready, the merchant can use the enableInventoryLocation call to enable an inventory location that is in a disabled state. See StatusEnum for the supported values. |
| name | string The name of the inventory location. This name should be a human-friendly name as it will be displayed in In-Store Pickup and Click and Collect listings. A name is not required for warehouse inventory locations. For store inventory locations, this field is not immediately required, but will be required before an offer enabled with the In-Store Pickup or Click and Collect capability can be published. So, if the seller omits this field in a createInventoryLocation call, it becomes required for an updateInventoryLocation call. |
Array of objects (OperatingHours) Although not technically required, this container is highly recommended to be used to specify operating hours for a store inventory location. This container is used to express the regular operating hours for a store location during each day of the week. A dayOfWeekEnum field and an intervals container will be needed for each day of the week that the store location is open. | |
| phone | string Although not technically required, this field is highly recommended to be used to specify the phone number for a store inventory location. |
Array of objects (SpecialHours) This container is used to express the special operating hours for a store inventory location on a specific date, such as a holiday. The special hours specified for the specific date will override the normal operating hours for that particular day of the week. |
{- "location": {
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "country": "string",
- "county": "string",
- "postalCode": "string",
- "stateOrProvince": "string"
}, - "geoCoordinates": {
- "latitude": 0,
- "longitude": 0
}
}, - "locationAdditionalInformation": "string",
- "locationInstructions": "string",
- "locationTypes": [
- "string"
], - "locationWebUrl": "string",
- "merchantLocationStatus": "string",
- "name": "string",
- "operatingHours": [
- {
- "dayOfWeekEnum": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
], - "phone": "string",
- "specialHours": [
- {
- "date": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
]
}This call deletes the inventory location that is specified in the merchantLocationKey path parameter. Note that deleting a location will not affect any active eBay listings associated with the deleted location, but the seller will not be able modify the offers associated with the inventory location once it is deleted.
The authorization HTTP header is the only required request header for this call.
Unless one or more errors and/or warnings occur with the call, there is no response payload for this call. A successful call will return an HTTP status value of 200 OK.
| merchantLocationKey required | string A unique merchant-defined key (ID) for an inventory location. This value is passed in at the end of the call URI to indicate the inventory location to be deleted. |
This call disables the inventory location that is specified in the merchantLocationKey path parameter. Sellers can not load/modify inventory to disabled inventory locations. Note that disabling an inventory location will not affect any active eBay listings associated with the disabled location, but the seller will not be able modify the offers associated with a disabled inventory location.
The authorization HTTP header is the only required request header for this call.
A successful call will return an HTTP status value of 200 OK.
| merchantLocationKey required | string A unique merchant-defined key (ID) for an inventory location. This value is passed in through the call URI to disable the specified inventory location. |
{ }This call enables a disabled inventory location that is specified in the merchantLocationKey path parameter. Once a disabled inventory location is enabled, sellers can start loading/modifying inventory to that inventory location.
The authorization HTTP header is the only required request header for this call.
A successful call will return an HTTP status value of 200 OK.
| merchantLocationKey required | string A unique merchant-defined key (ID) for an inventory location. This value is passed in through the call URI to specify the disabled inventory location to enable. |
{ }This call retrieves all defined details for every inventory location associated with the seller's account. There are no required parameters for this call and no request payload. However, there are two optional query parameters, limit and offset. The limit query parameter sets the maximum number of inventory locations returned on one page of data, and the offset query parameter specifies the page of data to return. These query parameters are discussed more in the URI parameters table below.
The authorization HTTP header is the only required request header for this call.
A successful call will return an HTTP status value of 200 OK.
| limit | integer The value passed in this query parameter sets the maximum number of records to return per page of data. Although this field is a string, the value passed in this field should be a positive integer value. If this query parameter is not set, up to 100 records will be returned on each page of results. |
| offset | integer Specifies the number of locations to skip in the result set before returning the first location in the paginated response. Combine offset with the limit query parameter to control the items returned in the response. For example, if you supply an offset of Default: 0 |
{- "href": "string",
- "limit": 0,
- "next": "string",
- "offset": 0,
- "prev": "string",
- "total": 0,
- "locations": [
- {
- "location": {
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "country": "string",
- "county": "string",
- "postalCode": "string",
- "stateOrProvince": "string"
}, - "geoCoordinates": {
- "latitude": 0,
- "longitude": 0
}, - "locationId": "string"
}, - "locationAdditionalInformation": "string",
- "locationInstructions": "string",
- "locationTypes": [
- "string"
], - "locationWebUrl": "string",
- "merchantLocationKey": "string",
- "merchantLocationStatus": "string",
- "name": "string",
- "operatingHours": [
- {
- "dayOfWeekEnum": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
], - "phone": "string",
- "specialHours": [
- {
- "date": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
]
}
]
}Use this call to update non-physical location details for an existing inventory location. Specify the inventory location you want to update using the merchantLocationKey path parameter.
You can update the following text-based fields: name, phone, locationWebUrl, locationInstructions and locationAdditionalInformation. Whatever text is passed in for these fields in an updateInventoryLocation call will replace the current text strings defined for these fields. For store inventory locations, the operating hours and/or the special hours can also be updated.
The merchant location key, the physical location of the store, and its geo-location coordinates can not be updated with an updateInventoryLocation call
In addition to the authorization header, which is required for all eBay REST API calls, the following table includes another request header that is mandatory for the updateInventoryLocation call, and two other request headers that are optional:
| Header | Description | Required? | Applicable Values |
|---|---|---|---|
Accept | Describes the response encoding, as required by the caller. Currently, the interfaces require payloads formatted in JSON, and JSON is the default. | No | application/json |
Content-Language | Use this header to control the language that is used for any returned errors or warnings in the call response. | No | en-US |
Content-Type | The MIME type of the body of the request. Must be JSON. | Yes | application/json |
Unless one or more errors and/or warnings occurs with the call, there is no response payload for this call. A successful call will return an HTTP status value of 204 No Content.
| merchantLocationKey required | string A unique merchant-defined key (ID) for an inventory location. This value is passed in the call URI to indicate the inventory location to be updated. |
The inventory location details to be updated (other than the address and geo co-ordinates).
| locationAdditionalInformation | string This text field is used by the merchant to provide/update additional information about an inventory location. Whatever text is passed in this field will replace the current text string defined for this field. If the text will not change, the same text should be passed in once again. |
| locationInstructions | string This text field is generally used by the merchant to provide/update special pickup instructions for a store inventory location. Although this field is optional, it is recommended that merchants provide this field to create a pleasant and easy pickup experience for In-Store Pickup and Click and Collect orders. If this field is not included in the call request payload, eBay will use the default pickup instructions contained in the merchant's profile (if available). Whatever text is passed in this field will replace the current text string defined for this field. If the text will not change, the same text should be passed in once again. |
| locationWebUrl | string This text field is used by the merchant to provide/update the Website address (URL) associated with the inventory location. The URL that is passed in this field will replace any other URL that may be defined for this field. |
| name | string This text field is used by the merchant to update the name of the inventory location. This name should be a human-friendly name as it will be in In-Store Pickup and Click and Collect listings. A name is not required for warehouse inventory locations. For store inventory locations, this field is not immediately required, but will be required before an offer enabled with the In-Store Pickup or Click and Collect capability can be published. So, if the seller omitted this field in the createInventoryLocation call, it is required for an updateInventoryLocation call. The name that is passed in this field will replace any other name that may be defined for this field. |
Array of objects (OperatingHours) This container is used to provide/update the regular operating hours for a store location during the days of the week. A dayOfWeekEnum field and an intervals container will be needed for each day of the week that the store location is open. Note that if operating hours are already set for an inventory location for a specific day of the week, whatever is set through an updateInventoryLocation call will override those existing hours. | |
| phone | string This text field is used by the merchant to provide/update the phone number for the inventory location. The phone number that is passed in this field will replace any other phone number that may be defined for this field. |
Array of objects (SpecialHours) This container is used to provide/update the special operating hours for a store location on a specific date, such as a holiday. The special hours specified for the specific date will override the normal operating hours for that particular day of the week. If special hours have already been set up for an inventory location, specifying special hours through an updateInventoryLocation call will only add to the list, unless the date(s) used are the same special date(s) already set up, in which case, the special hours set up through the updateInventoryLocation call will override the existing special hours. |
{- "locationAdditionalInformation": "string",
- "locationInstructions": "string",
- "locationWebUrl": "string",
- "name": "string",
- "operatingHours": [
- {
- "dayOfWeekEnum": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
], - "phone": "string",
- "specialHours": [
- {
- "date": "string",
- "intervals": [
- {
- "close": "string",
- "open": "string"
}
]
}
]
}