--- openapi: "3.0.0" info: title: "Inventory API" description: "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." contact: name: "eBay Inc," license: name: "eBay API License Agreement" url: "https://developer.ebay.com/join/api-license-agreement" version: "1.18.4" servers: - url: "https://api.ebay.com{basePath}" description: "Production" variables: basePath: default: "/sell/inventory/v1" paths: /bulk_create_or_replace_inventory_item: post: tags: - "inventory_item" description: "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.

Important!Publish offer note: Fields\ \ may be optional or conditionally required when calling this method, but\ \ become required when publishing the offer to create an active listing. For\ \ this method, see Inventory item fields for a list of fields required\ \ to publish an offer.


Note:\ \ In addition to the authorization header, which is required\ \ for all eBay REST API calls, this call also requires the Content-Language\ \ and Content-Type headers. See the HTTP request headers section for more information.
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:

For those who prefer to create or update a single inventory item\ \ record, the createOrReplaceInventoryItem method can be\ \ used.

" operationId: "bulkCreateOrReplaceInventoryItem" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the inventories with sku and locale" content: application/json: schema: description: "Details of the inventories with sku and locale" $ref: "#/components/schemas/BulkInventoryItem" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/BulkInventoryItemResponse" x-response-codes: errors: 25504: domain: "API_INVENTORY" category: "APPLICATION" description: "{additionalInfo}" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25096: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation. You\ \ may revise it to resolve the situation. Please check your email\ \ for more information." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing options removed. {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "400": description: "Bad Request" x-response-codes: errors: 25728: domain: "API_INVENTORY" category: "REQUEST" description: "InventoryItems should be unique in the request." 25601: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limits exceeded. {additionalInfo}" 25604: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25733: domain: "API_INVENTORY" category: "REQUEST" description: "Valid SKU and locale information are required for all\ \ the InventoryItems in the request." 25097: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation, and\ \ revisions are not possible. Please check your email for more information." 25098: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} transaction is not possible as the\ \ parent listing is on-hold. Please check your email for further\ \ information. " 25501: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid picture. {additionalInfo}" 25502: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute information. {additionalInfo}" 25503: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid product information. {additionalInfo}" 25759: domain: "API_INVENTORY" category: "REQUEST" description: "shipToLocationAvailability quantity value should be\ \ greater than or equal to auction allocation. Please provide valid\ \ quantity or unpublish auction offers of the sku." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25701: domain: "API_INVENTORY" category: "REQUEST" description: "These SKU(s) are not in the system" 25702: domain: "API_INVENTORY" category: "REQUEST" description: "SKU {additionalInfo} is not available in the system" 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid price. {additionalInfo}" 25707: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid sku. sku has to be alphanumeric with upto 50\ \ characters in length" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid quantity. {additionalInfo}" 25708: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid sku" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid category. {additionalInfo}" 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid request. Invalid value for field {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing option. {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Shipping policy information. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Payment policy information. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Return policy information. {additionalInfo}" 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25011: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid tax information. {additionalInfo}" 25715: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Dimension and Weight" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid {fieldName}. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid package details. {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid condition information. {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" 25727: domain: "API_INVENTORY" category: "REQUEST" description: "The number of InventoryItems in the request cannot exceed\ \ {additionalInfo}." "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of Inventory or InventoryItemGroup.\ \ Please try again later" 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "207": description: "Multi-Status" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /bulk_get_inventory_item: post: tags: - "inventory_item" description: "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.

Note: In addition to the authorization\ \ header, which is required for all Inventory API calls, this call also requires\ \ the Content-Type header. See the HTTP request headers 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)." operationId: "bulkGetInventoryItem" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the inventories with sku and locale" content: application/json: schema: description: "Details of the inventories with sku and locale" $ref: "#/components/schemas/BulkGetInventoryItem" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/BulkGetInventoryItemResponse" "400": description: "Bad Request" x-response-codes: errors: 25702: domain: "API_INVENTORY" category: "REQUEST" description: "SKU {additionalInfo} is not available in the system" 25734: domain: "API_INVENTORY" category: "REQUEST" description: "SKU should be unique in the request." 25708: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid SKU." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid request. Invalid value for field {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" 25727: domain: "API_INVENTORY" category: "REQUEST" description: "The number of InventoryItems in the request cannot exceed\ \ {additionalInfo}." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "207": description: "Multi-Status" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" /bulk_update_price_quantity: post: tags: - "inventory_item" description: "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.
Note: In addition to the authorization\ \ header, which is required for all Inventory API calls, this call also requires\ \ the Content-Type header. See the HTTP request headers for more information.
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.

" operationId: "bulkUpdatePriceQuantity" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Price and allocation details for the given SKU and Marketplace" content: application/json: schema: description: "Price and allocation details for the given SKU and Marketplace" $ref: "#/components/schemas/BulkPriceQuantity" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/BulkPriceQuantityResponse" "400": description: "Bad Request" x-response-codes: errors: 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25759: domain: "API_INVENTORY" category: "REQUEST" description: "shipToLocationAvailability quantity value should be\ \ greater than or equal to auction allocation. Please provide valid\ \ quantity or unpublish auction offers of the sku." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "207": description: "Multi-Status" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /inventory_item/{sku}: get: tags: - "inventory_item" description: "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)." operationId: "getInventoryItem" parameters: - name: "sku" in: "path" description: "This path parameter specifies the seller-defined SKU value of\ \ the product whose inventory item record you wish to retrieve.

Use\ \ the getInventoryItems method to retrieve SKU values.

Max\ \ length: 50" required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/InventoryItemWithSkuLocaleGroupid" "400": description: "Bad Request" x-response-codes: errors: 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" put: tags: - "inventory_item" description: "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.

Important!Publish offer note: Fields\ \ may be optional or conditionally required when calling this method, but\ \ become required when publishing the offer to create an active listing. For\ \ this method, see Inventory item fields for a list of fields required\ \ to publish an offer.


Note:\ \ In addition to the authorization header, which is required\ \ for all Inventory API calls, this call also requires the Content-Type\ \ and Content-Language headers. See the HTTP request headers for more information.
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.

" operationId: "createOrReplaceInventoryItem" parameters: - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" - name: "sku" in: "path" description: "This path parameter specifies the seller-defined SKU value for\ \ the inventory item being created or updated. SKU values must be unique\ \ across the seller's inventory.

Max length: 50" required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the inventory item record." content: application/json: schema: description: "Details of the inventory item record." $ref: "#/components/schemas/InventoryItem" required: true responses: "200": description: "Success" headers: Content-Language: schema: type: "string" description: "This header controls the language that is used for any\ \ returned errors or warnings in the call response." content: application/json: schema: $ref: "#/components/schemas/BaseResponse" x-response-codes: errors: 25504: domain: "API_INVENTORY" category: "APPLICATION" description: "service\t{additionalInfo}" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25096: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation. You\ \ may revise it to resolve the situation. Please check your email\ \ for more information." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing format removed. {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "201": description: "Created" headers: Content-Language: schema: type: "string" description: "This header controls the language that is used for any\ \ returned errors or warnings in the call response." content: application/json: schema: $ref: "#/components/schemas/BaseResponse" x-response-codes: errors: 25504: domain: "API_INVENTORY" category: "APPLICATION" description: "service\t{additionalInfo}" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25096: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation. You\ \ may revise it to resolve the situation. Please check your email\ \ for more information." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing format removed. {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "400": description: "Bad Request" x-response-codes: errors: 25088: domain: "API_INVENTORY" category: "REQUEST" description: "The email address provided is formatted incorrectly." 25089: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global compliance policies\ \ allowed. Excess policies ignored." 25601: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} is an invalid attribute. " 25090: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} compliance policies\ \ per region allowed. Excess policies ignored." 25091: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} compliance\ \ policies allowed. Excess policies ignored." 25092: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global takeback policy\ \ allowed." 25604: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25093: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} takeback policy per\ \ region allowed. Excess policies ignored." 25094: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} takeback\ \ policies allowed." 25095: domain: "API_INVENTORY" category: "REQUEST" description: "Region invalid for regional custom policy. Regions allowed\ \ are {replaceable_value}." 25097: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation, and\ \ revisions are not possible. Please check your email for more information." 25098: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} transaction is not possible as the\ \ parent listing is on-hold. Please check your email for further\ \ information." 25104: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25106: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document structure incorrect. Max allowed\ \ number of entries is {replaceable_value}." 25107: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid document state for ID(s) {replaceable_value}.\ \ Documents must be in the SUBMITTED or ACCEPTED state." 25108: domain: "API_INVENTORY" category: "REQUEST" description: "Product Safety structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25109: domain: "API_INVENTORY" category: "REQUEST" description: "Product safety information incomplete. Your listing\ \ must include pictograms or safety statements." 25110: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer address information is incomplete. When\ \ providing the address, please provide the street, city, postal\ \ code and country" 25111: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer information is incomplete. Please provide\ \ the company name." 25112: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25113: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person address information is incomplete.\ \ When providing the address, please provide the street, city, postal\ \ code and country" 25114: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person information is incomplete. Please\ \ provide the company name." 25115: domain: "API_INVENTORY" category: "REQUEST" description: "Either the Manufacturer or at least one of the Responsible\ \ Persons must be located in the EU." 25116: domain: "API_INVENTORY" category: "REQUEST" description: "Please provide a minimum of {replaceable_value} and\ \ a maximum of {replaceable_value} types for a Responsible Person." 25118: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Manufacturer - either address, email, contact URL or phone." 25119: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Responsible Person - either address, email, contact URL or\ \ phone." 25120: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, key information such\ \ as {fieldName} comes from eBay’s catalog and should be left blank." 25121: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, sellers are required\ \ to adopt eBay’s catalog data which will provide all the necessary\ \ details for the product." 25122: domain: "API_INVENTORY" category: "REQUEST" description: "The contact URL is incorrectly formatted. Please update\ \ the formatting." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25701: domain: "API_INVENTORY" category: "REQUEST" description: "One or more of the supplied SKU(s) could not be found\ \ in the system." 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25707: domain: "API_INVENTORY" category: "REQUEST" description: "This is an invalid value for a SKU. Only alphanumeric\ \ characters can be used for SKUs, and their length must not exceed\ \ 50 characters." 25708: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid SKU." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request." 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25715: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid values for dimensions and/or weight of shipping\ \ package." 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25501: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid picture. {additionalInfo}" 25502: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute information. {additionalInfo}" 25503: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid product information. {additionalInfo}" 25759: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} transaction is not possible as the\ \ parent listing is on-hold. Please check your email for further\ \ information. " 25760: domain: "API_INVENTORY" category: "REQUEST" description: "shipToLocationAvailability quantity insufficient to\ \ create auction listings." 25766: domain: "API_INVENTORY" category: "REQUEST" description: "The takeBackPolicyId field must be a long value type.\ \ Please correct the error." 25767: domain: "API_INVENTORY" category: "REQUEST" description: "The productCompliancePolicyId field must be a long value\ \ type. Please correct the error." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "A user error has occurred. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid category ID. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Fulfillment\ \ policy. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Payment\ \ policy. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Return\ \ policy. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid inventory location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "The {fieldName} value is invalid. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid shipping package details.\ \ {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid item condition information.\ \ {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limit exceeded. {additionalInfo}" 25029: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is required for this category." 25031: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid and needs to be a number between\ \ {min} and {max}" 25034: domain: "API_INVENTORY" category: "REQUEST" description: "Only {max value} policies can be specified" 25035: domain: "API_INVENTORY" category: "REQUEST" description: "The specified policy is not found for the market place" 25036: domain: "API_INVENTORY" category: "REQUEST" description: "The policy(ies) {PolicyId} is not of type {PolicyEnum}" 25038: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer or is ending within 12 hours" 25039: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25040: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25041: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, maximum\ \ handling time must be {replaceable_value} business day(s)." 25042: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, free\ \ shipping must be provided." 25043: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, returns\ \ must be accepted." 25044: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, refund\ \ must be provided as Money Back." 25045: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, the\ \ minimum time you'll accept returns must be {replaceable_value}\ \ days." 25046: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, seller\ \ must pay the cost for return shipping." 25047: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition" 25048: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ in this Category" 25049: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ for the selected Brand" 25050: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Title." 25051: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Subtitle" 25052: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, at\ \ least {replaceable_value} images must be provided" 25076: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25077: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate Regulatory ID(s) {replaceable_value} sent\ \ in the request. Duplicate ID(s) have been ignored." 25078: domain: "API_INVENTORY" category: "REQUEST" description: "Hazmat structure incorrect for {replaceable_value}." 25079: domain: "API_INVENTORY" category: "REQUEST" description: "Repair score invalid. Repair score must be in the range\ \ from {replaceable_value} to {replaceable_value} with one decimal\ \ place." 25080: domain: "API_INVENTORY" category: "REQUEST" description: "The value of the {0} field is invalid. Field must not\ \ exceed {replaceable_value} characters." 25081: domain: "API_INVENTORY" category: "REQUEST" description: "Hazardous material information incomplete. Your listing\ \ must include hazardous statements." 25083: domain: "API_INVENTORY" category: "REQUEST" description: "Energy efficiency image is missing. Image is required\ \ with image description." 25084: domain: "API_INVENTORY" category: "REQUEST" description: "The listing must have both an energy efficiency label\ \ and a product information sheet." 25086: domain: "API_INVENTORY" category: "REQUEST" description: "The URL provided must be an eBay Picture Service URL." "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of the same Inventory or Inventory\ \ Item Group object is not allowed. Please try again later." 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" delete: tags: - "inventory_item" description: "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.

" operationId: "deleteInventoryItem" parameters: - name: "sku" in: "path" description: "This path parameter specifies the seller-defined SKU value of\ \ the product whose inventory item record you wish to delete.

Use\ \ the getInventoryItems method to retrieve SKU values.

Max\ \ length: 50" required: true schema: type: "string" responses: "400": description: "Bad Request" x-response-codes: errors: 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /inventory_item: get: tags: - "inventory_item" description: "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." operationId: "getInventoryItems" parameters: - name: "limit" in: "query" description: "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 1\ \ to 200.

Min: 1

Max:\ \ 200

Default: 25" required: false schema: type: "string" - name: "offset" in: "query" description: "The value passed in this query parameter sets the page number\ \ to retrieve. The first page of records has a value of 0,\ \ the second page of records has a value of 1, and so on. If\ \ this query parameter is not set, its value defaults to 0,\ \ and the first page of records is returned. " required: false schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/InventoryItems" "400": description: "Bad Request" x-response-codes: errors: 25706: domain: "API_INVENTORY" category: "REQUEST" description: "You have provided invalid pagination values. {additionalInfo}." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}." 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" /inventory_item/{sku}/product_compatibility: get: tags: - "product_compatibility" description: "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." operationId: "getProductCompatibility" parameters: - name: "sku" in: "path" description: "This path parameter specifies the SKU (stock keeping unit) of\ \ the inventory item associated with the product compatibility list being\ \ retrieved.

Use the getInventoryItems method to retrieve SKU values." required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/Compatibility" "400": description: "Bad Request" x-response-codes: errors: 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" put: tags: - "product_compatibility" description: "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.

Note: In addition to the authorization header, which\ \ is required for all Inventory API calls, this call also requires the Content-Type\ \ and Content-Language headers. See the HTTP request headers for more information." operationId: "createOrReplaceProductCompatibility" parameters: - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" - name: "sku" in: "path" description: "This path parameter specifies the SKU (stock keeping unit) of\ \ the inventory item associated with the compatibility list being created.

Use\ \ the getInventoryItems method to retrieve SKU values." required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the compatibility" content: application/json: schema: description: "Details of the compatibility" $ref: "#/components/schemas/Compatibility" required: true responses: "200": description: "Success" headers: Content-Language: schema: type: "string" description: "This response header sets the natural language that\ \ will be provided in the field values of the response payload." content: application/json: schema: $ref: "#/components/schemas/BaseResponse" x-response-codes: errors: 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing format removed. {additionalInfo}" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "201": description: "Created" headers: Content-Language: schema: type: "string" description: "This response header sets the natural language that\ \ will be provided in the field values of the response payload." content: application/json: schema: $ref: "#/components/schemas/BaseResponse" x-response-codes: errors: 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing format removed. {additionalInfo}" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "400": description: "Bad Request" x-response-codes: errors: 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limit exceeded. {additionalInfo}" 25739: domain: "API_INVENTORY" category: "REQUEST" description: "User input error. The number of compatibilityProperties\ \ in the request cannot exceed {additionalInfo}." 25740: domain: "API_INVENTORY" category: "REQUEST" description: "User input error. Invalid name for compatibilityProperties.\ \ The length should be between 1 and {additionalInfo} characters." 25741: domain: "API_INVENTORY" category: "REQUEST" description: "User input error. Invalid value for compatibilityProperties.\ \ The length should be between 1 and {additionalInfo} characters." 25742: domain: "API_INVENTORY" category: "REQUEST" description: "User input error. productFamilyProperties and compatibilityProperties\ \ cannot be used together. Please use compatibilityProperties." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "A user error has occurred. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid category ID. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Fulfillment\ \ policy. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Payment\ \ policy. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Return\ \ policy. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid inventory location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "The {fieldName} value is invalid. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid shipping package details.\ \ {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid item condition information.\ \ {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of the same Inventory or Inventory\ \ Item Group object is not allowed. Please try again later." 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" delete: tags: - "product_compatibility" description: "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." operationId: "deleteProductCompatibility" parameters: - name: "sku" in: "path" description: "This path parameter specifies the SKU (stock keeping unit) of\ \ the inventory item that is associated with the product compatibility list\ \ that is being deleted.

Use the getInventoryItems method to retrieve SKU values." required: true schema: type: "string" responses: "400": description: "Bad Request" x-response-codes: errors: 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. <additional_information>" "204": description: "No Content" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /inventory_item_group/{inventoryItemGroupKey}: get: tags: - "inventory_item_group" description: "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." operationId: "getInventoryItemGroup" parameters: - name: "inventoryItemGroupKey" in: "path" description: "This path parameter specifies the unique identifier of the inventory\ \ item group being retrieved. This value is assigned by the seller when\ \ an inventory item group is created." required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/InventoryItemGroup" "400": description: "Bad Request" x-response-codes: errors: 25705: domain: "API_INVENTORY" category: "REQUEST" description: "The Inventory Item Group named {inventoryItemGroupKey}\ \ could not be found or is not available in the system." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" put: tags: - "inventory_item_group" description: "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.

Important!Publish\ \ offer note: Fields may be optional or conditionally required when calling\ \ this method, but become required when publishing the offer to create an\ \ active listing. For this method, see Inventory item group fields for a list of fields\ \ required to publish an offer.


Note: In addition to the authorization header, which\ \ is required for all Inventory API calls, this call also requires the Content-Type\ \ and Content-Language headers. See the HTTP request headers for more information.
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:
Note: For more information,\ \ see Creating and managing inventory item groups." operationId: "createOrReplaceInventoryItemGroup" parameters: - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" - name: "inventoryItemGroupKey" in: "path" description: "This path parameter specifies the unique identifier of the inventory\ \ item group being created or updated. This identifier is defined by the\ \ seller.

This value cannot be changed once it is set.

Max\ \ Length: 50" required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the inventory Item Group" content: application/json: schema: description: "Details of the inventory Item Group" $ref: "#/components/schemas/InventoryItemGroup" required: true responses: "200": description: "Success" headers: Content-Language: schema: type: "string" description: "This describes the natural language(s) of the intended\ \ audience for the enclosed entity" content: application/json: schema: $ref: "#/components/schemas/BaseResponse" x-response-codes: errors: 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25096: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation. You\ \ may revise it to resolve the situation. Please check your email\ \ for more information." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing format removed {additionalInfo}" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "201": description: "Created" headers: Content-Language: schema: type: "string" description: "This describes the natural language(s) of the intended\ \ audience for the enclosed entity" content: application/json: schema: $ref: "#/components/schemas/BaseResponse" x-response-codes: errors: 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25096: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation. You\ \ may revise it to resolve the situation. Please check your email\ \ for more information." 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing format removed {additionalInfo}" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "400": description: "Bad Request" x-response-codes: errors: 25024: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Best Offer information. {additionalInfo}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limit exceeded. {additionalInfo}" 25097: domain: "API_INVENTORY" category: "REQUEST" description: "This listing is on hold due to a policy violation, and\ \ revisions are not possible. Please check your email for more information." 25098: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} transaction is not possible as the\ \ parent listing is on-hold. Please check your email for further\ \ information. " 25041: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, maximum\ \ handling time must be {replaceable_value} business day(s)." 25042: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, free\ \ shipping must be provided." 25043: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, returns\ \ must be accepted." 25044: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, refund\ \ must be provided as Money Back." 25045: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, the\ \ minimum time you'll accept returns must be {replaceable_value}\ \ days." 25046: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, seller\ \ must pay the cost for return shipping." 25047: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition" 25048: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ in this Category" 25049: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ for the selected Brand" 25050: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Title." 25051: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Subtitle" 25756: domain: "API_INVENTORY" category: "REQUEST" description: "Auction format is not permitted with a SKU that is part\ \ of an InventoryItemGroup." 25052: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, at\ \ least {replaceable_value} images must be provided" 25120: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, key information such\ \ as {fieldName} comes from eBay’s catalog and should be left blank." 25121: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, sellers are required\ \ to adopt eBay’s catalog data which will provide all the necessary\ \ details for the product." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25701: domain: "API_INVENTORY" category: "REQUEST" description: "One or more of the supplied SKU(s) could not be found\ \ in the system." 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25703: domain: "API_INVENTORY" category: "REQUEST" description: "The following SKU is already a member of another group.\ \ SKU : {skuValue} groupId : {inventoryItemGroupKey}" 25704: domain: "API_INVENTORY" category: "REQUEST" description: "The following SKU is already listed as a single SKU\ \ listing. SKU : {skuValue} Listing ID : {listingId}" 25705: domain: "API_INVENTORY" category: "REQUEST" description: "The Inventory Item Group named {inventoryItemGroupKey}\ \ could not be found or is not available in the system." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "A user error has occurred. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid category ID. {additionalInfo}" 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Fulfillment\ \ policy. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Payment\ \ policy. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Return\ \ policy. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid inventory location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "The {fieldName} value is invalid. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid shipping package details.\ \ {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid item condition information.\ \ {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of the same Inventory or Inventory\ \ Item Group object is not allowed. Please try again later." 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" delete: tags: - "inventory_item_group" description: "This call deletes the inventory item group for a given inventoryItemGroupKey\ \ value." operationId: "deleteInventoryItemGroup" parameters: - name: "inventoryItemGroupKey" in: "path" description: "This path parameter specifies the unique identifier of the inventory\ \ item group being deleted. This value is assigned by the seller when an\ \ inventory item group is created." required: true schema: type: "string" responses: "400": description: "Bad Request" x-response-codes: errors: 25705: domain: "API_INVENTORY" category: "REQUEST" description: "The Inventory Item Group named {inventoryItemGroupKey}\ \ could not be found or is not available in the system." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /bulk_migrate_listing: post: tags: - "listing" description: "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.

Migration Requirements


To be\ \ eligible for migration, the active eBay listings must meet the following\ \ requirements:

Unsupported Listing\ \ Features


The following features are not yet available to be set\ \ or modified through the Inventory API, but they will remain on the active\ \ eBay listing, even after a successful migration to the Inventory model.\ \ The downside to this is that the seller will be completely blocked (in APIs\ \ or My eBay) from revising these features/settings once the migration takes\ \ place:

Making the Call


In\ \ the request payload of the bulkMigrateListings call, the\ \ seller will pass in an array of one to five eBay listing IDs (aka Item IDs).\ \ To save time and hassle, that seller should do a pre-check on each listing\ \ to make sure those listings meet the requirements to be migrated to the\ \ new Inventory model. This method also requires the Content-Type\ \ request header. See the HTTP request headers for more information. There are no path or query\ \ parameters for this call.

Call Response


If an eBay listing\ \ is migrated successfully to the new Inventory model, the following will\ \ occur:The response payload of the Bulk Migrate\ \ Listings call will show the results of each listing migration. These results\ \ include an HTTP status code to indicate the success or failure of each listing\ \ migration, the SKU value associated with each item, and if the migration\ \ is successful, an Offer ID value. The SKU value will be used in the Inventory\ \ API to manage the Inventory Item object, and the Offer ID value will be\ \ used in the Inventory API to manage the Offer object. Errors and/or warnings\ \ containers will be returned for each listing where an error and/or warning\ \ occurred with the attempted migration.

If a multiple-variation listing\ \ is successfully migrated, along with the Offer and Inventory Location objects,\ \ an Inventory Item object will be created for each product variation within\ \ the listing, and an Inventory Item Group object will also be created, grouping\ \ those variations together in the Inventory API platform. For a motor vehicle\ \ part or accessory listing that has a specified list of compatible vehicles,\ \ in addition to the Inventory Item, Inventory Location, and Offer objects\ \ that are created, a Product Compatibility object will also be created in\ \ the Inventory API platform." operationId: "bulkMigrateListing" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the listings that needs to be migrated into Inventory" content: application/json: schema: description: "Details of the listings that needs to be migrated into\ \ Inventory" $ref: "#/components/schemas/BulkMigrateListing" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/BulkMigrateListingResponse" "400": description: "Bad Request" x-response-codes: errors: 25718: domain: "API_INVENTORY" category: "REQUEST" description: "Cannot migrate listing. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "207": description: "Multi-Status" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /listing/{listingId}/sku/{sku}/locations: get: tags: - "listing" description: "This method allows sellers to retrieve the locations mapped to\ \ a specific SKU within a listing.

The listingId and sku\ \ of the listing are passed in as path parameters. This method only retrieves\ \ location mappings for a single SKU value; if a seller wishes to retrieve\ \ the location mappings for all items in a multiple-variation listing, this\ \ method must be called for each variation in the listing.

If there\ \ are fulfillment center locations mapped to the SKU, they will be returned\ \ in the locations array. If no locations are mapped to the SKU, status\ \ code 404 Not Found will be returned." operationId: "getSkuLocationMapping" parameters: - name: "listingId" in: "path" description: "This path parameter specifies the unique identifier of the listing\ \ that the SKU belongs to for which all mapped locations will be retrieved.

Use\ \ the getOffers method of the Inventory API or\ \ the GetMyEbaySelling method of the Trading API\ \ to retrieve all listing IDs for all active listings." required: true schema: type: "string" - name: "sku" in: "path" description: "This path parameter specifies the seller-defined SKU value of\ \ the item/variation for which location mappings will be retrieved. This\ \ SKU value must be defined in the listing specified in listingId\ \ parameter

Use the getOffers method of the Inventory API or\ \ the GetMyEbaySelling method of the Trading API\ \ to retrieve all SKUs for all active listings." required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/LocationMapping" "400": description: "Bad Request" x-response-codes: errors: 25904: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing ID or the listing does not belong to\ \ the seller." 25905: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid SKU value or the SKU value is not defined in\ \ the listing." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" put: tags: - "listing" description: "This method allows sellers to map multiple fulfillment center\ \ locations to single-SKU listing, or to a single SKU within a multiple-variation\ \ listing. This allows eBay to leverage the location metadata associated with\ \ a seller’s fulfillment centers to calculate more accurate estimated delivery\ \ dates on their listing.

Note: While\ \ location mappings can be created for listings on any eBay marketplace, the\ \ improved delivery date estimate feature is currently only supported for\ \ US-based fulfillment centers shipping domestically within the US.
The\ \ listing for which the locations will be mapped is specified through the\ \ listingId and sku values associated with the item. Note that\ \ only a single SKU value can be identified; if the seller wishes to map locations\ \ to multiple/all SKU values in a multiple-variation listing, this method\ \ must be called for each of those SKUs within the listing.

Note: Sellers should keep track of listingId/sku\ \ pairs that have been used for location mapping, as there is no programmatic\ \ way to retrieve or delete these pairs at this time.
In the case\ \ of replacing/updating existing location mappings, this method will do a\ \ complete replacement of the location mappings associated with a SKU. This\ \ means that each existing location mappings that the seller wants to continue\ \ to associate with the SKU are required in the update call, regardless of\ \ if they are affected by the update.

This method is only supported\ \ for inventory locations that have FULFILLMENT_CENTER as one\ \ of their locationTypes. For more information on fulfillment center\ \ locations, see Create a fulfillment center location.

For\ \ more information on location mapping features, see Multi-warehouse program in the Selling Integration\ \ Guide.

Note: Only listings with\ \ SKU values are supported. Sellers using listings creating through the Trading\ \ API can add a SKU value to their single variation listing through the Item.SKU field during listing creation or by using\ \ the ReviseItem family of calls." operationId: "createOrReplaceSkuLocationMapping" parameters: - name: "listingId" in: "path" description: "This path parameter specifies the unique identifier of the listing\ \ for which multiple fulfillment center locations will be mapped to a SKU\ \ within that listing.

Use the getOffers method of the Inventory API or the GetMyEbaySelling method of the Trading API to retrieve all\ \ listing IDs for all active listings." required: true schema: type: "string" - name: "sku" in: "path" description: "This path parameter specifies the seller-defined SKU value of\ \ the item/variation for which multiple fulfillment center locations will\ \ be mapped. This SKU value must be defined in the listing specified in\ \ listingId parameter.

Use the getOffers method of the Inventory API or the GetMyEbaySelling method of the Trading API to retrieve all\ \ listing IDs for all active listings.

Note: SKU values can be updated by a seller at any time. If a seller\ \ updates a SKU value that is being used for location mapping, this change\ \ will not be reflected until the mapping is updated through the createOrReplaceSkuLocationMapping\ \ method." required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: content: application/json: schema: $ref: "#/components/schemas/LocationMapping" required: true responses: "400": description: "Bad Request" x-response-codes: errors: 25904: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing ID or the listing does not belong to\ \ the seller." 25905: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid SKU value or the SKU value is not defined in\ \ the listing." 25906: domain: "API_INVENTORY" category: "REQUEST" description: "The provided inventory location must be a Fulfillment\ \ Center. Please use a Fulfillment Center location or use updateInventoryLocation\ \ to change location type to FULFILLMENT_CENTER." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" 25900: domain: "API_INVENTORY" category: "REQUEST" description: "One or more inventory locations could not be found for\ \ the seller." 25901: domain: "API_INVENTORY" category: "REQUEST" description: "Missing a location. Please specify one or more inventory\ \ locations." 25902: domain: "API_INVENTORY" category: "REQUEST" description: "One or more duplicate inventory locations were specified.\ \ Unique inventory locations must be used." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "204": description: "No Content" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" delete: tags: - "listing" description: "This method allows sellers to remove all location mappings associated\ \ with a specific SKU within a listing.

The listingId and sku\ \ of the listing are passed in as path parameters.

Important! To remove all location\ \ mappings from a multiple-variation listing, this method must be used for\ \ each individual SKU in the listing.

" operationId: "deleteSkuLocationMapping" parameters: - name: "listingId" in: "path" description: "This path parameter specifies the unique identifier of the listing\ \ that the SKU belongs to for which all mapped locations will be removed.

Use\ \ the getOffers method of the Inventory API or\ \ the GetMyEbaySelling method of the Trading API\ \ to retrieve all listing IDs for all active listings." required: true schema: type: "string" - name: "sku" in: "path" description: "This path parameter specifies the seller-defined SKU value of\ \ the item/variation for which location mappings will be removed. This SKU\ \ value must be defined in the listing specified in listingId parameter

Use\ \ the getOffers method of the Inventory API or\ \ the GetMyEbaySelling method of the Trading API\ \ to retrieve all SKUs for all active listings." required: true schema: type: "string" responses: "400": description: "Bad Request" x-response-codes: errors: 25904: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing ID or the listing does not belong to\ \ the seller." 25905: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid SKU value or the SKU value is not defined in\ \ the listing." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "204": description: "No Content" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /bulk_create_offer: post: tags: - "offer" description: "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.

Important!Publish offer note: Fields\ \ may be optional or conditionally required when calling this method, but\ \ become required when publishing the offer to create an active listing. For\ \ this method, see Offer fields for a list of fields required to publish\ \ an offer.


Other information that will be required before\ \ a offer can be published are highlighted below:
  • Inventory location
  • \ \
  • Offer price
  • Available quantity
  • eBay listing category
  • \ \
  • Referenced listing policy profiles to set payment, return, and fulfillment\ \ values/settings

Note:\ \ Though the includeCatalogProductDetails parameter is not\ \ required to be submitted in the request, the parameter defaults to true\ \ if omitted.
Note: In addition\ \ to the authorization header, which is required for all Inventory\ \ API calls, this call also requires the Content-Type and Content-Language\ \ headers. See the HTTP request headers for more information.

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.

For\ \ those who prefer to create a single offer per call, the createOffer\ \ method can be used instead.

" operationId: "bulkCreateOffer" parameters: - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the offer for the channel" content: application/json: schema: description: "Details of the offer for the channel" $ref: "#/components/schemas/BulkEbayOfferDetailsWithKeys" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/BulkOfferResponse" "400": description: "Bad Request" x-response-codes: errors: 25729: domain: "API_INVENTORY" category: "REQUEST" description: "The combination of SKU, marketplaceId and format should\ \ be unique." 25761: domain: "API_INVENTORY" category: "REQUEST" description: "Discount pricing is not applicable for auction offer." 25730: domain: "API_INVENTORY" category: "REQUEST" description: "The number of offers in the request cannot exceed {additionalInfo}" 25762: domain: "API_INVENTORY" category: "REQUEST" description: "availableQuantity is not applicable for auction offer." 25763: domain: "API_INVENTORY" category: "REQUEST" description: "quantityLimitPerBuyer is not applicable for auction\ \ offer." 25764: domain: "API_INVENTORY" category: "REQUEST" description: "eBayPlusIfEligible is not applicable for auction offer." 25702: domain: "API_INVENTORY" category: "REQUEST" description: "SKU {additionalInfo} is not available in the system" 25735: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid SKU, marketplaceId or format." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid request. Invalid value for field {additionalInfo}" 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25755: domain: "API_INVENTORY" category: "REQUEST" description: "listingDuration is required for auction offer." 25756: domain: "API_INVENTORY" category: "REQUEST" description: "Auction format is not permitted with a SKU that is part\ \ of an InventoryItemGroup." 25757: domain: "API_INVENTORY" category: "REQUEST" description: "auctionStartPrice is required for auction offer." 25758: domain: "API_INVENTORY" category: "REQUEST" description: "auctionStartPrice and auctionReservePrice are not supported\ \ for fixed price offer." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "207": description: "Multi-Status" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /bulk_publish_offer: post: tags: - "offer" description: "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 publish 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.

Important!Publish\ \ offer note: Fields may be optional or conditionally required when calling\ \ the create or update methods, but become required when publishing the offer\ \ to create active listings. For this method, see Offer fields for a list of fields required to publish\ \ an offer.


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." operationId: "bulkPublishOffer" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "The base request of the bulkPublishOffer method." content: application/json: schema: description: "The base request of the bulkPublishOffer\ \ method." $ref: "#/components/schemas/BulkOffer" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/BulkPublishResponse" x-response-codes: errors: 25028: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable and has been dropped" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25030: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable for the condition and has\ \ been dropped" 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing options removed. {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25033: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate policy IDs found" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" 25037: domain: "API_INVENTORY" category: "REQUEST" description: "Item level Eco Participation Fee will be ignored" "400": description: "Bad Request" x-response-codes: errors: 25088: domain: "API_INVENTORY" category: "REQUEST" description: "The email address provided is formatted incorrectly." 25601: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25089: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global compliance policies\ \ allowed. Excess policies ignored." 25730: domain: "API_INVENTORY" category: "REQUEST" description: "The number of offers in the request cannot exceed {additionalInfo}." 25090: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} compliance policies\ \ per region allowed. Excess policies ignored." 25731: domain: "API_INVENTORY" category: "REQUEST" description: "OfferId should be unique in the request." 25091: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} compliance\ \ policies allowed. Excess policies ignored." 25604: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25732: domain: "API_INVENTORY" category: "REQUEST" description: "Offers associated with SKUs that are part of a variation\ \ group cannot be published using this endpoint." 25092: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global takeback policy\ \ allowed." 25093: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} takeback policy per\ \ region allowed. Excess policies ignored." 25094: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} takeback\ \ policies allowed." 25095: domain: "API_INVENTORY" category: "REQUEST" description: "Region invalid for regional custom policy. Regions allowed\ \ are {replaceable_value}." 25104: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25106: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document structure incorrect. Max allowed\ \ number of entries is {replaceable_value}." 25107: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid document state for ID(s) {replaceable_value}.\ \ Documents must be in the SUBMITTED or ACCEPTED state." 25108: domain: "API_INVENTORY" category: "REQUEST" description: "Product Safety structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25109: domain: "API_INVENTORY" category: "REQUEST" description: "Product safety information incomplete. Your listing\ \ must include pictograms or safety statements." 25110: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer address information is incomplete. When\ \ providing the address, please provide the street, city, postal\ \ code and country" 25111: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer information is incomplete. Please provide\ \ the company name." 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25112: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25113: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person address information is incomplete.\ \ When providing the address, please provide the street, city, postal\ \ code and country" 25114: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person information is incomplete. Please\ \ provide the company name." 25115: domain: "API_INVENTORY" category: "REQUEST" description: "Either the Manufacturer or at least one of the Responsible\ \ Persons must be located in the EU." 25116: domain: "API_INVENTORY" category: "REQUEST" description: "Please provide a minimum of {replaceable_value} and\ \ a maximum of {replaceable_value} types for a Responsible Person." 25118: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Manufacturer - either address, email, contact URL or phone." 25119: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Responsible Person - either address, email, contact URL or\ \ phone." 25760: domain: "API_INVENTORY" category: "REQUEST" description: "shipToLocationAvailability quantity insufficient to\ \ create auction listings." 25120: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, key information such\ \ as {fieldName} comes from eBay’s catalog and should be left blank." 25121: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, sellers are required\ \ to adopt eBay’s catalog data which will provide all the necessary\ \ details for the product." 25122: domain: "API_INVENTORY" category: "REQUEST" description: "The contact URL is incorrectly formatted. Please update\ \ the formatting." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25766: domain: "API_INVENTORY" category: "REQUEST" description: "The takeBackPolicyId field must be a long value type.\ \ Please correct the error." 25767: domain: "API_INVENTORY" category: "REQUEST" description: "The productCompliancePolicyId field must be a long value\ \ type. Please correct the error." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid category. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Shipping policy information. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Payment policy information. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Return policy information. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid {fieldName}. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid package details. {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid condition information. {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limits exceeded. {additionalInfo}" 25029: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is required for this category." 25031: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid and needs to be a number between\ \ {min} and {max}" 25032: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid" 25034: domain: "API_INVENTORY" category: "REQUEST" description: "Only {max value} policies can be specified" 25035: domain: "API_INVENTORY" category: "REQUEST" description: "The specified policy is not found for the market place" 25036: domain: "API_INVENTORY" category: "REQUEST" description: "The policy(ies) {PolicyId} is not of type {PolicyEnum}" 25038: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer or is ending within 12 hours" 25039: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25040: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25041: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, maximum\ \ handling time must be {replaceable_value} business day(s)." 25042: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, free\ \ shipping must be provided." 25043: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, returns\ \ must be accepted." 25044: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, refund\ \ must be provided as Money Back." 25045: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, the\ \ minimum time you'll accept returns must be {replaceable_value}\ \ days." 25046: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, seller\ \ must pay the cost for return shipping." 25047: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition" 25048: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ in this Category" 25049: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ for the selected Brand" 25050: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Title." 25051: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Subtitle" 25052: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, at\ \ least {replaceable_value} images must be provided" 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid offerId" 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25076: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25077: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate Regulatory ID(s) {replaceable_value} sent\ \ in the request. Duplicate ID(s) have been ignored." 25078: domain: "API_INVENTORY" category: "REQUEST" description: "Hazmat structure incorrect for {replaceable_value}." 25079: domain: "API_INVENTORY" category: "REQUEST" description: "Repair score invalid. Repair score must be in the range\ \ from {replaceable_value} to {replaceable_value} with one decimal\ \ place." 25080: domain: "API_INVENTORY" category: "REQUEST" description: "The value of the {0} field is invalid. Field must not\ \ exceed {replaceable_value} characters." 25081: domain: "API_INVENTORY" category: "REQUEST" description: "Hazardous material information incomplete. Your listing\ \ must include hazardous statements." 25083: domain: "API_INVENTORY" category: "REQUEST" description: "Energy efficiency image is missing. Image is required\ \ with image description." 25084: domain: "API_INVENTORY" category: "REQUEST" description: "The listing must have both an energy efficiency label\ \ and a product information sheet." 25086: domain: "API_INVENTORY" category: "REQUEST" description: "The URL provided must be an eBay Picture Service URL." "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of Inventory or InventoryItemGroup.\ \ Please try again later" 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "207": description: "Multi-Status" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer: get: tags: - "offer" description: "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, so the marketplace_id\ \ query parameter currently does not have any practical use for this call.
Note: The same SKU can be offered through\ \ an auction and a fixed-price listing concurrently. If this is the case,\ \ getOffers will return two offers. Otherwise, only one offer will\ \ be returned.
The authorization header is the only\ \ required HTTP header for this call. See the HTTP request headers\ \ section for more information." operationId: "getOffers" parameters: - name: "format" in: "query" description: "This enumeration value sets the listing format for the offers\ \ being retrieved. This query parameter will be passed in if the seller\ \ only wants to see offers in a specified listing format, such as FIXED_PRICE." required: false schema: type: "string" - name: "limit" in: "query" description: "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." required: false schema: type: "string" - name: "marketplace_id" in: "query" description: "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.

Note:\ \ At this time, the same SKU value can not be offered across multiple eBay\ \ marketplaces, so the marketplace_id query parameter currently\ \ does not have any practical use for this call." required: false schema: type: "string" - name: "offset" in: "query" description: "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 0.\ \ The first page of records has a value of 0, the second page\ \ of records has a value of 1, and so on. If this query parameter\ \ is not set, its value defaults to 0, and the first page of\ \ records is returned." required: false schema: type: "string" - name: "sku" in: "query" description: "The seller-defined SKU value is passed in as a query parameter.\ \ All offers associated with this product are returned in the response.\ \

Note: The same SKU\ \ can be offered through an auction and a fixed-price listing concurrently.\ \ If this is the case, getOffers will return two offers. Otherwise,\ \ only one offer will be returned.
Use the getInventoryItems method to retrieve SKU values.

Max\ \ length: 50." required: false schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/Offers" "400": description: "Bad Request" x-response-codes: errors: 25706: domain: "API_INVENTORY" category: "REQUEST" description: "You have provided invalid pagination values. {additionalInfo}." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" post: tags: - "offer" description: "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.

Important!Publish\ \ offer note: Fields may be optional or conditionally required when calling\ \ this method, but become required when publishing the offer to create an\ \ active listing. For this method, see Offer fields for a list of fields required to publish\ \ an offer.


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:
  • Inventory location
  • Offer\ \ price
  • Available quantity
  • eBay listing category
  • Referenced\ \ listing policy profiles to set payment, return, and fulfillment values/settings
  • \ \

Note: Though the includeCatalogProductDetails\ \ parameter is not required to be submitted in the request, the parameter\ \ defaults to true if omitted.

Note: In addition to the authorization header, which\ \ is required for all Inventory API calls, this call also requires the Content-Type\ \ and Content-Language headers. See the HTTP request headers for more information.

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.

For those who\ \ prefer to create multiple offers (up to 25 at a time) with one call, the\ \ bulkCreateOffer method can be used.

" operationId: "createOffer" parameters: - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the offer for the channel" content: application/json: schema: description: "Details of the offer for the channel" $ref: "#/components/schemas/EbayOfferDetailsWithKeys" required: true responses: "201": description: "Created" headers: Content-Language: schema: type: "string" description: "This response header sets the natural language that\ \ will be provided in the field values of the response payload." content: application/json: schema: $ref: "#/components/schemas/OfferResponse" "400": description: "Bad Request" x-response-codes: errors: 25761: domain: "API_INVENTORY" category: "REQUEST" description: "Discount pricing is not applicable for auction offer." 25762: domain: "API_INVENTORY" category: "REQUEST" description: "availableQuantity is not applicable for auction offer." 25763: domain: "API_INVENTORY" category: "REQUEST" description: "quantityLimitPerBuyer is not applicable for auction\ \ offer." 25764: domain: "API_INVENTORY" category: "REQUEST" description: "eBayPlusIfEligible is not applicable for auction offer." 25702: domain: "API_INVENTORY" category: "REQUEST" description: "{skuValue} could not be found or is not available in\ \ the system." 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25755: domain: "API_INVENTORY" category: "REQUEST" description: "listingDuration is required for auction offer." 25756: domain: "API_INVENTORY" category: "REQUEST" description: "Auction format is not permitted with a SKU that is part\ \ of an InventoryItemGroup." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" 25757: domain: "API_INVENTORY" category: "REQUEST" description: "auctionStartPrice is required for auction offer." 25758: domain: "API_INVENTORY" category: "REQUEST" description: "auctionStartPrice and auctionReservePrice are not supported\ \ for fixed price offer." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer/{offerId}: get: tags: - "offer" description: "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.

" operationId: "getOffer" parameters: - name: "offerId" in: "path" description: "This path parameter specifies the unique identifier of the offer\ \ that is to be retrieved.

Use the getOffers method to retrieve offer IDs." required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/EbayOfferDetailsWithAll" "400": description: "Bad Request" x-response-codes: errors: 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" put: tags: - "offer" description: "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.

Important!Publish offer note: Fields\ \ may be optional or conditionally required when calling this method, but\ \ become required when publishing the offer to create an active listing. For\ \ this method, see Offer fields for a list of fields required to publish\ \ an offer.


Other information that is required before\ \ an unpublished offer can be published or before a published offer can be\ \ revised include:
  • Inventory location
  • Offer price
  • Available\ \ quantity
  • eBay listing category
  • Referenced listing policy\ \ profiles to set payment, return, and fulfillment values/settings
\ \

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: In addition to the authorization\ \ header, which is required for all Inventory API calls, this call also requires\ \ the Content-Type and Content-Language headers.\ \ See the HTTP request headers for more information.
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.

" operationId: "updateOffer" parameters: - name: "Content-Language" in: "header" description: "This header sets the natural language that will be used in the\ \ field values of the request payload. For example, the value passed in\ \ this header should be en-US for English or de-DE\ \ for German.

For more information on the Content-Language header,\ \ refer to HTTP request headers." required: true schema: type: "string" - name: "offerId" in: "path" description: "This path parameter specifies the unique identifier of the offer\ \ being updated.

Use the getOffers method to retrieve offer IDs." required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Details of the offer for the channel" content: application/json: schema: description: "Details of the offer for the channel" $ref: "#/components/schemas/EbayOfferDetailsWithId" required: true responses: "200": description: "Success" headers: Content-Language: schema: type: "string" description: "This response header sets the natural language that\ \ will be provided in the field values of the response payload." content: application/json: schema: $ref: "#/components/schemas/OfferResponse" x-response-codes: errors: 25028: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable and has been dropped" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25030: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable for the condition and has\ \ been dropped" 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing options removed. {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25033: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate policy IDs found" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" 25037: domain: "API_INVENTORY" category: "REQUEST" description: "Item level Eco Participation Fee will be ignored" "400": description: "Bad Request" x-response-codes: errors: 25088: domain: "API_INVENTORY" category: "REQUEST" description: "The email address provided is formatted incorrectly." 25601: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25089: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global compliance policies\ \ allowed. Excess policies ignored." 25090: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} compliance policies\ \ per region allowed. Excess policies ignored." 25091: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} compliance\ \ policies allowed. Excess policies ignored." 25604: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25092: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global takeback policy\ \ allowed." 25093: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} takeback policy per\ \ region allowed. Excess policies ignored." 25094: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} takeback\ \ policies allowed." 25095: domain: "API_INVENTORY" category: "REQUEST" description: "Region invalid for regional custom policy. Regions allowed\ \ are {replaceable_value}." 25104: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25106: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document structure incorrect. Max allowed\ \ number of entries is {replaceable_value}." 25107: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid document state for ID(s) {replaceable_value}.\ \ Documents must be in the SUBMITTED or ACCEPTED state." 25108: domain: "API_INVENTORY" category: "REQUEST" description: "Product Safety structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25109: domain: "API_INVENTORY" category: "REQUEST" description: "Product safety information incomplete. Your listing\ \ must include pictograms or safety statements." 25110: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer address information is incomplete. When\ \ providing the address, please provide the street, city, postal\ \ code and country" 25111: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer information is incomplete. Please provide\ \ the company name." 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25112: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25113: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person address information is incomplete.\ \ When providing the address, please provide the street, city, postal\ \ code and country" 25114: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person information is incomplete. Please\ \ provide the company name." 25115: domain: "API_INVENTORY" category: "REQUEST" description: "Either the Manufacturer or at least one of the Responsible\ \ Persons must be located in the EU." 25756: domain: "API_INVENTORY" category: "REQUEST" description: "Auction format is not permitted with a SKU that is part\ \ of an InventoryItemGroup." 25116: domain: "API_INVENTORY" category: "REQUEST" description: "Please provide a minimum of {replaceable_value} and\ \ a maximum of {replaceable_value} types for a Responsible Person." 25757: domain: "API_INVENTORY" category: "REQUEST" description: "auctionStartPrice is required for auction offer." 25758: domain: "API_INVENTORY" category: "REQUEST" description: "auctionStartPrice and auctionReservePrice are not supported\ \ for fixed price offer." 25118: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Manufacturer - either address, email, contact URL or phone." 25119: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Responsible Person - either address, email, contact URL or\ \ phone." 25761: domain: "API_INVENTORY" category: "REQUEST" description: "Discount pricing is not applicable for auction offer." 25762: domain: "API_INVENTORY" category: "REQUEST" description: "availableQuantity is not applicable for auction offer." 25122: domain: "API_INVENTORY" category: "REQUEST" description: "The contact URL is incorrectly formatted. Please update\ \ the formatting." 25763: domain: "API_INVENTORY" category: "REQUEST" description: "quantityLimitPerBuyer is not applicable for auction\ \ offer." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25764: domain: "API_INVENTORY" category: "REQUEST" description: "eBayPlusIfEligible is not applicable for auction offer." 25766: domain: "API_INVENTORY" category: "REQUEST" description: "The takeBackPolicyId field must be a long value type.\ \ Please correct the error." 25767: domain: "API_INVENTORY" category: "REQUEST" description: "The productCompliancePolicyId field must be a long value\ \ type. Please correct the error." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "A user error has occurred. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid category ID. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Fulfillment\ \ policy. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Payment\ \ policy. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Return\ \ policy. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid inventory location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "The {fieldName} value is invalid. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid shipping package details.\ \ {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid item condition information.\ \ {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limit exceeded. {additionalInfo}" 25029: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is required for this category." 25031: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid and needs to be a number between\ \ {min} and {max}" 25032: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid" 25034: domain: "API_INVENTORY" category: "REQUEST" description: "Only {max value} policies can be specified" 25035: domain: "API_INVENTORY" category: "REQUEST" description: "The specified policy is not found for the market place" 25036: domain: "API_INVENTORY" category: "REQUEST" description: "The policy(ies) {PolicyId} is not of type {PolicyEnum}" 25038: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer or is ending within 12 hours" 25039: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25040: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25710: domain: "API_INVENTORY" category: "REQUEST" description: "We didn't find the resource/entity you are requesting.\ \ Please verify the request" 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25076: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25077: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate Regulatory ID(s) {replaceable_value} sent\ \ in the request. Duplicate ID(s) have been ignored." 25078: domain: "API_INVENTORY" category: "REQUEST" description: "Hazmat structure incorrect for {replaceable_value}." 25079: domain: "API_INVENTORY" category: "REQUEST" description: "Repair score invalid. Repair score must be in the range\ \ from {replaceable_value} to {replaceable_value} with one decimal\ \ place." 25080: domain: "API_INVENTORY" category: "REQUEST" description: "The value of the {0} field is invalid. Field must not\ \ exceed {replaceable_value} characters." 25081: domain: "API_INVENTORY" category: "REQUEST" description: "Hazardous material information incomplete. Your listing\ \ must include hazardous statements." 25083: domain: "API_INVENTORY" category: "REQUEST" description: "Energy efficiency image is missing. Image is required\ \ with image description." 25084: domain: "API_INVENTORY" category: "REQUEST" description: "The listing must have both an energy efficiency label\ \ and a product information sheet." 25086: domain: "API_INVENTORY" category: "REQUEST" description: "The URL provided must be an eBay Picture Service URL." "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of the same Inventory or Inventory\ \ Item Group object is not allowed. Please try again later." 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" delete: tags: - "offer" description: "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." operationId: "deleteOffer" parameters: - name: "offerId" in: "path" description: "This path parameter specifies the unique identifier of the offer\ \ being deleted.

Use the getOffers method to retrieve offer IDs." required: true schema: type: "string" responses: "400": description: "Bad Request" x-response-codes: errors: 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "204": description: "No Content" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer/get_listing_fees: post: tags: - "offer" description: "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." operationId: "getListingFees" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "List of offers that needs fee information" content: application/json: schema: description: "List of offers that needs fee information" $ref: "#/components/schemas/OfferKeysWithId" required: false responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/FeesSummaryResponse" "400": description: "Bad Request" x-response-codes: errors: 25754: domain: "API_INVENTORY" category: "REQUEST" description: "One or more provided offerId(s) are invalid. All offerId(s)\ \ in the request should belong to an inventoryItem or inventoryItemGroup\ \ for a specific marketplaceId and format." 25709: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid value for {fieldName}. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer/{offerId}/publish: post: tags: - "offer" description: "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.

Important!Publish\ \ offer note: Fields may be optional or conditionally required when calling\ \ the create or update methods, but become required when publishing the offer\ \ to create active listings. For this method, see Offer fields for a list of fields required to publish\ \ an offer.


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." operationId: "publishOffer" parameters: - name: "offerId" in: "path" description: "This path parameter specifies the unique identifier of the offer\ \ that is to be published.

Use the getOffers method to retrieve offer IDs." required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/PublishResponse" x-response-codes: errors: 25028: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable and has been dropped" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25030: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable for the condition and has\ \ been dropped" 25401: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing format removed {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25033: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate policy IDs found" 25402: domain: "API_INVENTORY" category: "REQUEST" description: "System warning. {additionalInfo}" 25037: domain: "API_INVENTORY" category: "REQUEST" description: "Item level Eco Participation Fee will be ignored" "400": description: "Bad Request" x-response-codes: errors: 25088: domain: "API_INVENTORY" category: "REQUEST" description: "The email address provided is formatted incorrectly." 25601: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} is an invalid attribute." 25089: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global compliance policies\ \ allowed. Excess policies ignored." 25090: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} compliance policies\ \ per region allowed. Excess policies ignored." 25091: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} compliance\ \ policies allowed. Excess policies ignored." 25604: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25092: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global takeback policy\ \ allowed." 25093: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} takeback policy per\ \ region allowed. Excess policies ignored." 25094: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} takeback\ \ policies allowed." 25095: domain: "API_INVENTORY" category: "REQUEST" description: "Region invalid for regional custom policy. Regions allowed\ \ are {replaceable_value}." 25104: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25106: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document structure incorrect. Max allowed\ \ number of entries is {replaceable_value}." 25107: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid document state for ID(s) {replaceable_value}.\ \ Documents must be in the SUBMITTED or ACCEPTED state." 25108: domain: "API_INVENTORY" category: "REQUEST" description: "Product Safety structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25109: domain: "API_INVENTORY" category: "REQUEST" description: "Product safety information incomplete. Your listing\ \ must include pictograms or safety statements." 25110: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer address information is incomplete. When\ \ providing the address, please provide the street, city, postal\ \ code and country" 25111: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer information is incomplete. Please provide\ \ the company name." 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25112: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25113: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person address information is incomplete.\ \ When providing the address, please provide the street, city, postal\ \ code and country" 25114: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person information is incomplete. Please\ \ provide the company name." 25115: domain: "API_INVENTORY" category: "REQUEST" description: "Either the Manufacturer or at least one of the Responsible\ \ Persons must be located in the EU." 25116: domain: "API_INVENTORY" category: "REQUEST" description: "Please provide a minimum of {replaceable_value} and\ \ a maximum of {replaceable_value} types for a Responsible Person." 25118: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Manufacturer - either address, email, contact URL or phone." 25119: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Responsible Person - either address, email, contact URL or\ \ phone." 25760: domain: "API_INVENTORY" category: "REQUEST" description: "shipToLocationAvailability quantity insufficient to\ \ create auction listings." 25120: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, key information such\ \ as {fieldName} comes from eBay’s catalog and should be left blank." 25121: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, sellers are required\ \ to adopt eBay’s catalog data which will provide all the necessary\ \ details for the product." 25122: domain: "API_INVENTORY" category: "REQUEST" description: "The contact URL is incorrectly formatted. Please update\ \ the formatting." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25766: domain: "API_INVENTORY" category: "REQUEST" description: "The takeBackPolicyId field must be a long value type.\ \ Please correct the error." 25767: domain: "API_INVENTORY" category: "REQUEST" description: "The productCompliancePolicyId field must be a long value\ \ type. Please correct the error." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "A user error has occurred. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid category ID. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Fulfillment\ \ policy. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Payment\ \ policy. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid data in the associated Return\ \ policy. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid inventory location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has an invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "The {fieldName} value is invalid. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid shipping package details.\ \ {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "The eBay listing associated with the inventory item,\ \ or the unpublished offer has invalid item condition information.\ \ {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limit exceeded. {additionalInfo}" 25029: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is required for this category." 25031: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid and needs to be a number between\ \ {min} and {max}" 25032: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid" 25034: domain: "API_INVENTORY" category: "REQUEST" description: "Only {max value} policies can be specified" 25035: domain: "API_INVENTORY" category: "REQUEST" description: "The specified policy is not found for the market place" 25036: domain: "API_INVENTORY" category: "REQUEST" description: "The policy(ies) {PolicyId} is not of type {PolicyEnum}" 25038: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer or is ending within 12 hours" 25039: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25040: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25041: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, maximum\ \ handling time must be {replaceable_value} business day(s)." 25042: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, free\ \ shipping must be provided." 25043: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, returns\ \ must be accepted." 25044: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, refund\ \ must be provided as Money Back." 25045: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, the\ \ minimum time you'll accept returns must be {replaceable_value}\ \ days." 25046: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, seller\ \ must pay the cost for return shipping." 25047: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition" 25048: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ in this Category" 25049: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ for the selected Brand" 25050: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Title." 25051: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Subtitle" 25052: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, at\ \ least {replaceable_value} images must be provided" 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25076: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25077: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate Regulatory ID(s) {replaceable_value} sent\ \ in the request. Duplicate ID(s) have been ignored." 25078: domain: "API_INVENTORY" category: "REQUEST" description: "Hazmat structure incorrect for {replaceable_value}." 25079: domain: "API_INVENTORY" category: "REQUEST" description: "Repair score invalid. Repair score must be in the range\ \ from {replaceable_value} to {replaceable_value} with one decimal\ \ place." 25080: domain: "API_INVENTORY" category: "REQUEST" description: "The value of the {0} field is invalid. Field must not\ \ exceed {replaceable_value} characters." 25081: domain: "API_INVENTORY" category: "REQUEST" description: "Hazardous material information incomplete. Your listing\ \ must include hazardous statements." 25083: domain: "API_INVENTORY" category: "REQUEST" description: "Energy efficiency image is missing. Image is required\ \ with image description." 25084: domain: "API_INVENTORY" category: "REQUEST" description: "The listing must have both an energy efficiency label\ \ and a product information sheet." 25086: domain: "API_INVENTORY" category: "REQUEST" description: "The URL provided must be an eBay Picture Service URL." "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of the same Inventory or Inventory\ \ Item Group object is not allowed. Please try again later." 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "A system error has occurred. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer/publish_by_inventory_item_group: post: tags: - "offer" description: "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.

Important!Publish offer note: Fields\ \ may be optional or conditionally required when calling the create or update\ \ methods, but become required when publishing the offer to create active\ \ listings. For this method, see Offer fields for a list of fields required to publish\ \ an offer.


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." operationId: "publishOfferByInventoryItemGroup" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "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." content: application/json: schema: description: "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." $ref: "#/components/schemas/PublishByInventoryItemGroupRequest" required: true responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/PublishResponse" x-response-codes: errors: 25028: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable and has been dropped" 25124: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing requires a minimum 30-day return period\ \ and seller-paid return shipping. eBay automatically updated the\ \ listing's return policy settings to meet these requirements. Sellers\ \ using business policies should update their return business policy\ \ for future P&A listings. To learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25030: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not applicable for the condition and has\ \ been dropped" 25401: domain: "API_INVENTORY" category: "APPLICATION" description: "Invalid listing options removed. {additionalInfo}" 25753: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate is in the past or the offer is live.\ \ Value is not updated on the listing." 25033: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate policy IDs found" 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" 25037: domain: "API_INVENTORY" category: "REQUEST" description: "Item level Eco Participation Fee will be ignored" "400": description: "Bad Request" x-response-codes: errors: 25088: domain: "API_INVENTORY" category: "REQUEST" description: "The email address provided is formatted incorrectly." 25601: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25089: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global compliance policies\ \ allowed. Excess policies ignored." 25090: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} compliance policies\ \ per region allowed. Excess policies ignored." 25091: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} compliance\ \ policies allowed. Excess policies ignored." 25604: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25092: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} global takeback policy\ \ allowed." 25093: domain: "API_INVENTORY" category: "REQUEST" description: "No more than {replaceable_value} takeback policy per\ \ region allowed. Excess policies ignored." 25094: domain: "API_INVENTORY" category: "REQUEST" description: "No more than a total of {replaceable_value} takeback\ \ policies allowed." 25095: domain: "API_INVENTORY" category: "REQUEST" description: "Region invalid for regional custom policy. Regions allowed\ \ are {replaceable_value}." 25104: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25106: domain: "API_INVENTORY" category: "REQUEST" description: "Regulatory document structure incorrect. Max allowed\ \ number of entries is {replaceable_value}." 25107: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid document state for ID(s) {replaceable_value}.\ \ Documents must be in the SUBMITTED or ACCEPTED state." 25108: domain: "API_INVENTORY" category: "REQUEST" description: "Product Safety structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25109: domain: "API_INVENTORY" category: "REQUEST" description: "Product safety information incomplete. Your listing\ \ must include pictograms or safety statements." 25110: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer address information is incomplete. When\ \ providing the address, please provide the street, city, postal\ \ code and country" 25111: domain: "API_INVENTORY" category: "REQUEST" description: "Manufacturer information is incomplete. Please provide\ \ the company name." 25752: domain: "API_INVENTORY" category: "REQUEST" description: "listingStartDate provided is invalid." 25112: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person structure incorrect for {replaceable_value}.\ \ Max allowed number of entries is {replaceable_value}." 25113: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person address information is incomplete.\ \ When providing the address, please provide the street, city, postal\ \ code and country" 25114: domain: "API_INVENTORY" category: "REQUEST" description: "Responsible Person information is incomplete. Please\ \ provide the company name." 25115: domain: "API_INVENTORY" category: "REQUEST" description: "Either the Manufacturer or at least one of the Responsible\ \ Persons must be located in the EU." 25116: domain: "API_INVENTORY" category: "REQUEST" description: "Please provide a minimum of {replaceable_value} and\ \ a maximum of {replaceable_value} types for a Responsible Person." 25118: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Manufacturer - either address, email, contact URL or phone." 25119: domain: "API_INVENTORY" category: "REQUEST" description: "Seller must provide at least one form of contact info\ \ for Responsible Person - either address, email, contact URL or\ \ phone." 25120: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, key information such\ \ as {fieldName} comes from eBay’s catalog and should be left blank." 25121: domain: "API_INVENTORY" category: "REQUEST" description: "When listing in {categoryName}, sellers are required\ \ to adopt eBay’s catalog data which will provide all the necessary\ \ details for the product." 25122: domain: "API_INVENTORY" category: "REQUEST" description: "The contact URL is incorrectly formatted. Please update\ \ the formatting." 25123: domain: "API_INVENTORY" category: "REQUEST" description: "This P&A listing has a non-compliant domestic return\ \ policy. Please update the return window to 30-days (or more) and/or\ \ update return shipping cost payer to Seller, and then make another\ \ call. Sellers using business policies must make the same changes\ \ to their return business policy and then make another call. To\ \ learn more, visit https://www.ebay.com/sellercenter/news/2025-june/parts-accessories-return-policy." 25766: domain: "API_INVENTORY" category: "REQUEST" description: "The takeBackPolicyId field must be a long value type.\ \ Please correct the error." 25767: domain: "API_INVENTORY" category: "REQUEST" description: "The productCompliancePolicyId field must be a long value\ \ type. Please correct the error." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" 25003: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid price. {additionalInfo}" 25004: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid quantity. {additionalInfo}" 25005: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid category. {additionalInfo}" 25006: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid listing option. {additionalInfo}" 25007: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Shipping policy information. {additionalInfo}" 25008: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Payment policy information. {additionalInfo}" 25009: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid Return policy information. {additionalInfo}" 25011: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid tax information. {additionalInfo}" 25012: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid location. {additionalInfo}" 25013: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25013 Invalid data in the Inventory Item\ \ Group for the full list of messages returned and any available\ \ troubleshooting information." 25014: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid pictures. {additionalInfo}" 25015: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid picture URL. {additionalInfo}" 25016: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid {fieldName}. {additionalInfo}" 25017: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25017 Missing information in fields for\ \ the full list of messages returned and any available troubleshooting\ \ information." 25018: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25018 Incomplete account information\ \ for the full list of messages returned and any available troubleshooting\ \ information." 25019: domain: "API_INVENTORY" category: "REQUEST" description: "This error code is associated with multiple possible\ \ errors. See 25019 Cannot revise the listing for the\ \ full list of messages returned and any available troubleshooting\ \ information." 25020: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid package details. {additionalInfo}" 25021: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid condition information. {additionalInfo}" 25022: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid attribute. {fieldName}" 25023: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid compatibility information. {additionalInfo}" 25026: domain: "API_INVENTORY" category: "REQUEST" description: "Selling limits exceeded. {additionalInfo}" 25029: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is required for this category." 25031: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid and needs to be a number between\ \ {min} and {max}" 25032: domain: "API_INVENTORY" category: "REQUEST" description: "{field} is not valid" 25034: domain: "API_INVENTORY" category: "REQUEST" description: "Only {max value} policies can be specified" 25035: domain: "API_INVENTORY" category: "REQUEST" description: "The specified policy is not found for the market place" 25036: domain: "API_INVENTORY" category: "REQUEST" description: "The policy(ies) {PolicyId} is not of type {PolicyEnum}" 25038: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer or is ending within 12 hours" 25039: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25040: domain: "API_INVENTORY" category: "REQUEST" description: "{ItemId} cannot be revised if the item has a bid or\ \ a best offer and is ending within 12 hours" 25041: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, maximum\ \ handling time must be {replaceable_value} business day(s)." 25042: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, free\ \ shipping must be provided." 25043: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, returns\ \ must be accepted." 25044: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, refund\ \ must be provided as Money Back." 25045: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, the\ \ minimum time you'll accept returns must be {replaceable_value}\ \ days." 25046: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, seller\ \ must pay the cost for return shipping." 25047: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition" 25048: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ in this Category" 25049: domain: "API_INVENTORY" category: "REQUEST" description: "Seller is not eligible to use Refurbished Item Condition\ \ for the selected Brand" 25050: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Title." 25051: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, {replaceable_value}\ \ cannot be used in the Subtitle" 25052: domain: "API_INVENTORY" category: "REQUEST" description: "When listing an item with Refurbished condition, at\ \ least {replaceable_value} images must be provided" 25705: domain: "API_INVENTORY" category: "REQUEST" description: "The Inventory Item Group named {inventoryItemGroupKey}\ \ could not be found or is not available in the system." 25076: domain: "API_INVENTORY" category: "REQUEST" description: "{replaceable_value} ID(s) {replaceable_value} not found.\ \ Please use valid ID(s)." 25077: domain: "API_INVENTORY" category: "REQUEST" description: "Duplicate Regulatory ID(s) {replaceable_value} sent\ \ in the request. Duplicate ID(s) have been ignored." 25078: domain: "API_INVENTORY" category: "REQUEST" description: "Hazmat structure incorrect for {replaceable_value}." 25079: domain: "API_INVENTORY" category: "REQUEST" description: "Repair score invalid. Repair score must be in the range\ \ from {replaceable_value} to {replaceable_value} with one decimal\ \ place." 25080: domain: "API_INVENTORY" category: "REQUEST" description: "The value of the {0} field is invalid. Field must not\ \ exceed {replaceable_value} characters." 25081: domain: "API_INVENTORY" category: "REQUEST" description: "Hazardous material information incomplete. Your listing\ \ must include hazardous statements." 25083: domain: "API_INVENTORY" category: "REQUEST" description: "Energy efficiency image is missing. Image is required\ \ with image description." 25084: domain: "API_INVENTORY" category: "REQUEST" description: "The listing must have both an energy efficiency label\ \ and a product information sheet." 25086: domain: "API_INVENTORY" category: "REQUEST" description: "The URL provided must be an eBay Picture Service URL." "500": description: "Internal Server Error" x-response-codes: errors: 25025: domain: "API_INVENTORY" category: "APPLICATION" description: "Concurrent access of Inventory or InventoryItemGroup.\ \ Please try again later" 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer/{offerId}/withdraw: post: tags: - "offer" description: "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." operationId: "withdrawOffer" parameters: - name: "offerId" in: "path" description: "This path parameter specifies the unique identifier of the offer\ \ that is to be withdrawn.

Use the getOffers method to retrieve offer IDs." required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/WithdrawResponse" x-response-codes: errors: 25402: domain: "API_INVENTORY" category: "APPLICATION" description: "System warning. {additionalInfo}" "400": description: "Bad Request" x-response-codes: errors: 25713: domain: "API_INVENTORY" category: "REQUEST" description: "This Offer is not available : {additionalInfo}." 25002: domain: "API_INVENTORY" category: "REQUEST" description: "Any User error. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /offer/withdraw_by_inventory_item_group: post: tags: - "offer" description: "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." operationId: "withdrawOfferByInventoryItemGroup" parameters: - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

For\ \ more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "The base request of the withdrawOfferByInventoryItemGroup\ \ call." content: application/json: schema: description: "The base request of the withdrawOfferByInventoryItemGroup\ \ call." $ref: "#/components/schemas/WithdrawByInventoryItemGroupRequest" required: true responses: "400": description: "Bad Request" x-response-codes: errors: 25725: domain: "API_INVENTORY" category: "REQUEST" description: "No offer found" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "Any System error. {additionalInfo}" "204": description: "No Content" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /location/{merchantLocationKey}: get: tags: - "location" description: "This call retrieves all defined details of the inventory location\ \ that is specified by the merchantLocationKey path parameter.

A\ \ successful call will return an HTTP status value of 200 OK.

" operationId: "getInventoryLocation" parameters: - name: "merchantLocationKey" in: "path" description: "This path parameter specifies the unique merchant-defined key\ \ (ID) for an inventory location that is being retrieved.

Use the\ \ getInventoryLocations method to retrieve merchant location keys.

Max\ \ length: 36" required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/InventoryLocationResponse" "400": description: "Bad Request" x-response-codes: errors: 25804: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25805: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} Not Found." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" post: tags: - "location" description: "

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 location, as every offer must be associated with at least\ \ one location.

Important!Publish\ \ offer note: Fields may be optional or conditionally required when calling\ \ this method, but become required when publishing the offer to create an\ \ active listing. For this method, see Location fields for a list of fields required to\ \ publish an offer.

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 location to perform an action against.

When\ \ creating an inventory location, the locationTypes can be specified\ \ to define the function of a location. At this time, the following locationTypes\ \ are supported:

  • Fulfillment center locations are used by sellers\ \ selling products through the Multi-warehouse program to get improved estimated\ \ delivery dates on their listings. A full address is required when creating\ \ a fulfillment center location, as well as the fulfillmentCenterSpecifications\ \ of the location. For more information on using the fulfillment center location\ \ type to get improved delivery dates, see Multi-warehouse program.
  • Warehouse\ \ locations are used for traditional shipping. A full street address is not\ \ needed, but the postalCode and country OR city, stateOrProvince,\ \ and country of the location must be provided.
  • Store\ \ locations are generally used by merchants selling product through the In-Store\ \ Pickup program. A full address is required when creating a store location.

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.

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.

" operationId: "createInventoryLocation" parameters: - name: "merchantLocationKey" in: "path" description: "This path parameter specifies the unique, seller-defined key\ \ (ID) for an inventory location.

Max length: 36" required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

\ \ For more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "Inventory Location details" content: application/json: schema: description: "Inventory Location details" $ref: "#/components/schemas/InventoryLocationFull" required: true responses: "400": description: "Bad Request" x-response-codes: errors: 25800: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid {fieldName}." 25801: domain: "API_INVENTORY" category: "REQUEST" description: "Missing field {fieldName}." 25802: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25803: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} already exists." 25804: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" "204": description: "No Content" "409": description: "Location Already Exists" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" delete: tags: - "location" description: "

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 location once it is deleted.

Note:\ \ Deletion is not currently supported for fulfillment center locations, as\ \ location mappings will still be retained despite the location being deleted.\ \ Instead, fulfillment center locations should be disabled using the disableInventoryLocation method.

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.

" operationId: "deleteInventoryLocation" parameters: - name: "merchantLocationKey" in: "path" description: "This path parameter specifies the unique merchant-defined key\ \ (ID) for the inventory location that is to be deleted.

Use the\ \ getInventoryLocations method to retrieve merchant location keys.

Max\ \ length: 36" required: true schema: type: "string" responses: "400": description: "Bad Request" x-response-codes: errors: 25802: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25804: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25805: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} Not Found." 25806: domain: "API_INVENTORY" category: "REQUEST" description: "Deletion is not allowed when the location type of an\ \ inventory location has been set to fulfillment center. However,\ \ you may disable it." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" "204": description: "Success" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /location/{merchantLocationKey}/disable: post: tags: - "location" description: "

This call disables the inventory location that is specified\ \ in the merchantLocationKey path parameter. Sellers can not\ \ load/modify inventory to disabled locations. Note that disabling a 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\ \ location.

A successful call will return an HTTP status value of 200\ \ OK.

" operationId: "disableInventoryLocation" parameters: - name: "merchantLocationKey" in: "path" description: "This path parameter specifies the unique merchant-defined key\ \ (ID) for an inventory location that is to be disabled.

Use the\ \ getInventoryLocations method to retrieve merchant location keys.

Max\ \ length: 36" required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: type: "object" "400": description: "Bad Request" x-response-codes: errors: 25802: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25804: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25805: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} Not Found." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /location/{merchantLocationKey}/enable: post: tags: - "location" description: "

This call enables a disabled inventory location that is specified\ \ in the merchantLocationKey path parameter. Once a disabled\ \ location is enabled, sellers can start loading/modifying inventory to that\ \ location.

A successful call will return an HTTP status value of 200\ \ OK.

" operationId: "enableInventoryLocation" parameters: - name: "merchantLocationKey" in: "path" description: "This path parameter specifies unique merchant-defined key (ID)\ \ for a disabled inventory location that is to be enabled.

Use\ \ the getInventoryLocations method to retrieve merchant location keys.

Max\ \ length: 36" required: true schema: type: "string" responses: "200": description: "Success" content: application/json: schema: type: "object" "400": description: "Bad Request" x-response-codes: errors: 25802: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25804: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25805: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} Not Found." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" /location: get: tags: - "location" description: "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 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.

" operationId: "getInventoryLocations" parameters: - name: "limit" in: "query" description: "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.

Min: 1" required: false schema: type: "string" - name: "offset" in: "query" description: "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 0 and a limit of 10, the first page\ \ of the response contains the first 10 items from the complete list of\ \ items retrieved by the call. If offset is 10 and limit\ \ is 20, the first page of the response contains items 11-30\ \ from the complete result set.

Default: 0

" required: false schema: type: "string" responses: "200": description: "Success" content: application/json: schema: $ref: "#/components/schemas/LocationResponse" "400": description: "Bad Request" "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory.readonly" - "https://api.ebay.com/oauth/api_scope/sell.inventory" /location/{merchantLocationKey}/update_location_details: post: tags: - "location" description: "

Use this call to update 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, timeZoneId, geoCoordinates,\ \ fulfillmentCenterSpecifications, locationTypes,\ \ locationWebUrl, locationInstructions and\ \ locationAdditionalInformation any number of times for any\ \ location type.

For warehouse and store inventory locations, address\ \ fields can be updated any number of times. Address fields cannot\ \ be updated for fulfillment center locations. However, if any address fields\ \ were omitted during the createInventoryLocation call, they can be\ \ added through this method.

Note: When\ \ updating a warehouse location to a fulfillment center, sellers can update\ \ any of the address fields a single time during the same call used to make\ \ this update. After this, they can no longer be updated.

For store\ \ locations, the operating hours and/or the special hours can also be updated.

Whatever\ \ text is passed in for these fields in an updateInventoryLocation\ \ call will replace the current text strings defined for these fields.

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.

" operationId: "updateInventoryLocation" parameters: - name: "merchantLocationKey" in: "path" description: "This path parameter specifies the unique merchant-defined key\ \ (ID) for an inventory location that is to be updated.

Use the\ \ getInventoryLocations method to retrieve merchant location keys.

Max\ \ length: 36" required: true schema: type: "string" - name: "Content-Type" in: "header" description: "This header indicates the format of the request body provided\ \ by the client. Its value should be set to application/json.

\ \ For more information, refer to HTTP request headers." required: true schema: type: "string" requestBody: description: "The inventory location details to be updated." content: application/json: schema: description: "The inventory location details to be updated." $ref: "#/components/schemas/InventoryLocation" required: true responses: "400": description: "Bad Request" x-response-codes: errors: 25800: domain: "API_INVENTORY" category: "REQUEST" description: "Invalid {fieldName}." 25801: domain: "API_INVENTORY" category: "REQUEST" description: "Missing field {fieldName}." 25802: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25803: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} already exists." 25804: domain: "API_INVENTORY" category: "REQUEST" description: "Input error. {additionalInfo}" 25805: domain: "API_INVENTORY" category: "REQUEST" description: "{fieldName} Not Found." "500": description: "Internal Server Error" x-response-codes: errors: 25001: domain: "API_INVENTORY" category: "APPLICATION" description: "System error. {additionalInfo}" "204": description: "Success" "404": description: "Not Found" security: - api_auth: - "https://api.ebay.com/oauth/api_scope/sell.inventory" components: schemas: Address: type: "object" properties: addressLine1: type: "string" description: "The first line of a street address. This field is required\ \ for store and fulfillment center locations. A street address is not\ \ required for warehouse locations.

This field will be returned\ \ if defined for an inventory location.

Max length: 128" addressLine2: type: "string" description: "The second line of a street address. This field can be used\ \ for additional address information, such as a suite or apartment number.\ \

This field will be returned if defined for an inventory location.\ \

Max length: 128" city: type: "string" description: "The city in which the inventory location resides. This field\ \ is required for store and fulfillment center locations. For warehouse\ \ locations, this field is conditionally required as part of a city\ \ and stateOrProvince pair if a postalCode\ \ is not provided. If a postalCode is provided, the city\ \ is derived from the provided postal code and this field is technically\ \ optional.

This field is returned if defined for an inventory\ \ location.

Max length: 128" country: type: "string" description: "The country in which the address resides, represented as two-letter\ \ ISO 3166 country code. For\ \ example, US represents the United States, and DE\ \ represents Germany. For implementation help, refer to eBay\ \ API documentation" county: type: "string" description: "The county in which the address resides.

This field\ \ is returned if defined for an inventory location." postalCode: type: "string" description: "The postal/zip code of the address. eBay uses postal codes\ \ to surface In-Store Pickup items within the vicinity of a buyer's location,\ \ and it also uses postal codes (origin and destination) to estimate shipping\ \ costs when the seller uses calculated shipping. This field is required\ \ for store and fulfillment center locations.

For warehouse locations,\ \ this field is conditionally required if a city and\ \ stateOrProvince pair is not provided.

Note: For warehouse locations,\ \ city and stateOrProvince pair can\ \ be used instead of a postalCode value, and then the\ \ postal code is just derived from the city and state/province.

This\ \ field is returned if defined for an inventory location.

Max\ \ length: 16" stateOrProvince: type: "string" description: "The state/province in which the inventory location resides.\ \ This field is required for store and fulfillment center locations. For\ \ warehouse locations, this field is conditionally required as part of\ \ a city and stateOrProvince pair if\ \ a postalCode is not provided. If a postalCode\ \ is provided, the state or province is derived from the provided zip\ \ code and this field is technically optional.

Max length:\ \ 128" description: "This type is used to define the physical address of an inventory\ \ location." Amount: type: "object" properties: currency: type: "string" description: "A three-digit string value representing the type of currency\ \ being used. Both the value and currency\ \ fields are required/always returned when expressing prices.

See\ \ the CurrencyCodeEnum type for the full list of currencies and\ \ their corresponding three-digit string values." value: type: "string" description: "A string representation of a dollar value expressed in the\ \ currency specified in the currency field. Both the\ \ value and currency fields are required/always\ \ returned when expressing prices." description: "This type is used to express a dollar value and the applicable\ \ currency." Availability: type: "object" properties: pickupAtLocationAvailability: type: "array" description: "This container consists of an array of one or more of the\ \ merchant's physical store locations where the inventory item is available\ \ for In-Store Pickup orders. The merchant's location, the quantity available,\ \ and the fulfillment time (how soon the item will be ready for pickup\ \ after the order takes place) are all in this container. In-Store Pickup\ \ is only available to large merchants selling on the US, UK, Germany,\ \ and Australia sites." items: $ref: "#/components/schemas/PickupAtLocationAvailability" shipToLocationAvailability: description: "This container specifies the quantity of the inventory item\ \ that are available for purchase across one or more eBay marketplaces." $ref: "#/components/schemas/ShipToLocationAvailability" description: "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." AvailabilityDistribution: type: "object" properties: fulfillmentTime: description: "This container is used to indicate the expected fulfillment\ \ time if the inventory item is shipped from the warehouse location identified\ \ in the corresponding merchantLocationKey field. The\ \ fulfillment time is the estimated number of business days after purchase\ \ that the buyer can expect the item to be delivered.

This field\ \ is optional, and is used by eBay to provide the estimated delivery date\ \ to buyers. This field is returned by getInventoryItem and getInventoryItems if set for the inventory item." $ref: "#/components/schemas/TimeDuration" merchantLocationKey: type: "string" description: "The unique identifier of an inventory location where quantity\ \ is available for the inventory item. This field is conditionally required\ \ to identify the inventory location that has quantity of the inventory\ \ item.

Use the getInventoryLocations method to retrieve merchant\ \ location keys." quantity: type: "integer" description: "The integer value passed into this field indicates the quantity\ \ of the inventory item that is available at this inventory location.\ \ This field is conditionally required." format: "int32" description: "This type is used to set the available quantity of the inventory\ \ item at one or more warehouse locations." AvailabilityWithAll: type: "object" properties: pickupAtLocationAvailability: type: "array" description: "This container consists of an array of one or more of the\ \ merchant's physical stores where the inventory item is available for\ \ in-store pickup.

The store ID, the quantity available, and the\ \ fulfillment time (how soon the item will be ready for pickup after the\ \ order occurs) are all returned in this container." items: $ref: "#/components/schemas/PickupAtLocationAvailability" shipToLocationAvailability: description: "This container specifies the quantity of the inventory items\ \ that are available for a standard purchase, where the item is shipped\ \ to the buyer." $ref: "#/components/schemas/ShipToLocationAvailabilityWithAll" description: "This type is used to specify the quantity of the inventory items\ \ that are available for purchase if the items will be shipped to the buyer,\ \ and the quantity of the inventory items that are 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." BaseResponse: type: "object" properties: warnings: type: "array" description: "This container will be returned in a call response payload\ \ if one or more warnings or errors are triggered when an Inventory API\ \ call is made. This container will contain detailed information about\ \ the error or warning." items: $ref: "#/components/schemas/Error" description: "This is the base response of the createOrReplaceInventoryItem,\ \ createOrReplaceInventoryItemGroup, and createOrReplaceProductCompatibility\ \ calls. A response payload will only be returned for these three calls if\ \ one or more errors or warnings occur with the call." BestOffer: type: "object" properties: autoAcceptPrice: description: "This is the price at which Best Offers are automatically accepted.\ \ If a buyer submits a Best Offer that is equal to or above this value,\ \ the offer is automatically accepted on behalf of the seller. This field\ \ is only applicable if the bestOfferEnabled value is\ \ set to true.

The price set here must be lower than\ \ the current 'Buy it Now' price. This field is only returned by getOffer\ \ and getOffers if set." $ref: "#/components/schemas/Amount" autoDeclinePrice: description: "This is the price at which Best Offers are automatically declined.\ \ If a buyer submits a Best Offer that is equal to or below this value,\ \ the offer is automatically declined on behalf of the seller. This field\ \ is only applicable if the bestOfferEnabled value is\ \ set to true.

The price set here must be lower than\ \ the current 'Buy it Now' price and the price set in the autoAcceptPrice\ \ field (if used). This field is only returned by getOffer and getOffers if set." $ref: "#/components/schemas/Amount" bestOfferEnabled: type: "boolean" description: "This field indicates whether or not the Best Offer feature\ \ is enabled for the listing. A seller can enable the Best Offer feature\ \ for a listing as long as the category supports the Best Offer feature.

The\ \ seller includes this field and sets its value to true to\ \ enable Best Offer feature.

Note:\ \ Best Offer is not available for multi-variation listings." description: "This type is used by the bestOfferTerms container,\ \ which is used if the seller would like to support the Best Offer feature\ \ on their listing." BulkEbayOfferDetailsWithKeys: type: "object" properties: requests: type: "array" description: "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." items: $ref: "#/components/schemas/EbayOfferDetailsWithKeys" description: "This type is used by the base request of the bulkCreateOffer\ \ method, which is used to create up to 25 new offers." BulkGetInventoryItem: type: "object" properties: requests: type: "array" description: "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." items: $ref: "#/components/schemas/GetInventoryItem" description: "This type is used by the base request of the bulkGetInventoryItem\ \ method." BulkGetInventoryItemResponse: type: "object" properties: responses: type: "array" description: "This is the base container of the bulkGetInventoryItem\ \ response. The results of each attempted inventory item retrieval is\ \ captured under this container." items: $ref: "#/components/schemas/GetInventoryItemResponse" description: "This type is used by the base response of the bulkGetInventoryItem\ \ method." BulkInventoryItem: type: "object" properties: requests: type: "array" description: "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." items: $ref: "#/components/schemas/InventoryItemWithSkuLocale" description: "The base request of the bulkCreateOrReplaceInventoryItem\ \ method." BulkInventoryItemResponse: type: "object" properties: responses: type: "array" description: "This is the base container of the bulkCreateOrReplaceInventoryItem\ \ response. The results of each attempted inventory item creation/update\ \ is captured under this container." items: $ref: "#/components/schemas/InventoryItemResponse" description: "This type is used by the base response of the bulkCreateOrReplaceInventoryItem\ \ method." BulkMigrateListing: type: "object" properties: requests: type: "array" description: "This is the base container of the bulkMigrateListings\ \ request payload. One to five eBay listings will be included under this\ \ container." items: $ref: "#/components/schemas/MigrateListing" description: "This type is used by the base container of the bulkMigrateListings\ \ request payload." BulkMigrateListingResponse: type: "object" properties: responses: type: "array" description: "This is the base container of the response payload of the\ \ bulkMigrateListings call. The results of each attempted\ \ listing migration is captured under this container." items: $ref: "#/components/schemas/MigrateListingResponse" description: "This type is used by the response payload of the bulkMigrateListings\ \ call." BulkOffer: type: "object" properties: requests: type: "array" description: "This container is used to pass in an array of offers to publish.\ \ Up to 25 offers can be published with one bulkPublishOffer\ \ method." items: $ref: "#/components/schemas/OfferKeyWithId" description: "This type is used by the base request of the bulkPublishOffer\ \ method, which is used to publish up to 25 different offers." BulkOfferResponse: type: "object" properties: responses: type: "array" items: $ref: "#/components/schemas/OfferSkuResponse" description: "This type is used by the base response of the bulkCreateOffer\ \ method." BulkPriceQuantity: type: "object" properties: requests: type: "array" description: "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." items: $ref: "#/components/schemas/PriceQuantity" description: "This type is used by the base request payload of the bulkUpdatePriceQuantity\ \ call. The bulkUpdatePriceQuantity call allows 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." BulkPriceQuantityResponse: type: "object" properties: responses: type: "array" description: "This container will return an HTTP status code, offer ID,\ \ and SKU value for each offer/inventory item being updated, as well as\ \ an errors and/or warnings container\ \ if any errors or warnings are triggered while trying to update those\ \ offers/inventory items." items: $ref: "#/components/schemas/PriceQuantityResponse" description: "This type is use by the base response payload of the bulkUpdatePriceQuantity\ \ call. The bulkUpdatePriceQuantity call response will return\ \ an HTTP status code, offer ID, and SKU value for each offer/inventory item\ \ being updated, as well as an errors and/or warnings\ \ container if any errors or warnings are triggered while trying to update\ \ those offers/inventory items." BulkPublishResponse: type: "object" properties: responses: type: "array" description: "A node is returned under the responses container\ \ to indicate the success or failure of each offer that the seller was\ \ attempting to publish." items: $ref: "#/components/schemas/OfferResponseWithListingId" description: "This type is used by the base response of the bulkPublishOffer\ \ method." Charity: type: "object" properties: charityId: type: "string" description: "The eBay-assigned unique identifier of the charitable organization\ \ that will receive a percentage of the sales proceeds. The charitable\ \ organization must be reqistered with the PayPal Giving Fund in order\ \ to receive sales proceeds through eBay listings.

This field is\ \ conditionally required if a seller is planning on donating a percentage\ \ of the sale proceeds to a charitable organization.

The eBay-assigned\ \ unique identifier of a charitable organization can be found using the\ \ getCharityOrgs method of the Charity API. In the\ \ getCharityOrgs response, this unique identifier is\ \ shown in the charityOrgId field." donationPercentage: type: "string" description: "This field is the percentage of the purchase price that the\ \ charitable organization (identified in the charityId\ \ field) will receive for each sale that the listing generates. This field\ \ is conditionally required if a seller is planning on donating a percentage\ \ of the sale proceeds to a charitable organization. This numeric value\ \ can range from 10 to 100, and in any 5 (percent) increments in between\ \ this range (e.g. 10, 15, 20...95,...\ \ 100). The seller would pass in 10 for 10 percent,\ \ 15 for 15 percent, 20 for 20 percent, and\ \ so on, all the way to 100 for 100 percent." description: "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.

In\ \ order to receive a percentage of the sales proceeds, the charitable organization\ \ must be registered with the PayPal Giving Fund, which is a partner of eBay\ \ for Charity." Compatibility: type: "object" properties: compatibleProducts: type: "array" description: "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." items: $ref: "#/components/schemas/CompatibleProduct" sku: type: "string" description: "The seller-defined SKU value of the inventory item that will\ \ be associated with the compatible vehicles.

Note: This field is not applicable to the createOrReplaceProductCompatibility\ \ method, as the SKU value for the inventory item is passed in as part\ \ of the call URI and not in the request payload. It is always returned\ \ with the getProductCompatibility method." description: "This type is used by the createOrReplaceProductCompatibility\ \ call to associate compatible vehicles to an inventory item. This type is\ \ also the base response of the getProductCompatibility call." CompatibleProduct: type: "object" properties: compatibilityProperties: type: "array" description: "This container consists of an array of motor vehicles that\ \ are compatible with the motor vehicle part or accessory specified by\ \ the SKU value in the call URI. Each motor vehicle is defined through\ \ a separate set of name/value pairs. In the name field,\ \ the vehicle aspect (such as 'make', 'model', 'year', 'trim', or 'engine')\ \ will be identified, and the value field will be used\ \ to identify the value of each aspect.

The getCompatibilityProperties method of the Taxonomy\ \ API can be used to retrieve applicable vehicle aspect names for a specified\ \ category, and the getCompatibilityPropertyValues method of the Taxonomy\ \ API can be used to retrieve possible values for these same vehicle aspect\ \ names.

Below is an example of identifying one motor vehicle using\ \ the compatibilityProperties container:

"compatibilityProperties"\ \ : [
  {
   "name"\ \ : "make",
   "value" : "Subaru"
  },
  {
   "name"\ \ : "model",
   "value" : "GL"
  },
  {
   "name"\ \ : "year",
   "value" : "1983"
  },
  {
   "name"\ \ : "trim",
   "value" : "Base\ \ Wagon 4-Door"
  },
  {
   "name"\ \ : "engine",
   "value" : "1.8L\ \ Turbocharged"
  }
]


Typically,\ \ the make, model, and year of the motor vehicle are always required,\ \ with the trim and engine being necessary sometimes, but it will be dependent\ \ on the part or accessory, and on the vehicle class.

Note: The productFamilyProperties\ \ container is deprecated and should no longer be used. The compatibilityProperties\ \ container should be used instead." items: $ref: "#/components/schemas/NameValueList" notes: type: "string" description: "This field is used by the seller to input any notes pertaining\ \ to the compatible vehicle list being defined. The seller might use this\ \ field to specify the placement of the part on a vehicle or other applicable\ \ information.

This field will only be returned if specified by\ \ the seller.

Max Length: 500
" productFamilyProperties: description: "

Important! The productFamilyProperties\ \ container is deprecated and should no longer be used. The compatibilityProperties\ \ container should be used instead.

" $ref: "#/components/schemas/ProductFamilyProperties" productIdentifier: description: "This container is used in a createOrReplaceProductCompatibility\ \ call to identify a motor vehicle that is compatible with the inventory\ \ item. The user specifies either an eBay Product ID (ePID) or K-Type\ \ value to identify a vehicle, and if the motor vehicle is found in the\ \ eBay product catalog, the motor vehicle properties (make, model, year,\ \ trim, engine) will automatically be populated for the vehicle. If the\ \ vehicle cannot be found using these identifiers, the vehicle will not\ \ be added to the compatible vehicle list.

Note that this container\ \ will not be returned in the getProductCompatibility\ \ call." $ref: "#/components/schemas/ProductIdentifier" description: "This type is used to specify/indicate the motor vehicles that\ \ are compatible with the corresponding inventory item. " ConditionDescriptor: type: "object" properties: additionalInfo: type: "string" description: "This string provides additional information about a condition\ \ descriptor. Open text is passed in this field.

In the case of\ \ trading cards, this field houses the optional Certification Number\ \ condition descriptor for graded cards.

Max Length: 30\ \ characters" name: type: "string" description: "This string provides the name of a condition descriptor. A\ \ numeric ID is passed in this field. This numeric ID maps to the name\ \ of a condition descriptor. Condition descriptor name-value pairs provide\ \ more information about an item's condition in a structured way.

To\ \ retrieve all condition descriptor name numeric IDs for a category, refer\ \ to the conditionDescriptorId field returned in the getItemConditionPolicies method of Metadata\ \ API.

In the case of trading cards, this field is used to provide\ \ condition descriptors for a card. For graded cards, the condition descriptors\ \ for Grader and Grade are required, while the condition\ \ descriptor for Certification Number is optional. For ungraded\ \ cards, only the Card Condition condition descriptor is required." values: type: "array" description: "This array provides the value(s) associated with a condition\ \ descriptor. One or more numeric IDs is passed in this field. Commas\ \ are used as delimiters between successive name/value pairs. These numeric\ \ IDs map to the values associated with a condition descriptor name. Condition\ \ descriptor name-value pairs provide more information about an item's\ \ condition in a structured way.

To retrieve all condition descriptor\ \ value numeric IDs for a category, refer to the ConditionDescriptorValueId\ \ array returned in the getItemConditionPolicies method of Metadata\ \ API.

In the case of trading cards, this field houses the information\ \ on the Grader and Grade descriptors of graded cards and\ \ the Card Condition descriptor for ungraded cards." items: type: "string" description: "This type is used by the seller to provide additional information\ \ about the condition of an item in a structured format." CountryPolicy: type: "object" properties: country: type: "string" description: "The two-letter ISO 3166-1 country code identifying the country\ \ to which the policy or policies specified in the corresponding policyIds\ \ array will apply. For implementation help, refer to eBay\ \ API documentation" policyIds: type: "array" description: "An array of custom policy identifiers that apply to the country\ \ specified by listingPolicies.regionalTakeBackPolicies.countryPolicies.country.

Product\ \ compliance and take-back policy information may be returned using the\ \ following methods:
  • getCustomPolicies

    Set policy_types\ \ to:
    • PRODUCT_COMPLIANCE for product compliance policies
    • TAKE_BACK\ \ for takeback policies

    This returns the list of specified\ \ policies and corresponding customPolicyId values a seller has\ \ created.
  • getCustomPolicy with custom_policy_id\ \ = customPolicyId

    Returns the details of the policy specified\ \ by customPolicyId
For information about creating and\ \ managing custom policies, refer to the custom_policy resource in the Sell Account\ \ API." items: type: "string" description: "This type specifies custom product compliance and/or take-back\ \ policies that apply to a specified country." Dimension: type: "object" properties: height: type: "number" description: "The actual height (in the measurement unit specified in the\ \ unit field) of the shipping package. All fields of\ \ the dimensions container are required if package dimensions\ \ are specified.

If a shipping package measured 21.5 inches in\ \ length, 15.0 inches in width, and 12.0 inches in height, the dimensions\ \ container would look as follows:
\"dimensions\": {
\ \ \"length\": 21.5,
\"width\": 15.0,
\"height\": 12.0,
\"\ unit\": \"INCH\"
}
" length: type: "number" description: "The actual length (in the measurement unit specified in the\ \ unit field) of the shipping package. All fields of\ \ the dimensions container are required if package dimensions\ \ are specified.

If a shipping package measured 21.5 inches in\ \ length, 15.0 inches in width, and 12.0 inches in height, the dimensions\ \ container would look as follows:
\"dimensions\": {
\ \ \"length\": 21.5,
\"width\": 15.0,
\"height\": 12.0,
\"\ unit\": \"INCH\"
}
" unit: type: "string" description: "The unit of measurement used to specify the dimensions of\ \ a shipping package. All fields of the dimensions container\ \ are required if package dimensions are specified. If the English system\ \ of measurement is being used, the applicable values for dimension units\ \ are FEET and INCH. If the metric system of\ \ measurement is being used, the applicable values for weight units are\ \ METER and CENTIMETER. The metric system is\ \ used by most countries outside of the US. For implementation help, refer\ \ to eBay\ \ API documentation" width: type: "number" description: "The actual width (in the measurement unit specified in the\ \ unit field) of the shipping package. All fields of\ \ the dimensions container are required if package dimensions\ \ are specified.

If a shipping package measured 21.5 inches in\ \ length, 15.0 inches in width, and 12.0 inches in height, the dimensions\ \ container would look as follows:
\"dimensions\": {
\ \ \"length\": 21.5,
\"width\": 15.0,
\"height\": 12.0,
\"\ unit\": \"INCH\"
}
" description: "This type is used to specify the dimensions (and the unit used\ \ to measure those dimensions) of a shipping package. The dimensions\ \ container is conditionally required if the seller will be offering calculated\ \ shipping rates to determine shipping cost. See the Calculated shipping help page for more information\ \ on calculated shipping." Document: type: "object" properties: documentId: type: "string" description: "The unique identifier of a regulatory document associated\ \ with the listing.

This value can be found in the response of\ \ the createDocument method of the Media API." description: "This type provides an array of one or more regulatory documents\ \ associated with a listing for Regulatory Compliance." EbayOfferDetailsWithAll: type: "object" properties: availableQuantity: type: "integer" description: "This integer value indicates 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." format: "int32" categoryId: type: "string" description: "The unique identifier of the primary eBay category that the\ \ inventory item is listed under. This field is always returned for published\ \ offers, but is only returned if set for unpublished offers." charity: description: "This container is returned if a charitable organization will\ \ receive a percentage of sale proceeds for each sale generated by the\ \ listing. This container consists of the charityId field\ \ to identify the charitable organization, and the donationPercentage\ \ field that indicates the percentage of the sales proceeds that will\ \ be donated to the charitable organization." $ref: "#/components/schemas/Charity" extendedProducerResponsibility: description: "This container is used to provide the eco-participation fee\ \ for a product. Use the getExtendedProducerResponsibilityPolicies\_method of the\_Sell\ \ Metadata API to retrieve categories that support eco-participation\ \ fee for a specified marketplace." $ref: "#/components/schemas/ExtendedProducerResponsibility" format: type: "string" description: "This enumerated value indicates the listing format of the\ \ offer. For implementation help, refer to eBay\ \ API documentation" hideBuyerDetails: type: "boolean" description: "This field is returned as true if the private\ \ listing feature has been enabled for the offer. Sellers may want to\ \ use this feature when they believe that a listing's potential bidders/buyers\ \ would not want their obfuscated user IDs (and feedback scores) exposed\ \ to other users.

This field is always returned even if not explicitly\ \ set in the offer. It defaults to false, so will get returned\ \ as false if seller does not set this feature with a 'Create'\ \ or 'Update' offer method." includeCatalogProductDetails: type: "boolean" description: "This field indicates whether or not eBay product catalog details\ \ are applied to a listing. A value of true indicates the\ \ listing corresponds to the eBay product associated with the provided\ \ product identifier. The product identifier is provided in createOrReplaceInventoryItem.

Note: Though the includeCatalogProductDetails\ \ parameter is not required to be submitted in the request, the parameter\ \ defaults to 'true' if omitted.

" listing: description: "For published offers, this container is always returned in\ \ the getOffer and getOffers calls,\ \ and includes the eBay listing ID associated with the offer, the status\ \ of the listing, and the quantity sold through the listing. The listing\ \ container is not returned at all for unpublished offers." $ref: "#/components/schemas/ListingDetails" listingDescription: type: "string" description: "The description of the eBay listing that is part of the unpublished\ \ or published offer. This field is always returned for published offers,\ \ but is only returned if set for unpublished offers.

Max\ \ Length: 500000 (which includes HTML markup/tags)" listingDuration: type: "string" description: "This field indicates the number of days that the listing will\ \ be active.

This field is returned for both auction and fixed-price\ \ listings; however, the value returned for fixed-price listings will\ \ always be GTC. The GTC (Good 'Til Cancelled) listings are\ \ automatically renewed each calendar month until the seller decides to\ \ end the listing.

Note:\ \ If the listing duration expires for an auction offer, the listing then\ \ becomes available as a fixed-price offer and will be GTC. For\ \ implementation help, refer to eBay\ \ API documentation" listingPolicies: description: "This container indicates the listing policies that are applied\ \ to the offer. Listing policies include business policies, custom listing\ \ policies, and fields that override shipping costs, enable eBay Plus\ \ eligibility, or enable the Best Offer feature.

It is required\ \ that the seller be opted into Business Policies before being able to\ \ create live eBay listings through the Inventory API. Sellers can opt-in\ \ to Business Policies through My eBay or by using the Account API's optInToProgram\ \ call. Payment, return, and fulfillment listing policies may be created/managed\ \ in My eBay or by using the listing policy calls of the sell Account\ \ API. The sell Account API can also be used\ \ to create and manage custom policies. For more information, see the\ \ sell Account API.

For unpublished offers where business policies\ \ have yet to be specified, this container will be returned as empty." $ref: "#/components/schemas/ListingPolicies" listingStartDate: type: "string" description: "This timestamp is the date/time (in UTC format) that the seller\ \ set for the scheduled listing. With the scheduled listing feature, the\ \ seller can set a time in the future that the listing will become active,\ \ instead of the listing becoming active immediately after a publishOffer\ \ call.

For example: 2023-05-30T19:08:00Z.

Scheduled listings\ \ do not always start at the exact date/time specified by the seller,\ \ but the date/time of the timestamp returned in getOffer/getOffers\ \ will be the same as the timestamp passed into a 'Create' or 'Update'\ \ offer call.

This field is returned if set for an offer." lotSize: type: "integer" description: "This field is only applicable and returned if the listing\ \ is a lot listing. A lot listing is a listing that has multiple quantity\ \ of the same product. An example would be a set of four identical car\ \ tires. The integer value in this field is the number of identical items\ \ being sold through the lot listing." format: "int32" marketplaceId: type: "string" description: "This enumeration value is the unique identifier of the eBay\ \ site on which the offer is available, or will be made available. For\ \ implementation help, refer to eBay\ \ API documentation" merchantLocationKey: type: "string" description: "The unique identifier of the inventory location. This identifier\ \ is set up by the merchant when the inventory location is first created\ \ with the createInventoryLocation call. Once this value\ \ is set for an inventory location, it can not be modified. To get more\ \ information about this inventory location, the getInventoryLocation method can be used, passing\ \ in this value at the end of the call URI.

This field is always\ \ returned for published offers, but is only returned if set for unpublished\ \ offers.

Max length: 36" offerId: type: "string" description: "The unique identifier of the offer. This identifier is used\ \ in many offer-related calls, and it is also used in the bulkUpdatePriceQuantity\ \ call." pricingSummary: description: "This container shows the listing price for the product offer,\ \ and if applicable, the settings for the Minimum Advertised Price and\ \ Strikethrough Pricing features. 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.

For unpublished offers where pricing\ \ information has yet to be specified, this container will be returned\ \ as empty." $ref: "#/components/schemas/PricingSummary" quantityLimitPerBuyer: type: "integer" description: "This field is only applicable and set if the seller wishes\ \ to set a restriction on the purchase quantity of an inventory item 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 in this\ \ field. So, if this field's value is 5, each buyer may purchase\ \ a quantity of the inventory item between one and five, and the purchases\ \ can occur in one multiple-quantity purchase, or over multiple transactions.\ \ If a buyer attempts to purchase one or more of these products, and the\ \ cumulative quantity will take the buyer beyond the quantity limit, that\ \ buyer will be blocked from that purchase.
" format: "int32" regulatory: description: "This container is used by the seller to provide regulatory\ \ information." $ref: "#/components/schemas/Regulatory" secondaryCategoryId: type: "string" description: "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.

Note: You cannot list US eBay Motors\ \ vehicles in two categories. However, you can list Parts & Accessories\ \ in two categories." sku: type: "string" description: "This is the seller-defined SKU value of the product in the\ \ offer.

Max Length: 50
" status: type: "string" description: "The enumeration value in this field specifies the status of\ \ the offer - either PUBLISHED or UNPUBLISHED.\ \ For implementation help, refer to eBay\ \ API documentation" storeCategoryNames: type: "array" description: "This container is returned if the seller chose 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) in this container\ \ will be the full path(s) to the eBay store categories, as shown below:
\ \
\"storeCategoryNames\": [
\"/Fashion/Men/Shirts\",
\ \ \"/Fashion/Men/Accessories\" ],
" items: type: "string" tax: description: "This container is only returned if a sales tax table, a Value-Added\ \ Tax (VAT) rate, and/or a tax exception category code was applied to\ \ the offer. Only Business Sellers can apply VAT to their listings. It\ \ is possible that the applyTax field will be included\ \ with a value of true, but a buyer's purchase will not involve\ \ sales tax. A sales tax rate must be set up in the seller's sales tax\ \ table for the buyer's state/tax jurisdiction in order for that buyer\ \ to be subject to sales tax.

See the Using a tax table help page for more information\ \ on setting up and using a sales tax table." $ref: "#/components/schemas/Tax" description: "This type provides details of an offer, and is used by the response\ \ payloads of the getOffer and the getOffers\ \ calls." EbayOfferDetailsWithId: type: "object" properties: availableQuantity: type: "integer" description: "This integer value sets the quantity of the inventory item\ \ that will be available through the offer. Quantity must be set to 1\ \ or more in order for the inventory item to be purchasable. This value\ \ should not be more than the quantity that is specified for the inventory\ \ item record. For auction listings, this value must be 1.\ \

If this field exists for the current unpublished or published\ \ offer, it should be provided again in the updateOffer\ \ call, even if the value is not changing. If this particular field is\ \ omitted in an updateOffer call, the general available\ \ quantity set for the inventory item record may be used instead, and\ \ this may not be accurate if the inventory item is being sold across\ \ multiple marketplaces." format: "int32" categoryId: type: "string" description: "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.

If this field\ \ exists for the current unpublished offer, it should be provided again\ \ in the updateOffer call, even if the eBay category\ \ is not changing. For a published offer (aka active eBay listing), this\ \ field must be provided or an error may occur. The eBay category of an\ \ active eBay listing cannot be changed once the listing has one or more\ \ sales, or if the listing is scheduled to end in less than 12 hours.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

" charity: description: "This container is used if the seller wishes to update a published\ \ or unpublished offer with a charitable organization that will receive\ \ a percentage of sale proceeds for each sale generated by the eBay listing.\ \ This container consists of the charityId field to identify\ \ the charitable organization, and the donationPercentage\ \ field that indicates the percentage of the sales proceeds that will\ \ be donated to the charitable organization for each sale. Both fields\ \ in this container are conditionally required for charitable listings." $ref: "#/components/schemas/Charity" extendedProducerResponsibility: description: "This container is used to provide the eco-participation fee\ \ for a product. Use the getExtendedProducerResponsibilityPolicies\_method of the\_Sell\ \ Metadata API to retrieve categories that support eco-participation\ \ fee for a specified marketplace." $ref: "#/components/schemas/ExtendedProducerResponsibility" hideBuyerDetails: type: "boolean" description: "This field is included and set to true if the\ \ seller wishes to update a published or unpublished offer with the private\ \ listing feature. Alternatively, the seller could also remove the private\ \ listing feature (if already set for a published or unpublished offer)\ \ by including this field and setting it to false.

Sellers\ \ may want to use this option when they believe that a listing's potential\ \ bidders/buyers would not want their obfuscated user IDs (and feedback\ \ scores) exposed to other users." includeCatalogProductDetails: type: "boolean" description: "This field indicates whether or not eBay product catalog details\ \ are applied to a listing. A value of true indicates the\ \ listing corresponds to the eBay product associated with the provided\ \ product identifier. The product identifier is provided in createOrReplaceInventoryItem.

Note: Though the includeCatalogProductDetails\ \ parameter is not required to be submitted in the request, the parameter\ \ defaults to 'true' if omitted.

" listingDescription: type: "string" description: "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.

HTML tags and markup can be used in listing descriptions,\ \ but each character counts toward the max length limit.

Note: To ensure that their short\ \ listing description is optimized when viewed on mobile devices, sellers\ \ should strongly consider using eBay's View Item description summary feature when\ \ listing their items. Keep in mind that the 'short' listing description\ \ is what prospective buyers first see when they view the listing on a\ \ mobile device. The 'full' listing description is also available to mobile\ \ users when they click on the short listing description, but the full\ \ description is not automatically optimized for viewing in mobile devices,\ \ and many users won't even drill down to the full description.

Using\ \ HTML div and span tag attributes, this feature allows sellers to customize\ \ and fully control the short listing description that is displayed to\ \ prospective buyers when viewing the listing on a mobile device. The\ \ short listing description on mobile devices is limited to 800 characters,\ \ and whenever the full listing description (provided in this field, in\ \ UI, or seller tool) exceeds this limit, eBay uses a special algorithm\ \ to derive the best possible short listing description within the 800-character\ \ limit. However, due to some short listing description content being\ \ removed, it is definitely not ideal for the seller, and could lead to\ \ a bad buyer experience and possibly to a Significantly not as described\ \ (SNAD) case, since the buyer may not get complete details on the item\ \ when viewing the short listing description. See the eBay help page for\ \ more details on using the HTML div and span tags.

If this\ \ field exists for the current unpublished offer, it should be provided\ \ again in the updateOffer call, even if the text is\ \ not changing. For a published offer (aka active eBay listing), this\ \ field must be provided or an error may occur.

Max length:\ \ 500000 (which includes HTML markup/tags)" listingDuration: type: "string" description: "This field indicates the number of days that the listing will\ \ be active. For fixed-price listings, this value must be set to GTC,\ \ but auction listings support different listing durations.

The\ \ GTC (Good 'Til Cancelled) listings are automatically renewed each calendar\ \ month until the seller decides to end the listing.

Note: If the listing duration expires for\ \ an auction offer without a winning bidder, the listing then becomes\ \ available as a fixed-price offer and listing duration will be GTC.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


For implementation\ \ help, refer to eBay\ \ API documentation" listingPolicies: description: "This container sets listing policies that will be used to\ \ construct the listing. Listing policies include business policies, custom\ \ listing policies, and fields that override shipping costs, enable eBay\ \ Plus eligibility, or enable the Best Offer feature. This container is\ \ not initially required when creating an offer but will become required\ \ before the offer can be published. Busines policies (payment, return,\ \ fulfillment policies) will always be required before publishing an offer.\ \ Other policies, including the seller created compliance policies and\ \ seller created take-back policy, will be required as needed by the marketplace,\ \ category, or product.

This container is required for updating\ \ published offers, regardless of whether or not the business policies\ \ are being changed. For an unpublished offer, this field is not necessarily\ \ required, but will be required before an offer can be published.

It\ \ is required that the seller be opted in to Business Policies before\ \ being able to create live eBay listings through the Inventory API. Sellers\ \ can opt-in to Business Policies through My eBay or by using the Account\ \ API's optInToProgram call. Similarly, payment, return,\ \ and fulfillment business policies may be created/managed in My eBay\ \ or by using the business policy calls of the Account API.

Important!Publish\ \ offer note: This container and a few of its child fields (as noted below)\ \ are required before an offer can be published to create an active listing.


" $ref: "#/components/schemas/ListingPolicies" listingStartDate: type: "string" description: "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.

For example: 2023-05-30T19:08:00Z.

This field\ \ is optional, and it doesn't apply to offers where the corresponding\ \ listing is already active. If this field is not provided, the listing\ \ starts immediately after a successful publishOffer\ \ method." lotSize: type: "integer" description: "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." format: "int32" merchantLocationKey: type: "string" description: "The unique identifier of a merchant's inventory location (where\ \ the inventory item in the offer is located).

To get more information\ \ about inventory locations, the getInventoryLocations method can be used.br>
Note: This field is not initially required\ \ upon first creating an offer, but will become required before an offer\ \ can be published.
Max length: 36" pricingSummary: description: "This container shows the listing price for the product offer,\ \ and if applicable, the settings for the Minimum Advertised Price and\ \ Strikethrough Pricing features. 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.

This container is required for updating\ \ published offers, regardless of whether or not the pricing information\ \ is being changed or not. For an unpublished offer, this container is\ \ not necessarily required, but an offer price will be required before\ \ an offer can be published, and if a pricingSummary\ \ container already exists for an unpublished offer, it must be provided\ \ again, even if the values are not changing.

Important!Publish\ \ offer note: This container and its child container, price, are\ \ required before an offer can be published to create an active listing.\ \

" $ref: "#/components/schemas/PricingSummary" quantityLimitPerBuyer: type: "integer" description: "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 5, each buyer may purchase between\ \ one to five of these products, and the purchases can occur in one multiple-quantity\ \ purchase, or over multiple transactions. If a buyer attempts to purchase\ \ one or more of these products, and the cumulative quantity will take\ \ the buyer beyond the quantity limit, that buyer will be blocked from\ \ that purchase.

If this field currently exists for an unpublished\ \ or published offer, it should be provided again in an updateOffer\ \ call, even if the value is not changing.
" format: "int32" regulatory: description: "This container is used by the seller to provide regulatory\ \ information." $ref: "#/components/schemas/Regulatory" secondaryCategoryId: type: "string" description: "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.

Note: You cannot list US eBay Motors\ \ vehicles in two categories. However, you can list Parts & Accessories\ \ in two categories." storeCategoryNames: type: "array" description: "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:
\ \
\"storeCategoryNames\": [
\"/Fashion/Men/Shirts\",
\ \ \"/Fashion/Men/Accessories\" ],
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." items: type: "string" tax: description: "This container is only applicable and used if a sales tax\ \ table, a Value-Added Tax (VAT) rate, or a tax exception category code\ \ will be applied to the offer. Only Business Sellers can apply VAT to\ \ their listings. It is possible that the applyTax field\ \ will be included with a value of true, but a buyer's purchase\ \ will not involve sales tax. A sales tax rate must be set up in the seller's\ \ sales tax table for the buyer's state/tax jurisdiction in order for\ \ that buyer to be subject to sales tax. Sales tax rates for different\ \ jurisdictions can be added/modified in the Payment Preferences section\ \ of My eBay, or the seller can use the sales tax calls of the Account\ \ API.

If tax information currently exists for an unpublished\ \ or published offer, it should be provided again in an updateOffer\ \ call, even if none of the tax settings are changing.

See the\ \ Using a tax table help page for more information\ \ on setting up and using a sales tax table." $ref: "#/components/schemas/Tax" description: "updateOffer call. Every field that\ \ is currently set with the unpublished/published offer must also be passed\ \ into the updateOffer call, even those fields whose values\ \ are not changing. Note that for published offers, a successful updateOffer\ \ call will actually update the active eBay listing with whatever changes\ \ were made." EbayOfferDetailsWithKeys: type: "object" properties: availableQuantity: type: "integer" description: "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 1 or more in order for the\ \ inventory item to be purchasable, but this field is not necessarily\ \ required, even for published offers, if the general quantity of the\ \ inventory item has already been set in the inventory item record.

For\ \ auction listings, this value must be 1.

Note: The availableQuantity field\ \ if set here overrides the quantity field set in the inventory\ \ item. See the note in Offer fields for details." format: "int32" categoryId: type: "string" description: "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.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

Note: When listing in categoryID 173651 (Auto Performance\ \ Tuning Devices & Software), use of catalog products is required. For\ \ more information, see Tuning devices and software.

" charity: description: "This container is used if the seller wishes to select a charitable\ \ organization that will receive a percentage of sale proceeds for each\ \ sale generated by the eBay listing. This container consists of the charityId\ \ field to identify the charitable organization, and the donationPercentage\ \ field that indicates the percentage of the sales proceeds that will\ \ be donated to the charitable organization for each sale. Both fields\ \ in this container are conditionally required for charitable listings." $ref: "#/components/schemas/Charity" extendedProducerResponsibility: description: "This container is used to provide the eco-participation fee\ \ for a product.

Use the getExtendedProducerResponsibilityPolicies\_method of the\_Sell\ \ Metadata API to retrieve categories that support eco-participation\ \ fee for a specified marketplace." $ref: "#/components/schemas/ExtendedProducerResponsibility" format: type: "string" description: "This enumerated value indicates the listing format of the\ \ offer.

Supported values are FIXED_PRICE and AUCTION.\ \ For implementation help, refer to eBay\ \ API documentation" hideBuyerDetails: type: "boolean" description: "This field is included and set to true if the\ \ seller wishes to create a private listing.

Sellers may want\ \ to use this option when they believe that a listing's potential bidders/buyers\ \ would not want their obfuscated user IDs (and feedback scores) exposed\ \ to other users." includeCatalogProductDetails: type: "boolean" description: "This field indicates whether or not eBay product catalog details\ \ are applied to a listing. A value of true indicates the\ \ listing corresponds to the eBay product associated with the provided\ \ product identifier. The product identifier is provided in createOrReplaceInventoryItem.

Default:\ \ true

Note: Though the includeCatalogProductDetails\ \ parameter is not required to be submitted in the request, the parameter\ \ defaults to true if omitted.

" listingDescription: type: "string" description: "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.

HTML tags and markup can be used in listing descriptions,\ \ but each character counts toward the max length limit.

Note: To ensure that their short\ \ listing description is optimized when viewed on mobile devices, sellers\ \ should strongly consider using eBay's View Item description summary feature when\ \ listing their items. Keep in mind that the 'short' listing description\ \ is what prospective buyers first see when they view the listing on a\ \ mobile device. The 'full' listing description is also available to mobile\ \ users when they click on the short listing description, but the full\ \ description is not automatically optimized for viewing in mobile devices,\ \ and many users won't even drill down to the full description.

Using\ \ HTML div and span tag attributes, this feature allows sellers to customize\ \ and fully control the short listing description that is displayed to\ \ prospective buyers when viewing the listing on a mobile device. The\ \ short listing description on mobile devices is limited to 800 characters,\ \ and whenever the full listing description (provided in this field, in\ \ UI, or seller tool) exceeds this limit, eBay uses a special algorithm\ \ to derive the best possible short listing description within the 800-character\ \ limit. However, due to some short listing description content being\ \ removed, it is definitely not ideal for the seller, and could lead to\ \ a bad buyer experience and possibly to a Significantly not as described\ \ (SNAD) case, since the buyer may not get complete details on the item\ \ when viewing the short listing description. See the eBay help page for\ \ more details on using the HTML div and span tags.

Max\ \ length: 500000 (which includes HTML markup/tags)" listingDuration: type: "string" description: "This field indicates the number of days that the listing will\ \ be active. For fixed-price listings, this value must be set to GTC,\ \ but auction listings support different listing durations.

The\ \ GTC (Good 'Til Cancelled) listings are automatically renewed each calendar\ \ month until the seller decides to end the listing.

Note: If the listing duration expires for\ \ an auction offer without a winning bidder, the listing then becomes\ \ available as a fixed-price offer and listing duration will be GTC.
\ \

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


For implementation\ \ help, refer to eBay\ \ API documentation" listingPolicies: description: "This container sets listing policies that will be used to\ \ construct the listing. Listing policies include business policies, custom\ \ listing policies, and fields that override shipping costs, enable eBay\ \ Plus eligibility, or enable the Best Offer feature. This container is\ \ not initially required when creating an offer but will become required\ \ before the offer can be published. Busines policies (payment, return,\ \ fulfillment policies) will always be required before publishing an offer.\ \ Other policies, including the seller created compliance policies and\ \ seller created take-back policy, will be required as needed by the marketplace,\ \ category, or product.

It is required that the seller be opted\ \ into Business Policies before being able to create live eBay listings\ \ through the Inventory API. Sellers can opt-in to Business Policies through\ \ My eBay or by using the Account API's optInToProgram\ \ call. Payment, return, and fulfillment listing policies may be created/managed\ \ in My eBay or by using the listing policy calls of the sell Account\ \ API. The sell Account API can also be used\ \ to create and manage custom policies. For more information, see the\ \ sell Account API.

Important!Publish offer note:\ \ This container and a few of its child fields (as noted below) are required\ \ before an offer can be published to create an active listing.

" $ref: "#/components/schemas/ListingPolicies" listingStartDate: type: "string" description: "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 enough time to publish\ \ the listing with the publishOffer method.

For\ \ example: 2023-05-30T19:08:00Z.

This field is optional. If this\ \ field is not provided, the listing starts immediately after a successful\ \ publishOffer method." lotSize: type: "integer" description: "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." format: "int32" marketplaceId: type: "string" description: "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: type: "string" description: "The unique identifier of a merchant's inventory location (where\ \ the inventory item in the offer is located).

To get more information\ \ about inventory locations, the getInventoryLocations method can be used.

Note: This field is not initially required\ \ upon first creating an offer, but will become required before an offer\ \ can be published.

Important!Publish offer note:\ \ This field is required before an offer can be published to create an\ \ active listing.


Max length: 36" pricingSummary: description: "This container shows the listing price for the product offer,\ \ and if applicable, the settings for the Minimum Advertised Price and\ \ Strikethrough Pricing features. 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.

This container is not initially required\ \ upon first creating an offer, but the price of the offer will become\ \ required before an offer can be published.

Important!Publish\ \ offer note: This container and its child container, price, are\ \ required before an offer can be published to create an active listing.\ \

" $ref: "#/components/schemas/PricingSummary" quantityLimitPerBuyer: type: "integer" description: "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 5, each buyer may purchase between\ \ one to five of these products, and the purchases can occur in one multiple-quantity\ \ purchase, or over multiple transactions. If a buyer attempts to purchase\ \ one or more of these products, and the cumulative quantity will take\ \ the buyer beyond the quantity limit, that buyer will be blocked from\ \ that purchase.
" format: "int32" regulatory: description: "This container is used by the seller to provide regulatory\ \ information." $ref: "#/components/schemas/Regulatory" secondaryCategoryId: type: "string" description: "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.

Note: You cannot list US eBay Motors\ \ vehicles in two categories. However, you can list Parts & Accessories\ \ in two categories.

Note:\ \ When listing in categoryID 173651 (Auto Performance Tuning Devices &\ \ Software), use of catalog products is required. For more information,\ \ see Tuning devices and software.

" sku: type: "string" description: "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.

Use the getInventoryItems method to retrieve SKU values.

Max\ \ Length: 50
" storeCategoryNames: type: "array" description: "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:
\"storeCategoryNames\": [
\"/Fashion/Men/Shirts\"\ ,
\"/Fashion/Men/Accessories\" ],
" items: type: "string" tax: description: "This container is applicable and used only if a sales-tax\ \ table, a Value-Added Tax (VAT) rate, or a tax exception category code\ \ will be applied to the offer. Only Business Sellers can apply VAT to\ \ their listings. It is possible that the applyTax field\ \ will be included with a value of true, but a buyer's purchase\ \ will not involve sales tax.

A sales-tax rate must be set up in\ \ the seller's sales-tax table for the buyer's state/tax jurisdiction\ \ in order for that buyer to be subject to sales tax. Sales-tax rates\ \ for different jurisdictions can be added/modified in the Payment Preferences\ \ section of My eBay, or the seller can use the sales tax calls of the\ \ Account API.

Note:\ \ Sales-tax tables are available only for the US and Canada marketplaces.
Refer\ \ to Taxes and import charges for more information\ \ on setting up and using a sales tax table." $ref: "#/components/schemas/Tax" description: "This type provides details of an offer, and is used by the base\ \ request payload of the createOffer and bulkCreateOffer\ \ methods." EnergyEfficiencyLabel: type: "object" properties: imageDescription: type: "string" description: "A brief verbal summary of the information included on the\ \ Energy Efficiency Label for an item.

For example, On a scale\ \ of A to G the rating is E." imageURL: type: "string" description: "The URL to the Energy Efficiency Label image that is applicable\ \ to an item." productInformationSheet: type: "string" description: "The URL to the Product Information Sheet that provides complete\ \ manufacturer-provided efficiency information about an item." description: "This type provides information about the energy efficiency for\ \ certain durable goods.

Important! When providing energy\ \ efficiency information on an appliance or smartphones and tablets listing,\ \ the energy efficiency rating and range of the item must be\ \ specified through the the aspects field when creating the inventory item record.\ \ Use the getItemAspectsForCategory method of the Taxonomy API\ \ to retrieve applicable rating and range values for a specified category.

" Error: type: "object" properties: category: type: "string" description: "This string value indicates the error category. There are\ \ three categories of errors: request errors, application errors, and\ \ system errors. " domain: type: "string" description: "The name of the domain in which the error or warning occurred." errorId: type: "integer" description: "A unique code that identifies the particular error or warning\ \ that occurred. Your application can use error codes as identifiers in\ \ your customized error-handling algorithms." format: "int32" inputRefIds: type: "array" description: "An array of one or more reference IDs which identify the specific\ \ request element(s) most closely associated to the error or warning,\ \ if any." items: type: "string" longMessage: type: "string" description: "A detailed description of the condition that caused the error\ \ or warning, and information on what to do to correct the problem." message: type: "string" description: "A description of the condition that caused the error or warning." outputRefIds: type: "array" description: "An array of one or more reference IDs which identify the specific\ \ response element(s) most closely associated to the error or warning,\ \ if any." items: type: "string" parameters: type: "array" description: "Various warning and error messages return one or more variables\ \ that contain contextual information about the error or waring. This\ \ is often the field or value that triggered the error or warning." items: $ref: "#/components/schemas/ErrorParameter" subdomain: type: "string" description: "The name of the subdomain in which the error or warning occurred." description: "This type is used to express detailed information on errors and\ \ warnings that may occur with a call request." ErrorParameter: type: "object" properties: name: type: "string" description: "This type contains the name and value of an input parameter\ \ that contributed to a specific error or warning condition." value: type: "string" description: "This is the actual value that was passed in for the element\ \ specified in the name field." description: "This type is used to indicate the parameter field/value that caused\ \ an issue with the call request." ExtendedProducerResponsibility: type: "object" properties: ecoParticipationFee: description: "This is the fee paid for new items to the eco-organization\ \ (for example, \"eco-organisme\" in France). It is a contribution to\ \ the financing of the elimination of the item responsibly.

Note: 0 should not be used as\ \ a default value.
Minimum: 0.0" $ref: "#/components/schemas/Amount" producerProductId: type: "string" description: "Note: THIS FIELD IS DEPRECATED\ \ AND NO LONGER SUPPORTED. For sellers selling on the eBay France\ \ Marketplace, Extended Producer Responsibility ID fields are no longer\ \ set at the listing level. Instead, sellers must provide these IDs for\ \ each applicable category in their My eBay accounts. The URL will be\ \ based on the seller's home/registration site, and will use this pattern:\ \ https://accountsettings./epr-fr. Sellers based in the US will use https://accountsettings.ebay.com/epr-fr,\ \ sellers based in France will use https://accountsettings.ebay.fr/epr-fr, and so\ \ on." productDocumentationId: type: "string" description: "Note: THIS FIELD IS DEPRECATED\ \ AND NO LONGER SUPPORTED. For sellers selling on the eBay France\ \ Marketplace, Extended Producer Responsibility ID fields are no longer\ \ set at the listing level. Instead, sellers must provide these IDs for\ \ each applicable category in their My eBay accounts. The URL will be\ \ based on the seller's home/registration site, and will use this pattern:\ \ https://accountsettings./epr-fr. Sellers based in the US will use https://accountsettings.ebay.com/epr-fr,\ \ sellers based in France will use https://accountsettings.ebay.fr/epr-fr, and so\ \ on." productPackageId: type: "string" description: "Note: THIS FIELD IS DEPRECATED\ \ AND NO LONGER SUPPORTED. For sellers selling on the eBay France\ \ Marketplace, Extended Producer Responsibility ID fields are no longer\ \ set at the listing level. Instead, sellers must provide these IDs for\ \ each applicable category in their My eBay accounts. The URL will be\ \ based on the seller's home/registration site, and will use this pattern:\ \ https://accountsettings./epr-fr. Sellers based in the US will use https://accountsettings.ebay.com/epr-fr,\ \ sellers based in France will use https://accountsettings.ebay.fr/epr-fr, and so\ \ on." shipmentPackageId: type: "string" description: "Note: THIS FIELD IS DEPRECATED\ \ AND NO LONGER SUPPORTED. For sellers selling on the eBay France\ \ Marketplace, Extended Producer Responsibility ID fields are no longer\ \ set at the listing level. Instead, sellers must provide these IDs for\ \ each applicable category in their My eBay accounts. The URL will be\ \ based on the seller's home/registration site, and will use this pattern:\ \ https://accountsettings./epr-fr. Sellers based in the US will use https://accountsettings.ebay.com/epr-fr,\ \ sellers based in France will use https://accountsettings.ebay.fr/epr-fr, and so\ \ on." description: "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." Fee: type: "object" properties: amount: description: "This dollar value in this container is the actual dollar value\ \ of the listing fee type specified in the feeType field." $ref: "#/components/schemas/Amount" feeType: type: "string" description: "The value returned in this field indicates the type of listing\ \ fee that the seller may incur if one or more unpublished offers (offers\ \ are specified in the call request) are published on the marketplace\ \ specified in the marketplaceId field. Applicable listing\ \ fees will often include things such as InsertionFee or\ \ SubtitleFee, but many fee types will get returned even\ \ when they are 0.0.

See the Standard selling fees help page for more information\ \ on listing fees." promotionalDiscount: description: "The dollar value in this container indicates any eBay promotional\ \ discount applied toward the listing fee type specified in the feeType\ \ field. If there was no discount applied toward the fee, this container\ \ is still returned but its value is 0.0." $ref: "#/components/schemas/Amount" description: "This type is used to express expected listing fees that the seller\ \ may incur for one or more unpublished offers, as well as any eBay-related\ \ promotional discounts being applied toward a specific fee. These fees are\ \ the expected cumulative fees per eBay marketplace (which is indicated in\ \ the marketplaceId field)." FeeSummary: type: "object" properties: fees: type: "array" description: "This container is an array of listing fees that can be expected\ \ to be applied to an offer on the specified eBay marketplace (marketplaceId\ \ value). Many fee types will get returned even when they are 0.0.

See\ \ the Standard selling fees help page for more information on listing\ \ fees." items: $ref: "#/components/schemas/Fee" marketplaceId: type: "string" description: "This is the unique identifier of the eBay site for which \ \ listing fees for the offer are applicable. For implementation help,\ \ refer to eBay\ \ API documentation" warnings: type: "array" description: "This container will contain an array of errors and/or warnings\ \ when a call is made, and errors and/or warnings occur." items: $ref: "#/components/schemas/Error" description: "This type is used to display the expected listing fees for each\ \ unpublished offer specified in the request of the getListingFees\ \ call." FeesSummaryResponse: type: "object" properties: feeSummaries: type: "array" description: "This container consists of an array of one or more listing\ \ fees that the seller can expect to pay for unpublished offers specified\ \ in the call request. Many fee types will get returned even when they\ \ are 0.0." items: $ref: "#/components/schemas/FeeSummary" description: "This type is used by the base response payload for the getListingFees\ \ call. " FormatAllocation: type: "object" properties: auction: type: "integer" description: "This integer value indicates the quantity of the inventory\ \ item that is reserved for the published auction format offers of the\ \ SKU." format: "int32" fixedPrice: type: "integer" description: "This integer value indicates the quantity of the inventory\ \ item that is available for the fixed-price offers of the SKU." format: "int32" description: "This type is used to indicate the quantities of the inventory\ \ items that are reserved for the different listing formats of the SKU offers." FulfillmentCenterSpecifications: type: "object" properties: sameDayShippingCutOffTimes: description: "Note: This container only\ \ applies to listings with same-day handling.
This container\ \ specifies cut-off time(s) for order handling (and optionally cut-off\ \ overrides) at a fulfillment center location.

For example, if\ \ the cut-off time for order handling is 14:00, any orders\ \ made after this time will be handled on the next available business\ \ day.

Note: Shipping cut-off\ \ times must be specified if one of the locationTypes of the inventory\ \ location is FULFILLMENT_CENTER." $ref: "#/components/schemas/SameDayShippingCutOffTimes" description: "This type is used to provide shipping specification details, such\ \ as the weekly cut-off schedule for order handling and cut-off override(s),\ \ for a fulfillment center location. " GeoCoordinates: type: "object" properties: latitude: type: "number" description: "The latitude (North-South) component of the geographic coordinate.\ \ This field is required if a geoCoordinates container\ \ is used.

This field is returned if geographical coordinates are\ \ set for the location.

Example: 33.089805" longitude: type: "number" description: "The longitude (East-West) component of the geographic coordinate.\ \ This field is required if a geoCoordinates container\ \ is used.

This field is returned if geographical coordinates are\ \ set for the location.

Example: -88.709822" description: "This type is used to express the Global Positioning System (GPS)\ \ latitude and longitude coordinates of an inventory location." GetInventoryItem: type: "object" properties: sku: type: "string" description: "An array of SKU values are passed in under the sku\ \ container to retrieve up to 25 inventory item records.

Use the\ \ getInventoryItems method to retrieve SKU values." description: "The seller-defined Stock-Keeping Unit (SKU) of each inventory\ \ item that the user wants to retrieve is passed in the request of the bulkGetInventoryItem\ \ method." GetInventoryItemResponse: type: "object" properties: errors: type: "array" description: "This container will be returned if there were one or more\ \ errors associated with retrieving the inventory item record." items: $ref: "#/components/schemas/Error" inventoryItem: description: "This container consists of detailed information on the inventory\ \ item specified in the sku field." $ref: "#/components/schemas/InventoryItemWithSkuLocaleGroupKeys" sku: type: "string" description: "The seller-defined Stock-Keeping Unit (SKU) of the inventory\ \ item. The seller should have a unique SKU value for every product that\ \ they sell." statusCode: type: "integer" description: "The HTTP status code returned in this field indicates the\ \ success or failure of retrieving the inventory item record for the inventory\ \ item specified in the sku field. See the HTTP\ \ status codes table to see which each status code indicates." format: "int32" warnings: type: "array" description: "This container will be returned if there were one or more\ \ warnings associated with retrieving the inventory item record." items: $ref: "#/components/schemas/Error" description: "This type is used by the response of the bulkGetInventoryItem\ \ method to give the status of each inventory item record that the user tried\ \ to retrieve." Hazmat: type: "object" properties: component: type: "string" description: "This field is used by the seller to provide component information\ \ for the listing. For example, component information can provide the\ \ specific material of Hazmat concern.

Max length: 120" pictograms: type: "array" description: "An array of comma-separated string values listing applicable\ \ pictogram code(s) for Hazard Pictogram(s).

If your product contains\ \ hazardous substances or mixtures, please select the values corresponding\ \ to the hazard pictograms that are stated on your product's Safety Data\ \ Sheet. The selected hazard information will be displayed on your listing.

Note: Use the getHazardousMaterialsLabels method in the Metadata\ \ API to find supported values for a specific marketplace/site. Refer\ \ to Pictogram sample values for additional information." items: type: "string" signalWord: type: "string" description: "This field sets the signal word for hazardous materials in\ \ the listing.

If your product contains hazardous substances or\ \ mixtures, please select a value corresponding to the signal word that\ \ is stated on your product's Safety Data Sheet. The selected hazard information\ \ will be displayed on your listing.

Note: Use the getHazardousMaterialsLabels method in the Metadata API to find supported values for a specific marketplace/site.\ \ Refer to Signal word information for additional information." statements: type: "array" description: "An array of comma-separated string values specifying applicable\ \ statement code(s) for hazard statement(s) for the listing.

If\ \ your product contains hazardous substances or mixtures, please select\ \ the values corresponding to the hazard statements that are stated on\ \ your product's Safety Data Sheet. The selected hazard information will\ \ be displayed on your listing.

Note:\ \ Use the getHazardousMaterialsLabels method in the Metadata\ \ API to find supported values for a specific marketplace/site. Refer\ \ to Hazard statement sample values for additional\ \ information.
This field is required if hazardous material\ \ information is provided for the listing." items: type: "string" description: "This container is used by the seller to provide hazardous material\ \ information for the listing.

The statements element is required\ \ to complete the hazmat section of a listing.

The following elements\ \ are optional:
  • pictograms
  • signalWord
  • component
" Interval: type: "object" properties: close: type: "string" description: "The close value is actually the time that\ \ the store location closes. Local time (in Military format) is used.\ \ So, if a store closed at 8 PM local time, the close\ \ time would look like the following: 20:00:00. This field\ \ is conditionally required if the intervals container\ \ is used to specify working hours or special hours for a store.

This\ \ field is returned if set for the store location." open: type: "string" description: "The open value is actually the time that\ \ the store opens. Local time (in Military format) is used. So, if a store\ \ opens at 9 AM local time, the open time would look\ \ like the following: 09:00:00. This field is conditionally\ \ required if the intervals container is used to specify\ \ working hours or special hours for a store.

This field is returned\ \ if set for the store location." description: "This type is used by the intervals container\ \ to define the opening and closing times of a store location's working day.\ \ Local time (in Military format) is used, with the following format: hh:mm:ss." InventoryItem: type: "object" properties: availability: description: "This container is used to specify the quantity of the inventory\ \ item that are available for purchase.

This container is optional\ \ up until the seller is ready to publish an offer with the SKU, at which\ \ time it becomes required. Availability data must also be passed if an\ \ inventory item is being updated and availability data already exists\ \ for that inventory item.

Since an inventory item must have specified\ \ quantity before being published in an offer, this container is always\ \ returned in the 'Get' calls for SKUs that are part of a published offer.\ \ If a SKU is not part of a published offer, this container will only\ \ be returned if set for the inventory item." $ref: "#/components/schemas/Availability" condition: type: "string" description: "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.

A condition\ \ value is optional up until the seller is ready to publish an offer with\ \ the SKU, at which time it becomes required for most eBay categories.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

For implementation help,\ \ refer to eBay\ \ API documentation" conditionDescription: type: "string" description: "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 NEW, LIKE_NEW, NEW_OTHER,\ \ or NEW_WITH_DEFECTS.

The conditionDescription\ \ field is available for all eBay categories. If the conditionDescription\ \ field is used with an item in one of the new conditions (mentioned in\ \ previous paragraph), eBay will simply ignore this field if included,\ \ and eBay will return a warning message to the user.

This field\ \ should only be used to further clarify the condition of the used item.\ \ It should not be used for branding, promotions, shipping, returns, payment\ \ or other information unrelated to the condition of the used item. Make\ \ sure that the condition value, condition description,\ \ listing description, and the item's pictures do not contradict one another.\ \

This field is not always required, but is required if an inventory\ \ item is being updated and a condition description already exists for\ \ that inventory item.

This field is returned in the getInventoryItem\ \ and getInventoryItems calls if a condition description\ \ was provided for a used inventory item.

Max Length:\ \ 1000." conditionDescriptors: type: "array" description: "This container is used by the seller to provide additional\ \ information about the condition of an item in a structured format. Condition\ \ descriptors are name-value attributes that can be either closed set\ \ or open text inputs.

For trading card listings in Non-Sport\ \ Trading Card Singles (183050), CCG Individual Cards (183454),\ \ and Sports Trading Card Singles (261328) categories, sellers\ \ must use either LIKE_NEW (2750) or USED_VERY_GOOD\ \ (4000) item condition to specify the card as Graded or Ungraded,\ \ respectively. Use of either of these conditions requires the seller\ \ to use this array to provide one or more applicable Condition Descriptor\ \ name-value pairs.

To retrieve all condition descriptor numeric\ \ IDs for a category, use the getItemConditionPolicies method of the Metadata\ \ API." items: $ref: "#/components/schemas/ConditionDescriptor" packageWeightAndSize: description: "This container is used if the seller is offering one or more\ \ calculated shipping options for the inventory item, or if the seller\ \ is offering flat-rate shipping but is including a shipping surcharge\ \ based on the item's weight. This container is used to specify the dimensions\ \ and weight of a shipping package.

Note:\ \ Package weight and dimensions are only supported for the following marketplaces:\ \ AU, CA, DE, IT, UK, US, and Motors. If this information is provided\ \ on other marketplaces, it will be ignored.
This container\ \ is not always required, but is required if an inventory item is being\ \ updated and shipping package data already exists for that inventory\ \ item.

This container is returned in the getInventoryItem\ \ and getInventoryItems calls if package type, package\ \ weight, and/or package dimensions are specified for an inventory item.

See\ \ the Calculated shipping help page for more information\ \ on calculated shipping." $ref: "#/components/schemas/PackageWeightAndSize" product: description: "This container is used to define the product details, such\ \ as product title, product description, product identifiers (eBay Product\ \ ID, GTIN, or Brand/MPN pair), product aspects/item specifics, and product\ \ images. Note that an eBay Product ID (ePID) or a Global Trade Item Number\ \ (GTIN) value can be used in an attempt to find a matching product in\ \ the eBay Catalog. If a product match is found, the inventory item record\ \ will automatically pick up all product details associated with the eBay\ \ Catalog product.

Many eBay categories will require at least one\ \ product identifier (a GTIN or a Brand/MPN pair). To discover which product\ \ identifier(s) that an eBay category might require or support, use the\ \ getItemAspectsForCategory method in the Taxonomy\ \ API. In the getItemAspectsForCategory response, look\ \ for product identifier names (brand, mpn,\ \ upc, ean, isbn) in the localizedAspectName\ \ fields, and then look for the correspondinng aspectRequired\ \ boolean fields as well as the corresponding aspectUsage\ \ field, which will indicate if the aspect is required, recommended, or\ \ optional. In some cases, a product identifier type may be required,\ \ but not known/applicable for a product. If this is the case, the seller\ \ must still include the corresponding field in the inventory item record,\ \ but pass in a default text string. This text string can vary by site,\ \ so the seller should use the GeteBayDetails call of\ \ the Trading API to get this string value. In the GeteBayDetails\ \ call, the seller should include a DetailName field\ \ with its value set to ProductDetails. In the response of\ \ the call, the seller can see the default string value in the ProductDetails.ProductIdentifierUnavailableText\ \ field. The seller will use this value in one or more of the product\ \ identifier fields (ean, isbn, upc,\ \ or mpn) if a product ID isn't known or applicable.\ \

This container is not initially required, but it is required\ \ before an inventory item can be published as an offer, and/or if an\ \ inventory item is being updated and product data already exists for\ \ that inventory item.

This container is always returned for published\ \ offers in the getInventoryItem, bulkGetInventoryItem,\ \ and getInventoryItems calls since product data must\ \ be defined for published offers, but for unpublished inventory items,\ \ this container will only be returned if product details have been defined\ \ for the inventory item.

Important!Publish offer note:\ \ This container and a few of its child fields (as noted below) are required\ \ before an offer can be published to create an active listing.

" $ref: "#/components/schemas/Product" description: "This type is used to provide detailed information about an inventory\ \ item." InventoryItemGroup: type: "object" properties: aspects: type: "string" description: "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.

Important! Effective from December\ \ 28th, 2024, sellers offering certain rechargeable devices in EU and\ \ Northern Ireland markets must comply with the Common Charger Directive\ \ (CCD) and list appropriate charger-related aspects and values on their\ \ listings. See Common Charger Directive for more information.


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.
\"aspects\"\
            : {
\"pattern\": [\"solid\"],
\"sleeves\": [\"short\"]
}
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.

Important!Publish offer note:\ \ This field is required before an offer can be published to create an\ \ active listing.

" description: type: "string" description: "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.

Note: Since this description will ultimately become\ \ the listing description in a multiple-variation listing, the seller\ \ should omit the listingDescription field when creating\ \ the offers for each variation. If they include the listingDescription\ \ field for the individual offer(s) in an item group, the text in that\ \ field for a published offer will overwrite the text provided in this\ \ description field for the inventory item group.

HTML\ \ tags and markup can be used in this field, but each character counts\ \ toward the max length limit.

Note:\ \ To ensure that their short listing description is optimized when viewed\ \ on mobile devices, sellers should strongly consider using eBay's View Item description summary feature when\ \ listing their items. Keep in mind that the 'short' listing description\ \ is what prospective buyers first see when they view the listing on a\ \ mobile device. The 'full' listing description is also available to mobile\ \ users when they click on the short listing description, but the full\ \ description is not automatically optimized for viewing in mobile devices,\ \ and many users won't even drill down to the full description.

Using\ \ HTML div and span tag attributes, this feature allows sellers to customize\ \ and fully control the short listing description that is displayed to\ \ prospective buyers when viewing the listing on a mobile device. The\ \ short listing description on mobile devices is limited to 800 characters,\ \ and whenever the full listing description (provided in this field, in\ \ UI, or seller tool) exceeds this limit, eBay uses a special algorithm\ \ to derive the best possible short listing description within the 800-character\ \ limit. However, due to some short listing description content being\ \ removed, it is definitely not ideal for the seller, and could lead to\ \ a bad buyer experience and possibly to a Significantly not as described\ \ (SNAD) case, since the buyer may not get complete details on the item\ \ when viewing the short listing description. See the eBay help page for\ \ more details on using the HTML div and span tags.


This\ \ field 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.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


Max Length:\ \ 500000 (which includes HTML markup/tags)
" imageUrls: type: "array" description: "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.

Note: Before any offer can be\ \ published, at least one image must exist for the offer. Links to images\ \ can either be passed in through this imageUrls container,\ \ or they can be passed in through the product.imageUrls\ \ container when creating each inventory item in the group. If the variesBy.aspectsImageVariesBy\ \ field is used to specify the main product aspect where the variations\ \ vary, the links to the images must be passed in through this imageUrls\ \ container, and there should be a picture for each variation. So, if\ \ the variesBy.aspectsImageVariesBy field is set to Color,\ \ a link should be included to an image demonstrating each available color\ \ in the group.

In almost any category at no cost, sellers\ \ can include up to 24 pictures in one listing. For inventory items that\ \ are a part of an inventory item group/multiple-variation listings, a\ \ maximum of 12 pictures may be used per inventory item in the group.\ \ Motor vehicle listings are an exception. The number of included pictures\ \ in motor vehicle listings depend on the selected vehicle package (see\ \ Fees for selling vehicles on eBay Motors).

This\ \ container will always be returned for an inventory item group that has\ \ at least one published offer since a published offer will always have\ \ at least one picture, but this container will only be returned if defined\ \ for inventory item groups that have yet to have any published offers. " items: type: "string" inventoryItemGroupKey: type: "string" description: "This is the unique identifier of the inventory item group.\ \ This identifier is created by the seller when an inventory item group\ \ is created.

Note: 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: type: "string" description: "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.\ \

Note: Since this\ \ subtitle will ultimately become the subtitle in a multiple-variation\ \ listing, the seller should not include the subtitle\ \ field when creating the inventory items that are members of the group.\ \ If they do include the subtitle field in an inventory\ \ item record, the text in that field will overwrite the text provided\ \ in this subtitle field for each inventory item in the\ \ group that is published.

This field will only be returned\ \ if set for an inventory item.

Max Length: 55
" title: type: "string" description: "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.

Note:\ \ Since this title will ultimately become the listing title in a multiple-variation\ \ listing, the seller should omit the title field when\ \ creating the inventory items that are members of the group. If they\ \ do include the title field in an inventory item record,\ \ the text in that field will overwrite the text provided in this title\ \ field for each inventory item in the group that is published.

This\ \ field 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.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


Max Length:\ \ 80
" variantSKUs: type: "array" description: "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.

It\ \ is also possible to add or remove SKUs with a createOrReplaceInventoryItemGroup\ \ call. If the seller wants to remove a SKU from the group, that seller\ \ will just omit that SKU value from this container to remove that inventory\ \ item/SKU from the inventory item group and any published, multiple-variation\ \ listing. However, a variation cannot be removed from the group if that\ \ variation has one or more sales for that listing. A workaround for this\ \ is to set that variation's quantity to 0 and it will be\ \ 'grayed out' in the View Item page.

This container is always\ \ returned." items: type: "string" variesBy: description: "This container is used to specify product aspects for which\ \ variations within an inventory item group vary, and a complete list\ \ of all those variances. For example, t-shirts in an inventory item group\ \ may be available in multiple sizes and colors. If this is the case,\ \ Color and Size would both be values in the\ \ specifications.name fields, and the available colors\ \ and sizes would be values under the corresponding specifications.values\ \ array. If the seller will be including multiple images in the listing\ \ that will demonstrate how each variation differs, that seller will also\ \ include the aspectsImageVariesBy field, and call out\ \ the product aspect where the listing images differ. In the t-shirts\ \ example, this product aspect would be Color, and the seller\ \ could either include URLs to images of the t-shirt (in available colors)\ \ through the inventory item group entity, or the seller could also included\ \ URLs to images of the t-shirt through the individual inventory item\ \ entities of the group.

This container is not initially required\ \ when first creating an inventory item group, but the variesBy.specifications\ \ container will be required before the first offer of the group is published.

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.

Important!Publish offer note:\ \ This container and its child fields (as noted below) are required before\ \ an offer can be published to create an active listing.

" $ref: "#/components/schemas/VariesBy" videoIds: type: "array" description: "An array of one or more videoId values for the inventory\ \ item group. A video ID 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.

For information on supported\ \ marketplaces and platforms, as well as other requirements and limitations\ \ of video support, please refer to Managing videos.

Note: Only one video per listing is supported." items: type: "string" description: "This type is used by the base request payload of the createOrReplaceInventoryItemGroup\ \ call and the base response payload of the getInventoryItemGroup\ \ call." InventoryItemListing: type: "object" properties: offerId: type: "string" description: "Upon a successful migration of a listing, eBay auto-generates\ \ this unique identifier, and this offer ID value will be used to retrieve\ \ and manage the newly-created offer object. This value will only be generated\ \ and returned if the eBay listing is migrated successfully." sku: type: "string" description: "This is the seller-defined SKU value associated with the item(s)\ \ in a listing. This same SKU value will be used to retrieve and manage\ \ the newly-created inventory item object if the listing migration is\ \ successful. This SKU value will get returned even if the migration is\ \ not successful." description: "This type is used by the inventoryItems container\ \ that is returned in the response of the bulkMigrateListing\ \ call. Up to five sku/offerId pairs may\ \ be returned under the inventoryItems container, dependent\ \ on how many eBay listings the seller is attempting to migrate to the inventory\ \ model." InventoryItemResponse: type: "object" properties: errors: type: "array" description: "This container will be returned if there were one or more\ \ errors associated with the creation or update to the inventory item\ \ record." items: $ref: "#/components/schemas/Error" locale: type: "string" description: "This field returns the natural language that was provided\ \ in the field values of the request payload (i.e., en_AU, en_GB or de_DE).\ \ For implementation help, refer to eBay\ \ API documentation" sku: type: "string" description: "The seller-defined Stock-Keeping Unit (SKU) of the inventory\ \ item. The seller should have a unique SKU value for every product that\ \ they sell." statusCode: type: "integer" description: "The HTTP status code returned in this field indicates the\ \ success or failure of creating or updating the inventory item record\ \ for the inventory item indicated in the sku field.\ \ See the HTTP status codes table to see which each status\ \ code indicates." format: "int32" warnings: type: "array" description: "This container will be returned if there were one or more\ \ warnings associated with the creation or update to the inventory item\ \ record." items: $ref: "#/components/schemas/Error" description: "This type is used by the response of the bulkCreateOrReplaceInventoryItem\ \ method to indicate the success or failure of creating and/or updating each\ \ inventory item record. The sku value in this type identifies\ \ each inventory item record." InventoryItemWithSkuLocale: type: "object" properties: availability: description: "This container is used to specify the quantity of the inventory\ \ item that are available for purchase.

Availability data must\ \ also be passed if an inventory item is being updated and availability\ \ data already exists for that inventory item.

Since an inventory\ \ item must have specified quantity before being published in an offer,\ \ this container is always returned in the 'Get' calls for SKUs that are\ \ part of a published offer. If a SKU is not part of a published offer,\ \ this container will only be returned if set for the inventory item. " $ref: "#/components/schemas/Availability" condition: type: "string" description: "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.

A condition\ \ value is optional up until the seller is ready to publish an offer with\ \ the SKU, at which time it becomes required for most eBay categories.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

For implementation help,\ \ refer to eBay\ \ API documentation" conditionDescription: type: "string" description: "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 NEW, LIKE_NEW, NEW_OTHER,\ \ or NEW_WITH_DEFECTS.

The conditionDescription\ \ field is available for all eBay categories. If the conditionDescription\ \ field is used with an item in one of the new conditions (mentioned in\ \ previous paragraph), eBay will simply ignore this field if included,\ \ and eBay will return a warning message to the user.

This field\ \ should only be used to further clarify the condition of the used item.\ \ It should not be used for branding, promotions, shipping, returns, payment\ \ or other information unrelated to the condition of the used item. Make\ \ sure that the condition value, condition description,\ \ listing description, and the item's pictures do not contradict one another.\ \

This field is not always required, but is required if an inventory\ \ item is being updated and a condition description already exists for\ \ that inventory item.

This field is returned in the getInventoryItem,\ \ bulkGetInventoryItem, and getInventoryItems\ \ calls if a condition description was provided for a used inventory item.

Max\ \ Length: 1000" conditionDescriptors: type: "array" description: "This container is used by the seller to provide additional\ \ information about the condition of an item in a structured format. Condition\ \ descriptors are name-value attributes that can be either closed set\ \ or open text inputs.

For trading card listings in Non-Sport\ \ Trading Card Singles (183050), CCG Individual Cards (183454),\ \ and Sports Trading Card Singles (261328) categories, sellers\ \ must use either LIKE_NEW (2750) or USED_VERY_GOOD\ \ (4000) item condition to specify the card as Graded or Ungraded,\ \ respectively. Use of either of these conditions requires the seller\ \ to use this array to provide one or more applicable Condition Descriptor\ \ name-value pairs.

To retrieve all condition descriptor numeric\ \ IDs for a category, use the getItemConditionPolicies method of the Metadata\ \ API." items: $ref: "#/components/schemas/ConditionDescriptor" locale: type: "string" description: "This request parameter sets the natural language that was\ \ provided in the field values of the request payload (i.e., en_AU, en_GB\ \ or de_DE). For implementation help, refer to eBay\ \ API documentation" packageWeightAndSize: description: "This container is used if the seller is offering one or more\ \ calculated shipping options for the inventory item, or if the seller\ \ is offering flat-rate shipping but is including a shipping surcharge\ \ based on the item's weight. This container is used to specify the dimensions\ \ and weight of a shipping package.

Note:\ \ Package weight and dimensions are only supported for the following marketplaces:\ \ AU, CA, DE, IT, UK, US, and Motors. If this information is provided\ \ on other marketplaces, it will be ignored.
This container\ \ is not always required, but is required if an inventory item is being\ \ updated and shipping package data already exists for that inventory\ \ item.

This container is returned in the getInventoryItem,\ \ bulkGetInventoryItem, and getInventoryItems\ \ calls if package type, package weight, and/or package dimensions are\ \ specified for an inventory item.

See the Calculated shipping help page for more information\ \ on calculated shipping." $ref: "#/components/schemas/PackageWeightAndSize" product: description: "This container is used to define the product details, such\ \ as product title, product description, product identifiers (eBay Product\ \ ID, GTIN, or Brand/MPN pair), product aspects/item specifics, and product\ \ images. Note that an eBay Product ID (ePID) or a Global Trade Item Number\ \ (GTIN) value can be used in an attempt to find a matching product in\ \ the eBay Catalog. If a product match is found, the inventory item record\ \ will automatically pick up all product details associated with the eBay\ \ Catalog product.

Many eBay categories will require at least one\ \ product identifier (a GTIN or a Brand/MPN pair). To discover which product\ \ identifier(s) that an eBay category might require or support, use the\ \ getItemAspectsForCategory method in the Taxonomy\ \ API. In the getItemAspectsForCategory response, look\ \ for product identifier names (brand, mpn,\ \ upc, ean, isbn) in the localizedAspectName\ \ fields, and then look for the correspondinng aspectRequired\ \ boolean fields as well as the corresponding aspectUsage\ \ field, which will indicate if the aspect is required, recommended, or\ \ optional. In some cases, a product identifier type may be required,\ \ but not known/applicable for a product. If this is the case, the seller\ \ must still include the corresponding field in the inventory item record,\ \ but pass in a default text string. This text string can vary by site,\ \ so the seller should use the GeteBayDetails call of\ \ the Trading API to get this string value. In the GeteBayDetails\ \ call, the seller should include a DetailName field\ \ with its value set to ProductDetails. In the response of\ \ the call, the seller can see the default string value in the ProductDetails.ProductIdentifierUnavailableText\ \ field. The seller will use this value in one or more of the product\ \ identifier fields (ean, isbn, upc,\ \ or mpn) if a product ID isn't known or applicable.\ \

This container is not initially required, but it is required\ \ before an inventory item can be published as an offer, and/or if an\ \ inventory item is being updated and product data already exists for\ \ that inventory item.

This container is always returned for published\ \ offers in the getInventoryItem, bulkGetInventoryItem,\ \ and getInventoryItems calls since product data must\ \ be defined for published offers, but for unpublished inventory items,\ \ this container will only be returned if product details have been defined\ \ for the inventory item.

Important!Publish offer note:\ \ This container and a few of its child fields (as noted below) are required\ \ before an offer can be published to create an active listing.

" $ref: "#/components/schemas/Product" sku: type: "string" description: "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.

Max Length:\ \ 50
" description: "This type is used to define/modify each inventory item record\ \ that is being created and/or updated with the bulkCreateOrReplaceInventoryItem\ \ method. Up to 25 inventory item records can be created and/or updated with\ \ one call." InventoryItemWithSkuLocaleGroupKeys: type: "object" properties: availability: description: "This container shows the quantity of the inventory item that\ \ is available for purchase if the item will be shipped to the buyer,\ \ and/or the quantity of the inventory item that is available for In-Store\ \ Pickup at one or more of the merchant's physical stores." $ref: "#/components/schemas/AvailabilityWithAll" condition: type: "string" description: "This enumeration value indicates the condition of the item.\ \ Supported item condition values will vary by eBay site and category.\ \

Since the condition of an inventory item must be specified before\ \ being published in an offer, this field is always returned in the 'Get'\ \ calls for SKUs that are part of a published offer. If a SKU is not part\ \ of a published offer, this field will only be returned if set for the\ \ inventory item. For implementation help, refer to eBay\ \ API documentation" conditionDescription: type: "string" description: "This string field is used by the seller to more clearly describe\ \ the condition of used items, or items that are not 'Brand New', 'New\ \ with tags', or 'New in box'. The ConditionDescription field is available\ \ for all categories. If the ConditionDescription field is used with an\ \ item in a new condition (Condition IDs 1000-1499), eBay will simply\ \ ignore this field if included, and eBay will return a warning message\ \ to the user. This field should only be used to further clarify the condition\ \ of the used item. It should not be used for branding, promotions, shipping,\ \ returns, payment or other information unrelated to the condition of\ \ the item. Make sure that the condition value, condition description,\ \ listing description, and the item's pictures do not contradict one another.Max\ \ length: 1000." conditionDescriptors: type: "array" description: "This container is used by the seller to provide additional\ \ information about the condition of an item in a structured format. Descriptors\ \ are name-value attributes that can be either closed set or open text.

For\ \ trading card listings in Non-Sport Trading Card Singles (183050),\ \ CCG Individual Cards (183454), and Sports Trading Card Singles\ \ (261328) categories, sellers must use either LIKE_NEW (2750)\ \ or USED_VERY_GOOD (4000) item condition to specify the\ \ card as Graded or Ungraded, respectively. Use of either\ \ of these conditions requires the seller to use this array to provide\ \ one or more applicable Condition Descriptor name-value pairs.

For\ \ more information on the numeric IDs and their text equivalents, use\ \ the getItemConditionPolicies method of the Metadata\ \ API." items: $ref: "#/components/schemas/ConditionDescriptor" inventoryItemGroupKeys: type: "array" description: "This array is returned if the inventory item is associated\ \ with any inventory item group(s). The value(s) returned in this array\ \ are the unique identifier(s) of the inventory item's variation in a\ \ multiple-variation listing. This array is not returned if the inventory\ \ item is not associated with any inventory item groups." items: type: "string" locale: type: "string" description: "This field returns the natural language that was provided\ \ in the field values of the request payload (i.e., en_AU, en_GB or de_DE).\ \ For implementation help, refer to eBay\ \ API documentation" packageWeightAndSize: description: "This container is used to specify the dimensions and weight\ \ of a shipping package." $ref: "#/components/schemas/PackageWeightAndSize" product: description: "This container is used in a createOrReplaceInventoryItem\ \ call to pass in a Global Trade Item Number (GTIN) or a Brand and Manufacturer\ \ Part Number (MPN) pair to identify a product to be matched with a product\ \ in the eBay catalog. If a match is found in the eBay product catalog,\ \ the inventory item is automatically populated with available product\ \ details such as a title, a subtitle, a product description, item specifics,\ \ and links to stock images for the product." $ref: "#/components/schemas/Product" sku: type: "string" description: "The seller-defined Stock-Keeping Unit (SKU) of the inventory\ \ item. The seller should have a unique SKU value for every product that\ \ they sell." description: "This type is used to provide details about each retrieved inventory\ \ item record." InventoryItemWithSkuLocaleGroupid: type: "object" properties: availability: description: "This container is used to specify the quantity of the inventory\ \ item that are available for purchase if the item will be shipped to\ \ the buyer, and the quantity of the inventory item that are available\ \ for In-Store Pickup at one or more of the merchant's physical stores" $ref: "#/components/schemas/AvailabilityWithAll" condition: type: "string" description: "This enumeration value indicates the condition of the item.\ \ Supported item condition values will vary by eBay site and category.\ \

Since the condition of an inventory item must be specified before\ \ being published in an offer, this field is always returned in the 'Get'\ \ calls for SKUs that are part of a published offer. If a SKU is not part\ \ of a published offer, this field will only be returned if set for the\ \ inventory item. For implementation help, refer to eBay\ \ API documentation" conditionDescription: type: "string" description: "This string field is used by the seller to more clearly describe\ \ the condition of used items, or items that are not 'Brand New', 'New\ \ with tags', or 'New in box'. The ConditionDescription field is available\ \ for all categories. If the ConditionDescription field is used with an\ \ item in a new condition (Condition IDs 1000-1499), eBay will simply\ \ ignore this field if included, and eBay will return a warning message\ \ to the user. This field should only be used to further clarify the condition\ \ of the used item. It should not be used for branding, promotions, shipping,\ \ returns, payment or other information unrelated to the condition of\ \ the item. Make sure that the condition value, condition description,\ \ listing description, and the item's pictures do not contradict one another.

Max\ \ length: 1000" conditionDescriptors: type: "array" description: "This container is used by the seller to provide additional\ \ information about the condition of an item in a structured format. Descriptors\ \ are name-value attributes that can be either closed set or open text.

For\ \ trading card listings in Non-Sport Trading Card Singles (183050),\ \ CCG Individual Cards (183454), and Sports Trading Card Singles\ \ (261328) categories, sellers must use either LIKE_NEW (2750)\ \ or USED_VERY_GOOD (4000) item condition to specify the\ \ card as Graded or Ungraded, respectively. Use of either\ \ of these conditions requires the seller to use this array to provide\ \ one or more applicable Condition Descriptor name-value pairs.

For\ \ more information on the numeric IDs and their text equivalents, use\ \ the getItemConditionPolicies method of the Metadata\ \ API." items: $ref: "#/components/schemas/ConditionDescriptor" groupIds: type: "array" description: "This array is returned if the inventory item is associated\ \ with any inventory item group(s). The value(s) returned in this array\ \ are the unique identifier(s) of the inventory item group(s). This array\ \ is not returned if the inventory item is not associated with any inventory\ \ item groups." items: type: "string" inventoryItemGroupKeys: type: "array" description: "This array is returned if the inventory item is associated\ \ with any inventory item group(s). The value(s) returned in this array\ \ are the unique identifier(s) of the inventory item's variation in a\ \ multiple-variation listing. This array is not returned if the inventory\ \ item is not associated with any inventory item groups." items: type: "string" locale: type: "string" description: "This field returns the natural language that was provided\ \ in the field values of the request payload (i.e., en_AU, en_GB or de_DE).\ \ For implementation help, refer to eBay\ \ API documentation" packageWeightAndSize: description: "This container is used to specify the dimensions and weight\ \ of a shipping package." $ref: "#/components/schemas/PackageWeightAndSize" product: description: "This container is used in a createOrReplaceInventoryItem\ \ call to pass in a Global Trade Item Number (GTIN) or a Brand and Manufacturer\ \ Part Number (MPN) pair to identify a product to be matched with a product\ \ in the eBay catalog. If a match is found in the eBay product catalog,\ \ the inventory item is automatically populated with available product\ \ details such as a title, a subtitle, a product description, item specifics,\ \ and links to stock images for the product." $ref: "#/components/schemas/Product" sku: type: "string" description: "The seller-defined Stock-Keeping Unit (SKU) of the inventory\ \ item. The seller should have a unique SKU value for every product that\ \ they sell." InventoryItems: type: "object" properties: href: type: "string" description: "This is the URL to the current page of inventory items." inventoryItems: type: "array" description: "This container is an array of one or more inventory items,\ \ with detailed information on each inventory item." items: $ref: "#/components/schemas/InventoryItemWithSkuLocaleGroupid" limit: type: "integer" description: "This integer value is the number of inventory items that will\ \ be displayed on each results page." format: "int32" next: type: "string" description: "This is the URL to the next page of inventory items. This\ \ field will only be returned if there are additional inventory items\ \ to view." prev: type: "string" description: "This is the URL to the previous page of inventory items. This\ \ field will only be returned if there are previous inventory items to\ \ view." size: type: "integer" description: "This integer value indicates the total number of pages of\ \ results that are available. This number will depend on the total number\ \ of inventory items available for viewing, and on the limit\ \ value." format: "int32" total: type: "integer" description: "This integer value is the total number of inventory items\ \ that exist for the seller's account. Based on this number and on the\ \ limit value, the seller may have to toggle through\ \ multiple pages to view all inventory items." format: "int32" description: "This type is used by the base response payload of getInventoryItems\ \ call. " InventoryLocation: type: "object" properties: location: description: "This container is used to add any addition physical address\ \ and geographical coordinate information for a warehouse, store, or fulfillment\ \ center inventory location.

Note:\ \ For warehouse and store inventory locations, address fields can be updated\ \ any number of times. For fulfilment center locations, address fields\ \ cannot be updated. However, if any address fields were omitted during\ \ the createInventoryLocation call, they can be added through this\ \ method.
Note: When updating\ \ a warehouse location to a fulfillment center, sellers can update any\ \ of the address fields a single time during the same call used to make\ \ this update. After this, they can no longer be updated. " $ref: "#/components/schemas/LocationDetails" locationAdditionalInformation: type: "string" description: "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.

Max length: 256" locationInstructions: type: "string" description: "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.

Max length: 1000" locationTypes: type: "array" description: "This container is used to update the location type(s) associated\ \ with an inventory location." items: type: "string" description: " For implementation help, refer to eBay\ \ API documentation" locationWebUrl: type: "string" description: "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.

Max length: 512" name: type: "string" description: "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 locations. For store 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." operatingHours: type: "array" description: "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 location is open. Note that if operating\ \ hours are already set for a location for a specific day of the week,\ \ whatever is set through an updateInventoryLocation\ \ call will override those existing hours." items: $ref: "#/components/schemas/OperatingHours" phone: type: "string" description: "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.

Max length: 36" specialHours: type: "array" description: "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." items: $ref: "#/components/schemas/SpecialHours" timeZoneId: type: "string" description: "This field is used to provide/update the time zone of the\ \ inventory location being created. This value should be in Olson format\ \ (for example America/Vancouver). For supported values,\ \ see Java Supported Zone Ids and Offsets.

Note: If specified, this time zone will be\ \ used for all hour related fields. If this field is not specified, the\ \ time zone will be calculated from the provided address fields." fulfillmentCenterSpecifications: description: "This container is used to update information about a fulfillment\ \ center's shipping specifications, such as the weekly cut-off time schedule\ \ for order handling and any cut-off overrides." $ref: "#/components/schemas/FulfillmentCenterSpecifications" description: "This type is used by the updateInventoryLocation\ \ call to update operating hours, special hours, phone number, and other minor\ \ details of an inventory location." InventoryLocationFull: type: "object" properties: location: description: "This required container is used to set the physical address\ \ and geographical coordinates of a warehouse, store, or fulfillment center\ \ inventory location. A warehouse location only requires the postal code\ \ and country OR city, province/state, and country, and does not require\ \ a full street address. However, the seller may still supply a full street\ \ address for a warehouse location. A complete address (addressLine1,\ \ city, stateOrProvince, postalCode, and country)\ \ is required for store and fulfillment center locations.

Note: For fulfillment center locations, the\ \ addressLine1, stateOrProvince, country and postalCode\ \ fields cannot be changed once they have been set, though they can be\ \ added through the updateInventoryLocation method if\ \ they were omitted during location creation." $ref: "#/components/schemas/LocationDetails" locationAdditionalInformation: type: "string" description: "This text field is used by the merchant to provide additional\ \ information about an inventory location.

Max length:\ \ 256" locationInstructions: type: "string" description: "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: type: "array" description: "This container is used to define the function of the inventory\ \ location. Typically, an inventory location will serve as a store, warehouse,\ \ or fulfillment center, but in some cases, an inventory location may\ \ be more than one type.

For In-Store Pickup inventory, set StoreTypeEnum\ \ to STORE.

To utilize the Multi-warehouse program,\ \ set StoreTypeEnum to FULFILLMENT_CENTER.

If\ \ this container is omitted, the location type of the inventory location\ \ will default to WAREHOUSE. See StoreTypeEnum for the supported values.

Default: WAREHOUSE" items: type: "string" description: " For implementation help, refer to eBay\ \ API documentation" locationWebUrl: type: "string" description: "This text field is used by the merchant to provide the Website\ \ address (URL) associated with the inventory location.

Max\ \ length: 512" merchantLocationStatus: type: "string" description: "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 location. A merchant may want to create a new location but leave\ \ it as disabled if the location is not yet ready for active inventory.\ \ Once the location is ready, the merchant can use the enableInventoryLocation\ \ call to enable a location that is in a disabled state.

See StatusEnum\ \ for the supported values.

Default: ENABLED For implementation\ \ help, refer to eBay\ \ API documentation" name: type: "string" description: "The seller-defined 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\ \ locations. For store 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.

Max length: 1000" operatingHours: type: "array" description: "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.

Although\ \ not technically required, this container is highly recommended to be\ \ used to specify operating hours for a store location." items: $ref: "#/components/schemas/OperatingHours" phone: type: "string" description: "This field is used to specify the phone number for an inventory\ \ location.

Max length: 36" specialHours: type: "array" description: "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." items: $ref: "#/components/schemas/SpecialHours" timeZoneId: type: "string" description: "This field specifies the time zone of the inventory location\ \ being created. This value should be in Olson format (for example America/Vancouver).\ \ For supported values, see Java Supported Zone Ids and Offsets.

Note: If specified, this time zone will be\ \ used for all hour related fields. If this field is not specified for\ \ a fulfillment center location, the time zone will be calculated from\ \ the provided address fields." fulfillmentCenterSpecifications: description: "This container is used to specify information about a fulfillment\ \ center's shipping specifications, such as the weekly cut-off time schedule\ \ for order handling and any cut-off time overrides.

Note: This container is required if one of the locationTypes\ \ of the inventory location is FULFILLMENT_CENTER, and is\ \ not applicable to other location types." $ref: "#/components/schemas/FulfillmentCenterSpecifications" description: "This type is used by the createInventoryLocation\ \ call to provide details on the inventory location, including the location's\ \ name, physical address, operating hours, special hours, phone number and\ \ other details of an inventory location." InventoryLocationResponse: type: "object" properties: location: description: "This container provides location details of an inventory location.\ \ The address container will always be returned, but\ \ it will not always have a complete street address. Except in the case\ \ of a store or fulfillment center location, a full address is not a requirement\ \ when setting up an inventory location. The geoCoordinates\ \ container will only be returned if the merchant provided geographical\ \ coordinates. The locationId field is always returned,\ \ but this value is only used internally by eBay." $ref: "#/components/schemas/Location" locationAdditionalInformation: type: "string" description: "This text field provides additional information about an inventory\ \ location. This field is returned if it is set for the location." locationInstructions: type: "string" description: "This text field is used by the merchant to provide special\ \ pickup instructions for the store location. This field can help create\ \ a pleasant and easy pickup experience for In-Store Pickup and Click\ \ and Collect orders. If this field was not set up through a createInventoryLocation\ \ or a updateInventoryLocation call, eBay will use the\ \ default pickup instructions contained in the merchant's profile." locationTypes: type: "array" description: "This container defines the function of the inventory location.\ \ Typically, a location will serve as a store, warehouse, or fulfillment\ \ center, but in some cases, an inventory location may be more than one\ \ type." items: type: "string" description: " For implementation help, refer to eBay\ \ API documentation" locationWebUrl: type: "string" description: "This text field shows the Website address (URL) associated\ \ with the inventory location. This field is returned if defined for the\ \ location." merchantLocationKey: type: "string" description: "The unique identifier of the inventory location. This identifier\ \ is set up by the merchant when the location is first created with the\ \ createInventoryLocation call." merchantLocationStatus: type: "string" description: "This field indicates whether the inventory location is enabled\ \ (inventory can be loaded to location) or disabled (inventory can not\ \ be loaded to location). The merchant can use the enableInventoryLocation\ \ call to enable a location in disabled status, or the disableInventoryLocation\ \ call to disable a location in enabled status. For implementation help,\ \ refer to eBay\ \ API documentation" name: type: "string" description: "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. For store inventory locations, this field is not\ \ required for the createInventoryLocation call, but\ \ a store inventory location must have a defined name\ \ value before an In-Store Pickup and Click and Collect enabled offer\ \ is published. So, if the seller omits this field in the createInventoryLocation\ \ call, it will have to be added later through a updateInventoryLocation\ \ call." operatingHours: type: "array" description: "This container shows the regular operating hours for a store\ \ location during the days of the week. A dayOfWeekEnum\ \ field and an intervals container is shown for each\ \ day of the week that the location is open." items: $ref: "#/components/schemas/OperatingHours" phone: type: "string" description: "The phone number for an inventory location. This field will\ \ typically only be returned for store locations." specialHours: type: "array" description: "This container shows the special operating hours for a store\ \ or fulfillment center location on a specific date or dates." items: $ref: "#/components/schemas/SpecialHours" timeZoneId: type: "string" description: "This field specifies the time zone of the inventory location\ \ being created. This value should be in Olson format (for example America/Vancouver).\ \ For supported values, see Java Supported Zone Ids and Offsets." fulfillmentCenterSpecifications: description: "This container provides information about a fulfillment center's\ \ shipping specifications, such as the weekly cut-off time schedule for\ \ order handling and any cut-off time overrides.

Note: This field is only returned for fulfillment center\ \ locations." $ref: "#/components/schemas/FulfillmentCenterSpecifications" description: "This type is used by the base response of the getInventoryLocation\ \ and getInventoryLocations calls. These responses provide\ \ details about inventory location(s) defined for the merchant's account." ListingDetails: type: "object" properties: listingId: type: "string" description: "The unique identifier of the eBay listing that is associated\ \ with the published offer. " listingOnHold: type: "boolean" description: "Indicates if a listing is on hold due to an eBay policy violation.

If\ \ a listing is put on hold, users are unable to view the listing details,\ \ the listing is hidden from search, and all attempted purchases, offers,\ \ and bids for the listing are blocked. eBay, however, gives sellers the\ \ opportunity to address violations and get listings fully reinstated.\ \ A listing will be ended if a seller does not address a violation, or\ \ if the violation can not be rectified.


If a listing is fixable,\ \ the seller should be able to view the listing details and this boolean\ \ will be returned as true.


Once a listing is fixed, this boolean\ \ will no longer be returned.

" listingStatus: type: "string" description: "The enumeration value returned in this field indicates the\ \ status of the listing that is associated with the published offer. For\ \ implementation help, refer to eBay\ \ API documentation" soldQuantity: type: "integer" description: "This integer value indicates the quantity of the product that\ \ has been sold for the published offer." format: "int32" description: "This type is used by the listing container in\ \ the getOffer and getOffers calls to provide\ \ the eBay listing ID, the listing status, and quantity sold for the offer.\ \ The listing container is only returned for published offers,\ \ and is not returned for unpublished offers." ListingPolicies: type: "object" properties: bestOfferTerms: description: "This container is used if the seller would like to support\ \ the Best Offer feature on their listing. To enable the Best Offer feature,\ \ the seller will have to set the bestOfferEnabled field\ \ to true, and the seller also has the option of setting\ \ 'auto-accept' and 'auto-decline' price thresholds.

Note: Best Offer is unavailable for multi-variation\ \ listings.
This container is only returned if Best Offer is\ \ enabled on listing." $ref: "#/components/schemas/BestOffer" eBayPlusIfEligible: type: "boolean" description: "This field is included in an offer and set to true\ \ if a Top-Rated seller is opted in to the eBay Plus program. With the\ \ eBay Plus program, qualified sellers must commit to next-day delivery\ \ of the item, and the buyers must have an eBay Plus subscription to be\ \ eligible to receive the benefits of this program, which are free, next-day\ \ delivery, as well as free returns.

Note: Currently, this program is only available on the Germany\ \ and Australian sites.
This field will be returned in the getOffer and getOffers methods if set for the offer." fulfillmentPolicyId: type: "string" description: "This unique identifier indicates the fulfillment business\ \ policy that will be used once an offer is published and converted to\ \ an eBay listing. This fulfillment business policy will set all fulfillment-related\ \ settings for the eBay listing.

Business policies are not immediately\ \ required for offers, but are required before an offer can be published.\ \ The seller should review the fulfillment business policy before assigning\ \ it to the offer to make sure it is compatible with the inventory item\ \ and the offer settings. The seller may also want to review the shipping\ \ service costs in the fulfillment policy, and that seller might decide\ \ to override the shipping costs for one or more shipping service options\ \ by using the shippingCostOverrides container.

Business\ \ policies can be created and managed in My eBay or with the Account API.\ \ To get a list of all return policies associated with a seller's account\ \ on a specific eBay Marketplace, use the Account API's getFulfillmentPolicies method. There are also\ \ calls in the Account API to retrieve a fulfillment\ \ policy by policy ID or policy name.

This field will be returned\ \ in the getOffer and getOffers methods if set for the offer.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

" paymentPolicyId: type: "string" description: "This unique identifier indicates the payment business policy\ \ that will be used once an offer is published and converted to an eBay\ \ listing. This payment business policy will set all payment-related settings\ \ for the eBay listing.

Business policies are not immediately required\ \ for offers, but are required before an offer can be published. The seller\ \ should review the payment business policy to make sure that it is compatible\ \ with the marketplace and listing category before assigning it to the\ \ offer.

Business policies can be created and managed in My eBay\ \ or with the Account API. To get a list of all payment policies associated\ \ with a seller's account on a specific eBay Marketplace, use the Account\ \ API's getPaymentPolicies method. There are also calls\ \ in the Account API to retrieve a payment policy by\ \ policy ID or policy name.

This field will be returned in the\ \ getOffer and getOffers methods if set for the offer.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

" productCompliancePolicyIds: type: "array" description: "This field contains the array of unique identifiers indicating\ \ the seller-created global product compliance policies that will\ \ be used once an offer is published and converted to a listing.

Product\ \ compliance policies provide buyers with important information and disclosures\ \ about products. For example, if you sell batteries and specific disclosures\ \ are required to be shared with all potential buyers, your global product\ \ compliance policy could contain the required disclosures.

A maximum\ \ of six (6) global product compliance policies may apply to each offer.Note: For countries that support country-specific\ \ policies, use regionalProductCompliancePolicies to apply them to an offer." items: type: "string" regionalProductCompliancePolicies: description: "A comma-delimited list of unique identifiers indicating the\ \ seller-created country-specific product compliance policies that\ \ that will be used once an offer is published and converted to a listing.

Product\ \ compliance policies provide buyers with important information and disclosures\ \ about products. For example, if you sell batteries in a country requiring\ \ disclosures that apply only to that country, a country-specific\ \ product compliance policy could contain this information.

Each\ \ offer may include up to six (6) product compliance policies for each\ \ of the following countries:
  • United Kingdom [GB]
  • Germany\ \ [DE]
  • France [FR]
  • Italy [IT]
  • Spain [ES]

For\ \ example, if a seller offers products in the UK, Germany, and Italy,\ \ each of which requires custom product compliance information, up to\ \ 18 policies (i.e., 6 policies x 3 countries,) may be included with each\ \ offer.Note: Product compliance policies\ \ that apply to all countries to which a seller ships are specified\ \ using productCompliancePolicyIds." $ref: "#/components/schemas/RegionalProductCompliancePolicies" regionalTakeBackPolicies: description: "The list of unique identifiers indicating the seller-created\ \ country-specific take-back policies that will be used once an\ \ offer is published and converted to a listing. The law in some countries\ \ may require sellers to take back a used product when the buyer buys\ \ a new product.

Each offer may include one (1) country-specific\ \ take-back policy for each of the following countries:
  • United\ \ Kingdom [GB]
  • Germany [DE]
  • France [FR]
  • Italy\ \ [IT]
  • Spain [ES]

Note:\ \ Take-back policies that apply to all countries to which a seller\ \ ships are specified using takeBackPolicyId." $ref: "#/components/schemas/RegionalTakeBackPolicies" returnPolicyId: type: "string" description: "This unique identifier indicates the return business policy\ \ that will be used once an offer is published and converted to an eBay\ \ listing. This return business policy will set all return policy settings\ \ for the eBay listing.

Note:\ \ As a part of Digital Services Act (DSA) requirements, as of April 3,\ \ 2023, buyers in the EU must be allowed to return an item within 14 days\ \ or more, unless the item is exempt. Where applicable, sellers should\ \ update their return policies to reflect this requirement of accepting\ \ returns from EU buyers.
Business policies are not immediately\ \ required for offers, but are required before an offer can be published.\ \ The seller should review the return business policy before assigning\ \ it to the offer to make sure it is compatible with the inventory item\ \ and the offer settings.

Business policies can be created and\ \ managed in My eBay or with the Account API. To get a list of all return policies\ \ associated with a seller's account on a specific eBay Marketplace, use\ \ the Account API's getReturnPolicies call. There are also calls in\ \ the Account API to retrieve a return policy by policy\ \ ID or policy name.

This field will be returned in the getOffer and getOffers methods if set for the offer.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.

" shippingCostOverrides: type: "array" description: "This container is used if the seller wishes to override the\ \ shipping costs or surcharge for one or more domestic or international\ \ shipping service options defined in the fulfillment listing policy.\ \ To override the costs of a specific domestic or international shipping\ \ service option, the seller must know the priority/order of that shipping\ \ service in the fulfillment listing policy. The name of a shipping service\ \ option can be found in the shippingOptions.shippingServices.shippingServiceCode\ \ field of the fulfillment policy, and the priority/order of that shipping\ \ service option is found in the shippingOptions.shippingServices.sortOrderId\ \ field. Both of these values can be retrieved by searching for that fulfillment\ \ policy with the getFulfillmentPolicies or getFulfillmentPolicyByName\ \ calls of the Account API. The shippingCostOverrides.priority\ \ value should match the shippingOptions.shippingServices.sortOrderId\ \ in order to override the shipping costs for that shipping service option.\ \ The seller must also ensure that the shippingServiceType\ \ value is set to DOMESTIC to override a domestic shipping\ \ service option, or to INTERNATIONAL to override an international\ \ shipping service option.

A separate ShippingCostOverrides\ \ node is needed for each shipping service option whose costs are being\ \ overridden. All defined fields of the shippingCostOverrides\ \ container should be included, even if the shipping costs and surcharge\ \ values are not changing.

The shippingCostOverrides\ \ container is returned in the getOffer and getOffers calls if one or more shipping cost overrides\ \ are being applied to the fulfillment policy." items: $ref: "#/components/schemas/ShippingCostOverride" takeBackPolicyId: type: "string" description: "This unique identifier indicates the seller-created global\ \ take-back policy that will be used once an offer is published and converted\ \ to a listing.

One (1) global take-back policy may be specified\ \ per offer.
Note: For countries\ \ that support country-specific policies, use regionalTakeBackPolicies to apply them to an offer." description: "This type is used to identify business policies including payment,\ \ return, and fulfillment policies, as well as 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. Additionally, depending on the country/countries in which sellers\ \ are offering products and/or services to consumers (e.g., residents of the\ \ European Union,) specifying additional polices may be required.

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." Location: type: "object" properties: address: description: "The address container is always returned\ \ in getInventoryLocation/getInventoryLocations\ \ calls. Except in the case of a store or fulfillment center location,\ \ a full address is not a requirement when setting up an inventory location." $ref: "#/components/schemas/Address" geoCoordinates: description: "This container displays the Global Positioning System (GPS)\ \ latitude and longitude coordinates for the inventory location.

This\ \ container is only returned if the geo-coordinates are set for an inventory\ \ location." $ref: "#/components/schemas/GeoCoordinates" locationId: type: "string" description: "A unique eBay-assigned ID for the location.

Note: This field should not be\ \ confused with the seller-defined merchantLocationKey value. It\ \ is the merchantLocationKey value which is used to identify an\ \ inventory location when working with inventory location API calls. The\ \ locationId value is only used internally by eBay." description: "A complex type that is used to provide the physical address of\ \ a location, and it geo-coordinates." LocationAvailabilityDetails: type: "object" properties: merchantLocationKey: type: "string" description: "The unique identifier of a seller’s fulfillment center location\ \ where inventory is available for the item or item variation.

Note: When creating a location mapping using\ \ the createOrReplaceSkuLocationMapping method, the value entered\ \ in this field must be associated with a location with the FULFILLMENT_CENTER\ \ location type, or an error will occur. Sellers can check the locationTypes array in the response of the getInventoryLocations method to see if their location\ \ has a value of FULFILLMENT_CENTER." description: "This type provides the unique identifier of an inventory location\ \ that is associated with a SKU within a listing." LocationDetails: type: "object" properties: address: description: "This required container sets the physical address of an inventory\ \ location. Except in the case store or fulfillment center location, a\ \ full address is not a requirement when setting up a location. For warehouse\ \ locations, the fields required in this container are either of the following\ \ sets:
  • city, stateOrProvince, and country
  • postalCode\ \ and country
" $ref: "#/components/schemas/Address" geoCoordinates: description: "This container is used to set the Global Positioning System\ \ (GPS) latitude and longitude coordinates for the inventory location.

Geographical\ \ coordinates are required for the location of In-Store Pickup inventory. " $ref: "#/components/schemas/GeoCoordinates" description: "This type is used by the createInventoryLocation call to\ \ provide an full or partial address of an inventory location." LocationMapping: type: "object" properties: locations: type: "array" description: "This array represents a collection of fulfillment center locations\ \ mapped to a SKU.

Note: Only\ \ the first 50 locations mapped to a SKU will be considered when calculating\ \ estimated delivery dates. Sellers can set up more than 50 locations\ \ using this method, but only the first 50 locations will be considered\ \ for calculating the estimates." items: $ref: "#/components/schemas/LocationAvailabilityDetails" description: "This type provides an array of locations that are associated with\ \ a SKU within a listing." LocationResponse: type: "object" properties: href: type: "string" description: "The URI of the current page of results from the result set." limit: type: "integer" description: "The number of items returned on a single page from the result\ \ set." format: "int32" next: type: "string" description: "The URI for the following page of results. This value is returned\ \ only if there is an additional page of results to display from the result\ \ set.

Max length: 2048" offset: type: "integer" description: "The number of results skipped in the result set before listing\ \ the first returned result. This value is set in the request with the\ \ offset query parameter.

Note:\ \ The items in a paginated result set use a zero-based list where\ \ the first item in the list has an offset of 0.

" format: "int32" prev: type: "string" description: "The URI for the preceding page of results. This value is returned\ \ only if there is a previous page of results to display from the result\ \ set.

Max length: 2048" total: type: "integer" description: "The total number of items retrieved in the result set.

If\ \ no items are found, this field is returned with a value of 0." format: "int32" locations: type: "array" description: "An array of one or more of the merchant's inventory locations." items: $ref: "#/components/schemas/InventoryLocationResponse" description: "This type is used by the base response payload for the getInventoryLocations\ \ call." Manufacturer: type: "object" properties: addressLine1: type: "string" description: "The first line of the product manufacturer's street address.

Max\ \ length: 180 characters" addressLine2: type: "string" description: "The second line of the product manufacturer's street address.\ \ This field is not always used, but can be used for secondary address\ \ information such as 'Suite Number' or 'Apt Number'.

Max length:\ \ 180 characters" city: type: "string" description: "The city of the product manufacturer's street address.

Max\ \ length: 64 characters" companyName: type: "string" description: "The company name of the product manufacturer.

Max\ \ length: 100 characters" contactUrl: type: "string" description: "The contact URL of the product manufacturer.

Max\ \ length: 250 characters" country: type: "string" description: "This defines the list of valid country codes, adapted from\ \ http://www.iso.org/iso/country_codes, ISO 3166-1 country code. List\ \ elements take the following form to identify a two-letter code with\ \ a short name in English, a three-digit code, and a three-letter code:\ \ For example, the entry for Japan includes Japan, 392, JPN. Short codes\ \ provide uniform recognition, avoiding language-dependent country names.\ \ The number code is helpful where Latin script may be problematic. Not\ \ all listed codes are universally recognized as countries, for example:\ \ code AQ is Antarctica, 010, ATA For implementation help, refer to eBay\ \ API documentation" email: type: "string" description: "The product manufacturer's business email address.

Max\ \ length: 180 characters" phone: type: "string" description: "The product manufacturer's business phone number.

Max\ \ length: 64 characters" postalCode: type: "string" description: "The postal code of the product manufacturer's street address.

Max\ \ length: 9 characters" stateOrProvince: type: "string" description: "The state or province of the product manufacturer's street\ \ address.

Max length: 64 characters" description: "This type provides name and contact information about the manufacturer\ \ of the item." MigrateListing: type: "object" properties: listingId: type: "string" description: "The unique identifier of the eBay listing to migrate to the\ \ new Inventory model. In the Trading API, this field is known as the\ \ ItemID.

Up to five unique eBay listings may\ \ be specified here in separate listingId fields. The\ \ seller should make sure that each of these listings meet the requirements\ \ that are stated at the top of this Call Reference page." description: "This type is used to specify one to five eBay listings that will\ \ be migrated to the new Inventory model." MigrateListingResponse: type: "object" properties: errors: type: "array" description: "If one or more errors occur with the attempt to migrate the\ \ listing, this container will be returned with detailed information on\ \ each error." items: $ref: "#/components/schemas/Error" inventoryItemGroupKey: type: "string" description: "This field will only be returned for a multiple-variation\ \ listing that the seller attempted to migrate. Its value is auto-generated\ \ by eBay. For a multiple-variation listing that is successfully migrated\ \ to the new Inventory model, eBay automatically creates an inventory\ \ item group object for the listing, and the seller will be able to retrieve\ \ and manage that new inventory item group object by using the value in\ \ this field." inventoryItems: type: "array" description: "This container exists of an array of SKU values and offer\ \ IDs. For single-variation listings, this will only be one SKU value\ \ and one offer ID (if listing was successfully migrated), but multiple\ \ SKU values and offer IDs will be returned for multiple-variation listings." items: $ref: "#/components/schemas/InventoryItemListing" listingId: type: "string" description: "The unique identifier of the eBay listing that the seller\ \ attempted to migrate." marketplaceId: type: "string" description: "This is the unique identifier of the eBay Marketplace where\ \ the listing resides. The value fo the eBay US site will be EBAY_US.\ \ For implementation help, refer to eBay\ \ API documentation" statusCode: type: "integer" description: "This field is returned for each listing that the seller attempted\ \ to migrate. See the HTTP status codes table to see\ \ which each status code indicates." format: "int32" warnings: type: "array" description: "If one or more warnings occur with the attempt to migrate\ \ the listing, this container will be returned with detailed information\ \ on each warning. It is possible that a listing can be successfully migrated\ \ even if a warning occurs." items: $ref: "#/components/schemas/Error" description: "This type is used to display the results of each listing that\ \ the seller attempted to migrate." NameValueList: type: "object" properties: name: type: "string" description: "This string value identifies the motor vehicle aspect, such\ \ as 'make', 'model', 'year', 'trim', and 'engine'. Typically, the make,\ \ model, and year of the motor vehicle are always required, with the trim\ \ and engine being necessary sometimes, but it will be dependent on the\ \ part or accessory, and on the vehicle class.

The getCompatibilityProperties method of the Taxonomy\ \ API can be used to retrieve applicable vehicle aspect names for a specified\ \ category." value: type: "string" description: "This string value identifies the motor vehicle aspect specified\ \ in the corresponding name field. For example, if the\ \ name field is 'make', this field may be 'Toyota', or\ \ if the name field is 'model', this field may be 'Camry'.

The\ \ getCompatibilityPropertyValues method of the Taxonomy\ \ API can be used to retrieve possible values for vehicle aspect names." description: "This type is used by the compatibilityProperties\ \ container to identify a motor vehicle using name/value pairs." OfferKeyWithId: type: "object" properties: offerId: type: "string" description: "The unique identifier of an unpublished offer for which expected\ \ listing fees will be retrieved. One to 250 offerId\ \ values can be passed in to the offers container for\ \ one getListingFees call.

Use the getOffers\ \ method to retrieve offer IDs.

Note:\ \ Errors will occur if offerId values representing published\ \ offers are passed in." description: "This type is used by the getListingFees call\ \ to indicate the unpublished offer(s) for which expected listing fees will\ \ be retrieved. The user passes in one or more offerId values\ \ (a maximum of 250). See the Standard selling fees help page for more information\ \ on listing fees." OfferKeysWithId: type: "object" properties: offers: type: "array" description: "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.

The call response gives aggregate\ \ fee amounts per eBay marketplace, and does not give fee information\ \ at the individual offer level." items: $ref: "#/components/schemas/OfferKeyWithId" description: "This type is used by the base request payload of the getListingFees\ \ call." OfferPriceQuantity: type: "object" properties: availableQuantity: type: "integer" description: "This field is used if the seller wants to modify the current\ \ quantity of the inventory item that will be available for purchase in\ \ the offer (identified by the corresponding offerId\ \ value).

This value represents the quantity of the item that is\ \ available in the marketplace specified within the offer, not the total\ \ quantity available. Because of this, this value should not exceed the\ \ value specified in the quantity field of the shipToLocationAvailability container\ \ (the total available quantity of the item across all marketplaces).

Note: To ensure that the available\ \ quantity allocated to a specific marketplace doesn't exceed the total\ \ available stock, the quantity specified on a listing will be the minimum\ \ value between this field and the quantity field.
Either the availableQuantity\ \ field or the price container is required, but not necessarily\ \ both." format: "int32" offerId: type: "string" description: "This field is the unique identifier of the offer. If an offers\ \ container is used to update one or more offers associated to a specific\ \ inventory item, the offerId value is required in order\ \ to identify the offer to update with a modified price and/or quantity.

The\ \ seller can use the getOffers method (passing in the correct SKU\ \ value as a query parameter) to retrieve offerId values\ \ for offers associated with the SKU." price: description: "This container is used if the seller wants to modify the current\ \ price of the inventory item. The dollar value set here will be the new\ \ price of the inventory item in the offer (identified by the corresponding\ \ offerId value). Either the availableQuantity\ \ field or the price container is required, but not necessarily\ \ both." $ref: "#/components/schemas/Amount" description: "This type is used by the offers container in\ \ a Bulk Update Price and Quantity call to update the current\ \ price and/or quantity of one or more offers associated with a specific inventory\ \ item." OfferResponse: type: "object" properties: offerId: type: "string" description: "The unique identifier of the offer that was just created with\ \ a createOffer call. It is not returned if the createOffer\ \ call fails to create an offer. This identifier will be needed for many\ \ offer-related calls.

Note:\ \ The offerId value is only returned with a successful\ \ createOffer call. This field will not be returned in\ \ the updateOffer response.

" warnings: type: "array" description: "This container will contain an array of errors and/or warnings\ \ when a call is made, and errors and/or warnings occur." items: $ref: "#/components/schemas/Error" description: "This type is used by the response payload of the createOffer\ \ and updateOffer calls. The offerId field\ \ contains the unique identifier for the offer if the offer is successfully\ \ created by the createOffer call. The warnings\ \ field contains any errors and/or warnings that may have been triggered by\ \ the call.

Note: The offerId\ \ value is only returned with a successful createOffer call.\ \ This field will not be returned in the updateOffer response.

" OfferResponseWithListingId: type: "object" properties: errors: type: "array" description: "This container will be returned if there were one or more\ \ errors associated with publishing the offer." items: $ref: "#/components/schemas/Error" listingId: type: "string" description: "The unique identifier of the newly-created eBay listing. This\ \ field is only returned if the seller successfully published the offer\ \ and created the new eBay listing." offerId: type: "string" description: "The unique identifier of the offer that the seller published\ \ (or attempted to publish)." statusCode: type: "integer" description: "The HTTP status code returned in this field indicates the\ \ success or failure of publishing the offer specified in the offerId\ \ field. See the HTTP status codes table to see which\ \ each status code indicates." format: "int32" warnings: type: "array" description: "This container will be returned if there were one or more\ \ warnings associated with publishing the offer." items: $ref: "#/components/schemas/Error" description: "This type is used to indicate the status of each offer that the\ \ user attempted to publish. If an offer is successfully published, an eBay\ \ listing ID (also known as an Item ID) is returned. If there is an issue\ \ publishing the offer and creating the new eBay listing, the information\ \ about why the listing failed should be returned in the errors\ \ and/or warnings containers." OfferSkuResponse: type: "object" properties: errors: type: "array" description: "This container will be returned at the offer level, and will\ \ contain one or more errors if any occurred with the attempted creation\ \ of the corresponding offer." items: $ref: "#/components/schemas/Error" format: type: "string" description: "This enumeration value indicates the listing format of the\ \ offer. For implementation help, refer to eBay\ \ API documentation" marketplaceId: type: "string" description: "This enumeration value is the unique identifier of the eBay\ \ marketplace for which the offer will be made available. This enumeration\ \ value should be the same for all offers since the bulkCreateOffer\ \ method can only be used to create offers for one eBay marketplace at\ \ a time. For implementation help, refer to eBay\ \ API documentation" offerId: type: "string" description: "The unique identifier of the newly-created offer. This identifier\ \ should be automatically created by eBay if the creation of the offer\ \ was successful. It is not returned if the creation of the offer was\ \ not successful. In which case, the user may want to scan the corresponding\ \ errors and/or warnings container to\ \ see what the issue may be." sku: type: "string" description: "The seller-defined Stock-Keeping Unit (SKU) of the inventory\ \ item. The sku value is required for each product offer\ \ that the seller is trying to create, and it is always returned to identified\ \ the product that is associated with the offer." statusCode: type: "integer" description: "The integer value returned in this field is the http status\ \ code. If an offer is created successfully, the value returned in this\ \ field should be 200. A user can view the HTTP status\ \ codes section for information on other status codes that may\ \ be returned with the bulkCreateOffer method." format: "int32" warnings: type: "array" description: "This container will be returned at the offer level, and will\ \ contain one or more warnings if any occurred with the attempted creation\ \ of the corresponding offer. Note that it is possible that an offer can\ \ be created successfully even if one or more warnings are triggered." items: $ref: "#/components/schemas/Error" description: "This type is used by the bulkCreateOffer response\ \ to show the status of each offer that the seller attempted to create with\ \ the bulkCreateOffer method. For each offer that is created\ \ successfully, the returned statusCode value should be 200,\ \ and a unique offerId should be created for each offer.\ \ If any issues occur with the creation of any offers, errors\ \ and/or warnings containers will be returned." Offers: type: "object" properties: href: type: "string" description: "This is the URL to the current page of offers." limit: type: "integer" description: "This integer value is the number of offers that will be displayed\ \ on each results page." format: "int32" next: type: "string" description: "This is the URL to the next page of offers. This field will\ \ only be returned if there are additional offers to view." offers: type: "array" description: "This container is an array of one or more of the seller's\ \ offers for the SKU value that is passed in through the required sku\ \ query parameter.

Note:\ \ Currently, the Inventory API does not support the same SKU across multiple\ \ eBay marketplaces.
Max Occurs: 25" items: $ref: "#/components/schemas/EbayOfferDetailsWithAll" prev: type: "string" description: "This is the URL to the previous page of offers. This field\ \ will only be returned if there are previous offers to view." size: type: "integer" description: "This integer value indicates the number of offers being displayed\ \ on the current page of results. This number will generally be the same\ \ as the limit value if there are additional pages of\ \ results to view.

Note:\ \ The same SKU can be offered through an auction and a fixed-price listing\ \ concurrently. If this is the case, getOffers will return two\ \ offers and this value will be 2. Otherwise, only one offer\ \ will be returned and this value will be 1." format: "int32" total: type: "integer" description: "This integer value is the total number of offers that exist\ \ for the specified SKU value. Based on this number and on the limit\ \ value, the seller may have to toggle through multiple pages to view\ \ all offers.

Note:\ \ The same SKU can be offered through an auction and a fixed-price listing\ \ concurrently. If this is the case, getOffers will return two\ \ offers, so this value would be 2. Otherwise, only one offer\ \ will be returned and this value will be 1." format: "int32" description: "This type is used by the base response of the getOffers\ \ call, and it is an array of one or more of the seller's offers, along with\ \ pagination data." OperatingHours: type: "object" properties: dayOfWeekEnum: type: "string" description: "A dayOfWeekEnum value is required for each\ \ day of the week that the store location has regular operating hours.\ \

This field is returned if operating hours are defined for the\ \ store location. For implementation help, refer to eBay\ \ API documentation" intervals: type: "array" description: "This container is used to define the opening and closing times\ \ of a store location's working day (defined in the dayOfWeekEnum\ \ field). An intervals container is needed for each day\ \ of the week that the store location is open. If a store location closes\ \ for lunch (or any other period during the day) and then reopens, multiple\ \ open and close pairs are needed

This\ \ container is returned if operating hours are defined for the store location." items: $ref: "#/components/schemas/Interval" description: "This type is used to express the regular operating hours of a\ \ merchant's store or fulfillment center during the days of the week." Overrides: type: "object" properties: cutOffTime: type: "string" description: "This field is used to override the cut-off time(s) specified\ \ in the weeklySchedule container. If an order is placed after\ \ this time in the specified date or date range, it will be handled by\ \ the seller on the following day.

Format: 00:00" endDate: type: "string" description: "The end date of the cut-off time override in ISO 8601 format,\ \ which is based on the 24-hour Coordinated Universal Time (UTC) clock.

Note: If the cut-off time override is only\ \ for a single day, input the same date in the startDate and endDate\ \ fields.
Format: [YYYY]-[MM]-[DD]

Example:\ \ 2024-08-06

Note:\ \ The time zone for this date is specified from the timeZoneId\ \ field. If this field is not used, the time zone will be derived from\ \ the provided address." startDate: type: "string" description: "The start date of the cut-off time override in ISO 8601 format, which is based on the 24-hour\ \ Coordinated Universal Time (UTC) clock.

Note: If the cut-off time override is only for a single day, input\ \ the same date in the startDate and endDate fields.
Format:\ \ [YYYY]-[MM]-[DD]

Example: 2024-08-04

Note: The time zone for this date is specified\ \ from the timeZoneId field. If this field is not used, the time\ \ zone will be derived from the provided address." description: "This type defines the override dates for cut-off times. This allows\ \ sellers to set special hours for their inventory location and specify different\ \ cut-off times on these days." PackageWeightAndSize: type: "object" properties: dimensions: description: "This container is used to indicate the length, width, and\ \ height of the shipping package that will be used to ship the inventory\ \ item. The dimensions of a shipping package are needed when calculated\ \ shipping is used.

This container will be returned if package\ \ dimensions are set for the inventory item." $ref: "#/components/schemas/Dimension" packageType: type: "string" description: "This enumeration value indicates the type of shipping package\ \ used to ship the inventory item. The supported values for this field\ \ can be found in the PackageTypeEnum type.

This field will be\ \ returned if the package type is set for the inventory item.

Note: You can use the GeteBayDetails Trading API call to retrieve a\ \ list of supported package types for a specific marketplace. For\ \ implementation help, refer to eBay\ \ API documentation" shippingIrregular: type: "boolean" description: "A value of true indicates that the package is\ \ irregular and cannot go through the stamping machine at the shipping\ \ service office. This field applies to calculated shipping only. Irregular\ \ packages require special or fragile handling." weight: description: "This container is used to specify the weight of the shipping\ \ package that will be used to ship the inventory item. The weight of\ \ a shipping package are needed when calculated shipping is used, or if\ \ flat-rate shipping rates are used, but with a weight surcharge.

This\ \ field will be returned if package weight is set for the inventory item." $ref: "#/components/schemas/Weight" description: "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." PickupAtLocationAvailability: type: "object" properties: availabilityType: type: "string" description: "The enumeration value in this field indicates the availability\ \ status of the inventory item at the merchant's physical store specified\ \ by the pickupAtLocationAvailability.merchantLocationKey\ \ field. This field is required if the pickupAtLocationAvailability\ \ container is used, and is always returned with the pickupAtLocationAvailability\ \ container.

See AvailabilityTypeEnum for more information about\ \ how/when you use each enumeration value. For implementation help, refer\ \ to eBay\ \ API documentation" fulfillmentTime: description: "This container is used to indicate how soon an In-Store Pickup\ \ order will be available for pickup by the buyer after the order takes\ \ place. This container is required if the pickupAtLocationAvailability\ \ container is used, and is always returned with the pickupAtLocationAvailability\ \ container." $ref: "#/components/schemas/TimeDuration" merchantLocationKey: type: "string" description: "The unique identifier of a merchant's store where the In-Store\ \ Pickup inventory item is currently located, or where inventory will\ \ be sent to. If the merchant's store is currently awaiting for inventory,\ \ the availabilityType value should be SHIP_TO_STORE.\ \ This field is required if the pickupAtLocationAvailability\ \ container is used, and is always returned with the pickupAtLocationAvailability\ \ container.

Use the getInventoryLocations method to retrieve merchant\ \ location keys.

Max length: 36" quantity: type: "integer" description: "This integer value indicates the quantity of the inventory\ \ item that is available for In-Store Pickup at the store identified by\ \ the merchantLocationKey value. The value of quantity\ \ should be an integer value greater than 0, unless the inventory\ \ item is out of stock. This field is required if the pickupAtLocationAvailability\ \ container is used, and is always returned with the pickupAtLocationAvailability\ \ container." format: "int32" description: "This type is used to specify/indicate the quantity of the inventory\ \ item that is available for an In-Store Pickup order at the merchant's physical\ \ store (specified by the merchantLocationKey field)." PriceQuantity: type: "object" properties: offers: type: "array" description: "This container is needed if the seller is updating the price\ \ and/or quantity of one or more published offers, and a successful call\ \ will actually update the active eBay listing with the revised price\ \ and/or available quantity.

This call is not designed to work\ \ with unpublished offers. For unpublished offers, the seller should use\ \ the updateOffer call to update the available quantity\ \ and/or price.

If the seller is also using the shipToLocationAvailability\ \ container and sku field to update the total 'ship-to-home'\ \ quantity of the inventory item, the SKU value associated with the corresponding\ \ offerId value(s) must be the same as the corresponding\ \ sku value that is passed in, or an error will occur.

Important!\ \ A separate (OfferPriceQuantity) node is required for\ \ each offer being updated.

" items: $ref: "#/components/schemas/OfferPriceQuantity" shipToLocationAvailability: description: "This container is needed if the seller is updating the total\ \ 'ship-to-home' quantity for the corresponding inventory item (specified\ \ in the sku field). A successful call will update the\ \ inventory item record associated with the sku value." $ref: "#/components/schemas/ShipToLocationAvailability" sku: type: "string" description: "This is the seller-defined SKU value of the inventory item\ \ whose total 'ship-to-home' quantity will be updated. This field is only\ \ required when the seller is updating the total quantity of an inventory\ \ item using the shipToLocationAvailability container.\ \ If the seller is updating the price and/or quantity of one or more specific\ \ offers, one or more offerId values are used instead,\ \ and the sku value is not needed.

If the seller\ \ wants to update the price and/or quantity of one or more offers, and\ \ also wants to update the total 'ship-to-home' quantity of the corresponding\ \ inventory item, the SKU value associated with the offerId\ \ value(s) must be the same as the corresponding sku\ \ value that is passed in, or an error will occur.

Use the getInventoryItems method to retrieve SKU values.

Max\ \ Length: 50
" description: "This type is used to update the total \"ship-to-home\" quantity\ \ for one or more inventory items and/or to update the price and/or quantity\ \ of one or more specific offers associated with one or more inventory items." PriceQuantityResponse: type: "object" properties: errors: type: "array" description: "This array will be returned if there were one or more errors\ \ associated with the update to the offer or inventory item record." items: $ref: "#/components/schemas/Error" offerId: type: "string" description: "The unique identifier of the offer that was updated. This\ \ field will not be returned in situations where the seller is only updating\ \ the total 'ship-to-home' quantity of an inventory item record." sku: type: "string" description: "This is the seller-defined SKU value of the product. This\ \ field is returned whether the seller attempted to update an offer with\ \ the SKU value or just attempted to update the total 'ship-to-home' quantity\ \ of an inventory item record.

Max Length: 50
" statusCode: type: "integer" description: "The value returned in this container will indicate the status\ \ of the attempt to update the price and/or quantity of the offer (specified\ \ in the corresponding offerId field) or the attempt\ \ to update the total 'ship-to-home' quantity of an inventory item (specified\ \ in the corresponding sku field). For a completely successful\ \ update of an offer or inventory item record, a value of 200\ \ will appear in this field. A user can view the HTTP status\ \ codes section for information on other status codes that may\ \ be returned with the bulkUpdatePriceQuantity method." format: "int32" warnings: type: "array" description: "This array will be returned if there were one or more warnings\ \ associated with the update to the offer or inventory item record." items: $ref: "#/components/schemas/Error" description: "This type is used to display the result for each offer and/or\ \ inventory item that the seller attempted to update with a bulkUpdatePriceQuantity\ \ call. If any errors or warnings occur, the error/warning data is returned\ \ at the offer/inventory item level." PricingSummary: type: "object" properties: auctionReservePrice: description: "This field indicates the lowest price at which the seller\ \ is willing to sell an item through an auction listing. Note that setting\ \ a Reserve Price will incur a listing fee of $5 or 7.5% of the Reserve\ \ Price, whichever is greater. The minimum fee is $5.

Important: This fee is charged regardless of whether\ \ or not the item is sold." $ref: "#/components/schemas/Amount" auctionStartPrice: description: "This field indicates the minimum bidding price for the auction.\ \ The bidding starts at this price.

Note:\ \ If the auctionReservePrice is also specified, the value of auctionStartPrice\ \ must be lower than the value of auctionReservePrice." $ref: "#/components/schemas/Amount" minimumAdvertisedPrice: description: "This container is needed if the Minimum Advertised Price (MAP)\ \ feature will be used in the offer. Minimum Advertised Price (MAP) is\ \ an agreement between suppliers (or manufacturers (OEM)) and the retailers\ \ (sellers) stipulating the lowest price an item is allowed to be advertised\ \ at. Sellers can only offer prices below this price through the use of\ \ other discounts. The MAP feature is only available to eligible US sellers.\ \ This field will be ignored if the seller and or the listing is not eligible\ \ for the MAP feature.

This container will be returned by getOffer\ \ and getOffers if set for the offer." $ref: "#/components/schemas/Amount" originallySoldForRetailPriceOn: type: "string" description: "This field is needed if the Strikethrough Pricing (STP) feature\ \ will be used in the offer. This field indicates that the product was\ \ sold for the price in the originalRetailPrice field\ \ on an eBay site, or sold for that price by a third-party retailer. When\ \ using the createOffer or updateOffer\ \ calls, the seller will pass in a value of ON_EBAY to indicate\ \ that the product was sold for the originalRetailPrice\ \ on an eBay site, or the seller will pass in a value of OFF_EBAY\ \ to indicate that the product was sold for the originalRetailPrice\ \ through a third-party retailer. This field and the originalRetailPrice\ \ field are only applicable if the seller and listing are eligible to\ \ use the Strikethrough Pricing feature, a feature which is limited to\ \ the US (core site and Motors), UK, Germany, Canada (English and French\ \ versions), France, Italy, and Spain sites.

This field will be\ \ returned by getOffer and getOffers if set for the offer. For implementation help, refer to\ \ eBay\ \ API documentation" originalRetailPrice: description: "This container is needed if the Strikethrough Pricing (STP)\ \ feature will be used in the offer. The dollar value passed into this\ \ field indicates the original retail price set by the manufacturer (OEM).\ \ eBay does not maintain or validate the value supplied here by the seller.\ \ The dollar value in this field should always be more than the dollar\ \ value in the price container. This field and the originallySoldForRetailPriceOn\ \ field are only applicable if the seller and listing are eligible to\ \ use the Strikethrough Pricing feature, a feature which is limited to\ \ the US (core site and Motors), UK, Germany, Canada (English and French\ \ versions), France, Italy, and Spain sites. Compare the originalRetailPrice\ \ and the dollar value in the price field to determine\ \ the amount of savings to the buyer. This Original Retail Price will\ \ have a strikethrough line through for a marketing affect.

This\ \ container will be returned by getOffer and getOffers if set for the offer." $ref: "#/components/schemas/Amount" price: description: "This is the listing price of the product. A listing price\ \ must be specified before publishing an offer, but it is possible to\ \ create an offer without a price.

For published offers, this container\ \ will always be returned, but for unpublished offers, this container\ \ will only be returned if set for the offer.

Important!Publish\ \ offer note: This container and its two child fields (currency\ \ and value) are required before an offer can be published to create\ \ an active listing.

" $ref: "#/components/schemas/Amount" pricingVisibility: type: "string" description: "This field is needed if the Minimum Advertised Price (MAP)\ \ feature will be used in the offer. This field is only applicable if\ \ an eligible US seller is using the Minimum Advertised Price (MAP) feature\ \ and a minimumAdvertisedPrice has been specified. The\ \ value set in this field will determine whether the MAP price is shown\ \ to a prospective buyer prior to checkout through a pop-up window accessed\ \ from the View Item page, or if the MAP price is not shown until the\ \ checkout flow after the buyer has already committed to buying the item.\ \ To show the MAP price prior to checkout, the seller will set this value\ \ to PRE_CHECKOUT. To show the MAP price after the buyer\ \ already commits to buy the item, the seller will set this value to DURING_CHECKOUT.\ \ This field will be ignored if the seller and/or the listing is not eligible\ \ for the MAP feature.

This field will be returned by getOffer\ \ and getOffers if set for the offer. For implementation help, refer to\ \ eBay\ \ API documentation" description: "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." Product: type: "object" properties: aspects: type: "string" description: "This is a collection of item specifics (aka product aspects)\ \ name-value pairs that provide more information about the product and\ \ might make it easier for buyers to find. To view required/recommended\ \ product aspects/item specifics names (and corresponding values) for\ \ a specific eBay category, sellers can use the getItemAspectsForCategory method of the Taxonomy\ \ API. Alternatively, sellers can view similar items on eBay.com in the\ \ same category to get an idea of what other sellers are using for product\ \ aspects/item specifics.

Important! Effective from December\ \ 28th, 2024, sellers offering certain rechargeable devices in EU and\ \ Northern Ireland markets must comply with the Common Charger Directive\ \ (CCD) and list appropriate charger-related aspects and values on their\ \ listings. See Common Charger Directive for more information.


Sellers\ \ also have the option of specifying an eBay Product ID (ePID) or optionally,\ \ a Global Trade Item Number (GTIN) through the corresponding fields in\ \ the product container in an attempt to find a product\ \ match in the eBay Catalog. If a match is found based on the ePID or\ \ GTIN value, the product aspects that are defined for the eBay Catalog\ \ product will automatically get picked up by the newly created/updated\ \ inventory item.

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.

\"\
            aspects\": {
\"Brand\": [\"GoPro\"],
\"Storage Type\": [\"Removable\"\ ]
}

Note that inventory items that will become part\ \ of an inventory item group and multiple-variation listing should have\ \ the same attributes that are defined for the inventory item group.

This\ \ container will be returned if one or more item specific pairs are defined\ \ for the inventory item.

Important!Publish offer note:\ \ This field is required before an offer can be published to create an\ \ active listing.


Max Length for Aspect Name:\ \ 40

Max Length for Aspect Value: 50" brand: type: "string" description: "The brand of the product. This field is often paired with\ \ the mpn field to identify a specific product by Manufacturer\ \ Part Number. This field is conditionally required if the eBay category\ \ requires a Manufacturer Part Number (MPN) value. If eBay is able to\ \ find a product match in the eBay Catalog when an eBay Product ID (ePID)\ \ or GTIN value (UPC, ISBN, or EAN) is supplied, all product details of\ \ that eBay Catalog product is picked up by the inventory item record\ \ (including brand) if the createOrReplaceInventoryItem\ \ call is successful.

This field is returned if defined for an\ \ inventory item. If a brand was passed in as an item specific name-value\ \ pair through the aspects array in a createOrReplaceInventoryItem\ \ call, this value is also picked up by the brand field.

Max\ \ Length: 65" description: type: "string" description: "The description of the product. The description of an existing\ \ inventory item can be added or modified with a createOrReplaceInventoryItem\ \ call. The description of an inventory item is automatically populated\ \ if the seller specifies an eBay Product ID (ePID) or a Global Trade\ \ Item Number (GTIN) and eBay is able to find a matching product in the\ \ eBay Catalog.

Note that this field is optional but recommended.\ \ If a listingDescription field is omitted when creating\ \ and publishing a single-variation offer, the text in this field will\ \ be used instead. If neither the product.description\ \ field for the inventory item nor the listingDescription\ \ field for the offer exist, the publishOffer call will\ \ fail. If the inventory item will be part of an inventory item group/multiple-variation\ \ listing, this field should definitely be used to specify how the corresponding\ \ product variation is different (e.g. This is the green, extra-large\ \ version of the shirt). However, in the case of an inventory item\ \ group, the text in the description field of the inventory\ \ item group will become the listing description of the actual eBay listing\ \ instead of the text in this field.

Basic HTML tags are supported,\ \ including the following tags:
  • <b>
  • <strong>
  • <br>
  • <ol>
  • <ul>
  • <li>
  • Table\ \ tags including <table>, <tr>, <td>, <th>, <thead>,\ \ <tfoot>, <tbody>, <caption>, <colgroup>, and\ \ <col>
A seller can not use any active content in their\ \ listing description. Active content includes animation or video via\ \ JavaScript, Flash, plug-ins, or form actions.

This field is returned\ \ if defined for an inventory item. If one of the GTIN types (e.g. UPC)\ \ was passed in when the inventory item was created/modified and a product\ \ match was found in the eBay catalog, product description is one of the\ \ details that gets picked up from the catalog product.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


Max Length:\ \ 4000" ean: type: "array" description: "The European Article Number/International Article Number (EAN)\ \ for the product. Although an ePID value is preferred when trying to\ \ find a product match in the eBay Catalog, this field can also be used\ \ in an attempt to find a product match in the eBay Catalog. If a product\ \ match is found in the eBay Catalog, the inventory item is automatically\ \ populated with available product details such as a title, a product\ \ description, product aspects (including the specified EAN value), and\ \ a link to any stock image that exists for the catalog product.

This\ \ field is returned if defined for an inventory item. If an EAN was passed\ \ in as an item specific name-value pair through the aspects\ \ array in a createOrReplaceInventoryItem call, this\ \ value is also picked up by the ean field.

Note: If the\ \ item is being listed in a category that requires an EAN value, but one\ \ doesn't exist for the product, the seller must provide a string indicating\ \ that the product identifier is unavailable. This text varies by marketplace.\ \ Refer to Product Identifier Text for the specific text\ \ based on the listing marketplace.

" items: type: "string" epid: type: "string" description: "The eBay Product Identifier (ePID) for the product. This field\ \ can be used to directly identify an eBay Catalog product. Based on its\ \ specified ePID value, eBay will search for the product in the eBay Catalog,\ \ and if a match is found, the inventory item is automatically populated\ \ with available product details such as product title, product description,\ \ product aspects, and a link to any stock image that exists for the catalog\ \ product.

In an attempt to find a eBay Catalog product match,\ \ an ePID value is always preferred over the other product identifiers,\ \ since it is possible that one GTIN value can be associated with multiple\ \ eBay Catalog products, and if multiple products are found, product details\ \ will not be picked up by the Inventory Item object.


Note: When listing in categoryID 173651 (Auto\ \ Performance Tuning Devices & Software), the use of catalog products\ \ is required. For more information, see Tuning devices and software.


This\ \ field is returned if defined for an inventory item." imageUrls: type: "array" description: "An array of one or more links to images for the product. 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. Before\ \ an offer can be published, at least one image must exist for the inventory\ \ item. In almost any category at no cost, sellers can include up to 24\ \ pictures in one listing. For inventory items that are a part of an inventory\ \ item group/multiple-variation listings, a maximum of 12 pictures may\ \ be used per inventory item in the group. Motor vehicle listings are\ \ an exception. The number of included pictures in motor vehicle listings\ \ depend on the selected vehicle package (see Fees for selling vehicles on eBay Motors).

A\ \ link to a stock image for a product may automatically be populated for\ \ an inventory item if the seller specifies an eBay Product ID (ePID)\ \ or a Global Trade Item Number (GTIN) and eBay is able to find a matching\ \ product in the eBay Catalog.

This container will always be returned\ \ for an inventory item that is part of a published offer since a published\ \ offer will always have at least one picture, but this container will\ \ only be returned if defined for inventory items that are not a part\ \ of a published offer.

Important!Publish offer note:\ \ This array is required and at least one image URL must be specified\ \ before an offer can be published to create an active listing.

" items: type: "string" isbn: type: "array" description: "The International Standard Book Number (ISBN) value for the\ \ product. Although an ePID value is preferred when trying to find a product\ \ match in the eBay Catalog, this field can also be used in an attempt\ \ to find a product match in the eBay Catalog. If a product match is found\ \ in the eBay Catalog, the inventory item is automatically populated with\ \ available product details such as a title, a product description, product\ \ aspects (including the specified ISBN value), and a link to any stock\ \ image that exists for the catalog product.

This field is returned\ \ if defined for an inventory item. If an ISBN was passed in as an item\ \ specific name-value pair through the aspects array\ \ in a createOrReplaceInventoryItem call, this value\ \ is also picked up by the isbn field.

Note: If the\ \ item is being listed in a category that requires an ISBN value, but\ \ one doesn't exist for the product, the seller must provide a string\ \ indicating that the product identifier is unavailable. This text varies\ \ by marketplace. Refer to Product Identifier Text for the specific text\ \ based on the listing marketplace.

" items: type: "string" mpn: type: "string" description: "The Manufacturer Part Number (MPN) of a product. This field\ \ is paired with the brand field to identify a product.\ \ Some eBay categories require MPN values. The getItemAspectsForCategory method in the Taxonomy\ \ API can be used to see if a category requires an MPN. The MPN value\ \ for a product may automatically be populated for an inventory item if\ \ the seller specifies an eBay Product ID (ePID) or a Global Trade Item\ \ Number (GTIN) and eBay is able to find a matching product in the eBay\ \ Catalog.

This field is returned if defined for an inventory\ \ item. If an MPN was passed in as an item specific name-value pair through\ \ the aspects array in a createOrReplaceInventoryItem\ \ call, this value is also picked up by the mpn field.

Note: If\ \ the item is being listed in a category that requires an MPN value, but\ \ one doesn't exist for the product, the seller must provide a string\ \ indicating that the product identifier is unavailable. This text varies\ \ by marketplace. Refer to Product Identifier Text for the specific text\ \ based on the listing marketplace.

Max Length:\ \ 65" subtitle: type: "string" description: "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.\ \ The subtitle of an existing inventory item can added, modified, or removed\ \ with a createOrReplaceInventoryItem call.

Note\ \ that the same subtitle text should be used for each\ \ inventory item that will be part of an inventory item group, and ultimately\ \ become one product variation within a multiple-variation listing.

This\ \ field will only be returned if set for an inventory item.

Max\ \ Length: 55" title: type: "string" description: "The title of an inventory item can be added or modified with\ \ a createOrReplaceInventoryItem call. Although not immediately\ \ required, a title will be needed before an offer with the inventory\ \ item is published. The title of an inventory item is automatically populated\ \ if the seller specifies an eBay Product ID (ePID) or a Global Trade\ \ Item Number (GTIN) and eBay is able to find a matching product in the\ \ eBay Catalog. If the inventory item will become part of a single-variation\ \ offer, and the listing is not a product-based listing, the text in this\ \ field will become the actual listing title for the published offer.\ \ However, if the inventory item will become part of a multiple-variation\ \ offer, the text in title field of the inventory item\ \ group entity will actually become the listing title for the published\ \ offer instead, although a title can still be provided for the inventory\ \ item, and it will actually become the title of the variation.

This\ \ field will always be returned for an inventory item that is part of\ \ a published offer since a published offer will always have a listing\ \ title, but this field will only be returned if defined for inventory\ \ items that are not a part of a published offer.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


Max Length:\ \ 80" upc: type: "array" description: "The Universal Product Code (UPC) value for the product. Although\ \ an ePID value is preferred when trying to find a product match in the\ \ eBay Catalog, this field can also be used in an attempt to find a product\ \ match in the eBay Catalog. If a product match is found in the eBay Catalog,\ \ the inventory item is automatically populated with available product\ \ details such as a title, a product description, product aspects (including\ \ the specified UPC value), and a link to any stock image that exists\ \ for the catalog product.

This field is returned if defined for\ \ an inventory item. If a UPC was passed in as an item specific name-value\ \ pair through the aspects array in a createOrReplaceInventoryItem\ \ call, this value is also picked up by the upc field.

Note: If\ \ the item is being listed in a category that requires a UPC value, but\ \ one doesn't exist for the product, the seller must provide a string\ \ indicating that the product identifier is unavailable. This text varies\ \ by marketplace. Refer to Product Identifier Text for the specific text\ \ based on the listing marketplace.

" items: type: "string" videoIds: type: "array" description: "An array of one or more videoId values for the product.\ \ A video ID 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.

For information on supported\ \ marketplaces and platforms, as well as other requirements and limitations\ \ of video support, please refer to Managing videos.

Note: Only one video per listing is supported." items: type: "string" description: "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." ProductFamilyProperties: type: "object" properties: engine: type: "string" description: "

Important! The productFamilyProperties\ \ container is no longer supported.

" make: type: "string" description: "

Important! The productFamilyProperties\ \ container is no longer supported.

" model: type: "string" description: "

Important! The productFamilyProperties\ \ container is no longer supported.

" trim: type: "string" description: "

Important! The productFamilyProperties\ \ container is no longer supported.

" year: type: "string" description: "

Important! The productFamilyProperties\ \ container is no longer supported.

" description: "This type is used to specify the details of a motor vehicle that\ \ is compatible with the inventory item specified through the SKU value in\ \ the call URI." ProductIdentifier: type: "object" properties: epid: type: "string" description: "This field can be used if the seller already knows the eBay\ \ catalog product ID (ePID) associated with the motor vehicle that is\ \ to be added to the compatible product list. If this eBay catalog product\ \ ID is found in the eBay product catalog, the motor vehicle properties\ \ (e.g. make, model, year, engine, and trim) will automatically get picked\ \ up for that motor vehicle." gtin: type: "string" description: "This field can be used if the seller knows the Global Trade\ \ Item Number for the motor vehicle that is to be added to the compatible\ \ product list. If this GTIN value is found in the eBay product catalog,\ \ the motor vehicle properties (e.g. make, model, year, engine, and trim\ \ will automatically get picked up for that motor vehicle.

Note: This field is for future\ \ use." ktype: type: "string" description: "This field can be used if the seller knows the K Type Number\ \ for the motor vehicle that is to be added to the compatible product\ \ list. If this K Type value is found in the eBay product catalog, the\ \ motor vehicle properties (e.g. make, model, year, engine, and trim)\ \ will automatically get picked up for that motor vehicle.

Only\ \ the AU, DE, ES, FR, IT, and UK marketplaces support the use of K Type\ \ Numbers." description: "This type is used to identify a motor vehicle that is compatible\ \ with the corresponding inventory item (the SKU that is passed in as part\ \ of the call URI). The motor vehicle can be identified through an eBay Product\ \ ID or a K-Type value. The gtin field (for inputting Global\ \ Trade Item Numbers) is for future use only. If a motor vehicle is found\ \ in the eBay product catalog, the motor vehicle properties (engine, make,\ \ model, trim, and year) will automatically get picked up for that motor vehicle.

Note: Currently, parts compatibility\ \ is only applicable for motor vehicles, but it is possible that the Product\ \ Compatibility feature is expanded to other (non-vehicle) products in the\ \ future." ProductSafety: type: "object" properties: component: type: "string" description: "This field is used by the seller to provide product safety\ \ component information for the listing. For example, component information\ \ can include specific warnings related to product safety, such as 'Tipping\ \ hazard'.

Note: Component information\ \ can only be specified if used with the pictograms and/or statements\ \ field; if the component is provided without one or both of these fields,\ \ an error will occur.
Max length: 120 characters" pictograms: type: "array" description: "An array of comma-separated string values used to provide\ \ product safety pictogram(s) for the listing.

If your product\ \ shows universal product safety or compliance symbols, please select\ \ the values corresponding to the product safety pictograms for display\ \ in the product safety section of the listing. The seller specifies the\ \ identifier of each pictogram in this field.

Note: For product safety pictograms, use the getProductSafetyLabels method of the Metadata\ \ API to find supported values for a specific marketplace/site.
A\ \ maximum of 2 pictograms are allowed for product safety." items: type: "string" statements: type: "array" description: "An array of comma-separated string values used to provide\ \ product safety statement(s) for the listing.

If your product\ \ shows universal product safety or compliance warnings, please select\ \ the values corresponding to the product safety statements for display\ \ in the product safety section of the listing. The seller specifies the\ \ identifier of each statement in this field.

Note: For product safety statements, use the getProductSafetyLabels method of the Metadata\ \ API to find supported values for a specific marketplace/site.
A\ \ maximum of 8 statements are allowed for product safety." items: type: "string" description: "This type is used to define the pictograms and statement\ \ containers, and the optional component field, that provide product\ \ safety and compliance related information." PublishByInventoryItemGroupRequest: type: "object" properties: inventoryItemGroupKey: type: "string" description: "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.

To\ \ retrieve an inventoryItemGroupKey value, you can use\ \ the getInventoryItem method to retrieve an inventory\ \ item that is known to be in the inventory item group to publish, and\ \ then look for the inventory item group identifier under the groupIds\ \ container in the response of that call." marketplaceId: type: "string" description: "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 MarketplaceEnum. For\ \ implementation help, refer to eBay\ \ API documentation" description: "This type is used by the request payload of the publishByInventoryItemGroup\ \ call. 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." PublishResponse: type: "object" properties: listingId: type: "string" description: "The unique identifier of the newly created eBay listing. This\ \ field is returned if the single offer (if publishOffer\ \ call was used) or group of offers in an inventory item group (if publishOfferByInventoryItemGroup\ \ call was used) was successfully converted into an eBay listing." warnings: type: "array" description: "This container will contain an array of errors and/or warnings\ \ if any occur when a publishOffer or publishOfferByInventoryItemGroup\ \ call is made." items: $ref: "#/components/schemas/Error" description: "This type is used by the base response payload of the publishOffer\ \ and publishOfferByInventoryItemGroup calls." RegionalProductCompliancePolicies: type: "object" properties: countryPolicies: type: "array" description: "The array of country-specific product compliance policies\ \ to be used by an offer when it is published and converted to a listing." items: $ref: "#/components/schemas/CountryPolicy" description: "This type lists regional product compliance policies to be used\ \ by an offer when it is published and converted to a listing." RegionalTakeBackPolicies: type: "object" properties: countryPolicies: type: "array" description: "The array of country-specific take-back policies to be used\ \ by an offer when it is published and converted to a listing." items: $ref: "#/components/schemas/CountryPolicy" description: "This type lists regional take-back policies to be used by an offer\ \ when it is published and converted to a listing." Regulatory: type: "object" properties: documents: type: "array" description: "This container provides a collection of regulatory documents\ \ associated with the listing.

For information on removing one\ \ or more files from a listing using the updateOffer method, see Remove documents from listings. .

Note: As a part of General Product Safety\ \ Regulation (GPSR) requirements effective on December 13th, 2024, sellers\ \ operating in, or shipping to, EU-based countries or Northern Ireland\ \ are conditionally required to provide regulatory document information\ \ in their eBay listings. For more information on GPSR, see General Product Safety Regulation (GPSR)." items: $ref: "#/components/schemas/Document" energyEfficiencyLabel: description: "This container provides information about the energy efficiency\ \ for certain durable goods.

Note:\ \ This container can be used to provide European energy efficiency (EEK)\ \ information for listings in the Tyres and Appliance categories\ \ for sellers in the EU and UK, and Smartphones and Tablets categories\ \ for sellers in the US, AU, CA, EU, and UK. If no EEK information is\ \ specified through this container, it may be retrieved through a third\ \ party vendor. For more information, see Energy efficiency information.
Note: Energy efficiency information is not\ \ required for all categories. Use the getRegulatoryPolicies method of the Metadata\ \ API to return metadata on the eBay categories that recommend or\ \ require energy efficiency-related fields.

Important!\ \ When providing energy efficiency information on an appliance or smartphones\ \ and tablets listing, the energy efficiency rating and range\ \ of the item must be specified through the aspects field when creating the inventory item\ \ record. Use the getItemAspectsForCategory method of the Taxonomy\ \ API to retrieve applicable rating and range values for a specified category.

" $ref: "#/components/schemas/EnergyEfficiencyLabel" hazmat: description: "This container is used by the seller to provide hazardous\ \ material information for the listing.

The statements element\ \ is required to complete the Hazmat section of a listing.

The\ \ following elements are optional:
  • pictograms
  • signalWord
  • component
Note: Hazmat information is not required\ \ for all categories. Use the getRegulatoryPolicies method of the Metadata\ \ API to return metadata on the eBay categories that recommend or\ \ require Hazmat-related fields." $ref: "#/components/schemas/Hazmat" manufacturer: description: "This container provides information about the manufacturer\ \ of the item.

Note: As a part\ \ of General Product Safety Regulation (GPSR) requirements effective on\ \ December 13th, 2024, sellers operating in, or shipping to, EU-based\ \ countries or Northern Ireland are conditionally required to provide\ \ regulatory manufacturer information in their eBay listings. Manufacturer\ \ information is not required for all categories. Use the getRegulatoryPolicies method of the Metadata\ \ API to return metadata on the eBay categories that recommend or\ \ require manufacturer-related fields. For more information on GPSR, see\ \ General Product Safety Regulation (GPSR)." $ref: "#/components/schemas/Manufacturer" productSafety: description: "This container is used to provide product safety information\ \ for the listing. One of the following elements is required to complete\ \ the Product Safety section for a listing: pictograms or statements.\ \ The component element is optional.

Note: As a part of General Product Safety Regulation (GPSR) requirements\ \ effective on December 13th, 2024, sellers operating in, or shipping\ \ to, EU-based countries or Northern Ireland are conditionally required\ \ to provide regulatory product safety information in their eBay listings.\ \ Product safety information is not required for all categories. Use the\ \ getRegulatoryPolicies method of the Metadata\ \ API to return metadata on the eBay categories that recommend or\ \ require product safety-related fields. For more information on GPSR,\ \ see General Product Safety Regulation (GPSR). " $ref: "#/components/schemas/ProductSafety" repairScore: type: "number" description: "This field represents the repair index for the listing.

The\ \ repair index identifies the manufacturer's repair score for a product\ \ (i.e., how easy is it to repair the product.) This field is a floating\ \ point value between 0.0 (i.e., difficult to repair,) and 10.0 (i.e.,\ \ easily repaired.)

Note: 0\ \ should not be used as a default value, as it implies the product is\ \ not repairable.
The format for repairScore is limited\ \ to one decimal place. For example:
  • 7.9 and 0.0\ \ are both valid scores
  • 5.645 and 2.10\ \ are both invalid scores

Note:\ \ Repair score is not applicable to all categories. Use the getExtendedProducerResponsibilityPolicies method\ \ of the Metadata API to see where repair score is applicable." responsiblePersons: type: "array" description: "This container provides information about the EU-based Responsible\ \ Persons or entities associated with the listing.

A maximum of\ \ 5 EU Responsible Persons are supported.

Note: As a part of General Product Safety Regulation (GPSR) requirements\ \ effective on December 13th, 2024, sellers operating in, or shipping\ \ to, EU-based countries or Northern Ireland are conditionally required\ \ to provide regulatory Responsible Persons information in their eBay\ \ listings. For more information on GPSR, see General Product Safety Regulation (GPSR)." items: $ref: "#/components/schemas/ResponsiblePerson" description: "Type defining regulatory information that the seller is required\ \ to disclose." ResponsiblePerson: type: "object" properties: addressLine1: type: "string" description: "The first line of the Responsible Person's street address.

Max\ \ length: 180 characters" addressLine2: type: "string" description: "The second line of the Responsible Person's address. This\ \ field is not always used, but can be used for secondary address information\ \ such as 'Suite Number' or 'Apt Number'.

Max length: 180\ \ characters" city: type: "string" description: "The city of the Responsible Person's street address.

Max\ \ length: 64 characters" companyName: type: "string" description: "The name of the Responsible Person or entity.

Max\ \ length: 100 characters" contactUrl: type: "string" description: "The contact URL of the Responsible Person or entity.

Max\ \ length: 250 characters" country: type: "string" description: "This defines the list of valid country codes, adapted from\ \ http://www.iso.org/iso/country_codes, ISO 3166-1 country code. List\ \ elements take the following form to identify a two-letter code with\ \ a short name in English, a three-digit code, and a three-letter code:\ \ For example, the entry for Japan includes Japan, 392, JPN. Short codes\ \ provide uniform recognition, avoiding language-dependent country names.\ \ The number code is helpful where Latin script may be problematic. Not\ \ all listed codes are universally recognized as countries, for example:\ \ code AQ is Antarctica, 010, ATA For implementation help, refer to eBay\ \ API documentation" email: type: "string" description: "The Responsible Person's email address.

Max length:\ \ 180 characters" phone: type: "string" description: "The Responsible Person's business phone number.

Max\ \ length: 64 characters" postalCode: type: "string" description: "The postal code of the Responsible Person's street address.

Max\ \ length: 9 characters" stateOrProvince: type: "string" description: "The state of province of the Responsible Person's street address.

Max\ \ length: 64 characters" types: type: "array" description: "The type(s) associated with the Responsible Person or entity.

Note: Currently, the only supported value\ \ is EUResponsiblePerson. " items: type: "string" description: " For implementation help, refer to eBay\ \ API documentation" description: "This type provides information, such as name and contact details,\ \ for an EU-based Responsible Person or entity, associated with the product." SameDayShippingCutOffTimes: type: "object" properties: overrides: type: "array" description: "This container can be used to override the existing cut-off\ \ time(s), specified in the weeklySchedule container, for a specific\ \ date or date range." items: $ref: "#/components/schemas/Overrides" weeklySchedule: type: "array" description: "This container is used to specify the weekly schedule for\ \ shipping and handling cut-off times. A cut-off time is required for\ \ each business day that the fulfillment center operates. Any orders made\ \ after the specified cutOffTime on the specified day(s) of the\ \ week will be handled on the next day." items: $ref: "#/components/schemas/WeeklySchedule" description: "This type is used by the createInventoryLocation call to\ \ specify cut-off time(s) for an inventory location, as well as any overrides\ \ for these times." ShipToLocationAvailability: type: "object" properties: availabilityDistributions: type: "array" description: "This container is used to set the available quantity of the\ \ inventory item at one or more warehouse locations.

This container\ \ will be returned if available quantity is set for one or more inventory\ \ locations." items: $ref: "#/components/schemas/AvailabilityDistribution" quantity: type: "integer" description: "This container is used to set the total 'ship-to-home' quantity\ \ of the inventory item that will be available for purchase through one\ \ or more published offers.

This field represents the total quantity\ \ of the item that is available for sale across all marketplaces. To update\ \ the available quantity allocated to a specific marketplace, use the\ \ availableQuantity field in the offer container\ \ associated with that marketplace.

\ \ Note: To ensure that the available quantity allocated\ \ to a specific marketplace doesn't exceed the total available stock,\ \ the quantity specified on a listing will be the minimum value between\ \ this field and the availableQuantity field.
If an existing inventory\ \ item is being updated, and the 'ship-to-home' quantity already exists\ \ for the inventory item record, this field should be included again,\ \ even if the value is not changing, or the available quantity data will\ \ be lost.

Important! This field is not\ \ immediately required, but 'ship-to-home' quantity must be set before\ \ an offer of the inventory item can be published.

" format: "int32" description: "This type is used to specify the total 'ship-to-home' quantity\ \ of the inventory item that will be available for purchase through one or\ \ more published offers." ShipToLocationAvailabilityWithAll: type: "object" properties: allocationByFormat: description: "This container is used to specify the quantity of the inventory\ \ item that is available for purchase, allocated by the offer types." $ref: "#/components/schemas/FormatAllocation" availabilityDistributions: type: "array" description: "This container is used to set the available quantity of the\ \ inventory item at one or more warehouse locations.

This container\ \ will be returned if the available quantity is set for one or more inventory\ \ locations." items: $ref: "#/components/schemas/AvailabilityDistribution" quantity: type: "integer" description: "

Important! Publish offer note:\ \ Although this field is not required before an offer can be published\ \ to create an active listing, out of stock listings will result if this\ \ field is omitted or set to 0.


This field is\ \ used to set the total 'ship-to-home' quantity of the inventory item\ \ that will be available for purchase through one or more published offers.\ \ This field is not immediately required, but 'ship-to-home' quantity\ \ must be set before an offer of the inventory item can be published.

If\ \ an existing inventory item is being updated, and the 'ship-to-home'\ \ quantity already exists for the inventory item record, this field should\ \ be included again, even if the value is not changing, or the available\ \ quantity data will be lost." format: "int32" description: "This type is used to specify the total 'ship-to-home' quantity\ \ of the inventory items that will be available for purchase through one or\ \ more published offers." ShippingCostOverride: type: "object" properties: additionalShippingCost: description: "The dollar value passed into this field will override the\ \ additional shipping cost that is currently set for the applicable shipping\ \ service option. The \"Additional shipping cost\" is the cost to ship\ \ each additional identical product to the buyer using the corresponding\ \ shipping service. The shipping service option in the fulfillment policy\ \ to override is controlled by the shippingServiceType\ \ and priority values.

If using an updateOffer\ \ call, and this field is defined for the offer being updated, this field\ \ must be supplied again, even if its value is not changing.

This\ \ field is returned in the getOffer and getOffers calls if defined." $ref: "#/components/schemas/Amount" priority: type: "integer" description: "The integer value input into this field, along with the shippingServiceType\ \ value, sets which domestic or international shipping service option\ \ in the fulfillment policy will be modified with updated shipping costs.\ \ Specifically, the shippingCostOverrides.shippingServiceType\ \ value in a createOffer or updateOffer\ \ call must match the shippingOptions.optionType value\ \ in a fulfillment listing policy, and the shippingCostOverrides.priority\ \ value in a createOffer or updateOffer\ \ call must match the shippingOptions.shippingServices.sortOrderId\ \ value in a fulfillment listing policy.

This field is always required\ \ when overriding the shipping costs of a shipping service option, and\ \ will be always be returned for each shipping service option whose costs\ \ are being overridden." format: "int32" shippingCost: description: "The dollar value passed into this field will override the\ \ shipping cost that is currently set for the applicable shipping service\ \ option. This value will be the cost to ship one item to the buyer using\ \ the corresponding shipping service. The shipping service option in\ \ the fulfillment policy to override is controlled by the shippingServiceType\ \ and priority values.

If using an updateOffer\ \ call, and this field is defined for the offer being updated, this field\ \ must be supplied again, even if its value is not changing.

This\ \ field is returned in the getOffer and getOffers calls if defined." $ref: "#/components/schemas/Amount" shippingServiceType: type: "string" description: "This enumerated value indicates whether the shipping service\ \ specified in the priority field is a domestic or an\ \ international shipping service option. To override the shipping costs\ \ for a specific domestic shipping service in the fulfillment listing\ \ policy, this field should be set to DOMESTIC, and to override\ \ the shipping costs for each international shipping service, this field\ \ should be set to INTERNATIONAL. This value, along with\ \ priority value, sets which domestic or international\ \ shipping service option in the fulfillment policy that will be modified\ \ with updated shipping costs. Specifically, the shippingCostOverrides.shippingServiceType\ \ value in a createOffer or updateOffer\ \ call must match the shippingOptions.optionType value\ \ in a fulfillment listing policy, and the shippingCostOverrides.priority\ \ value in a createOffer or updateOffer\ \ call must match the shippingOptions.shippingServices.sortOrderId\ \ value in a fulfillment listing policy.

This field is always required\ \ when overriding the shipping costs of a shipping service option, and\ \ will be always be returned for each shipping service option whose costs\ \ are being overridden. For implementation help, refer to eBay\ \ API documentation" surcharge: description: " Note: DO NOT USE\ \ THIS FIELD. Shipping surcharges for shipping service options can no\ \ longer be set with fulfillment business policies. To set a shipping\ \ surcharge for a shipping service option, only the Shipping rate tables\ \ tool in My eBay can be used.

The dollar value passed\ \ into this field will override the shipping surcharge that is currently\ \ set for the applicable shipping service option. The shipping service\ \ option in the fulfillment policy to override is controlled by the shippingServiceType\ \ and priority values.

If using an updateOffer\ \ call, and this field is defined for the offer being updated, this field\ \ must be supplied again, even if its value is not changing.

This\ \ field is returned in the getOffer and getOffers calls if defined." $ref: "#/components/schemas/Amount" description: "This type is used if the seller wants to override the shipping\ \ costs or surcharge associated with a specific domestic or international\ \ shipping service option defined in the fulfillment listing policy that is\ \ being applied toward the offer. The shipping-related costs that can be overridden\ \ include the shipping cost to ship one item, the shipping cost to ship each\ \ additional item (if multiple quantity are purchased), and the shipping surcharge\ \ applied to the shipping service option." SpecialHours: type: "object" properties: date: type: "string" description: "A date value is required for each specific\ \ date that the store location has special operating hours or is closed\ \ for that date.

The timestamp is formatted as an ISO 8601 string, which is based on the 24-hour\ \ Coordinated Universal Time (UTC) clock.

Format: [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss].[sss]Z\ \
Example: 2025-08-04T00:00:00.000Z

This\ \ field is returned if set for the store location." intervals: type: "array" description: "This array is used to set the operating hours for the date\ \ specified in the corresponding date field. These special\ \ operating hours on this specific date will override the normal operating\ \ hours for that day of the week that is specified through the operatingHours\ \ array.

To specify a location as closed on the corresponding\ \ date, include the intervals array\ \ as empty.

If a location closes for lunch (or any other period\ \ during the day) and then reopens, multiple open and\ \ close pairs are needed to specify each interval where\ \ the location is open.

This container is returned if set for\ \ the store location." items: $ref: "#/components/schemas/Interval" description: "This type is used to express the special operating hours of a\ \ store location on a specific date. A specialHours container\ \ is needed when the store's opening hours on a specific date are different\ \ than the normal operating hours on that particular day of the week." Specification: type: "object" properties: name: type: "string" description: "This is the name of product variation aspect. Typically, for\ \ clothing, typical aspect names are \"Size\" and \"\ Color\". Product variation aspects are not required immediately\ \ upon creating an inventory item group, but these aspects will be required\ \ before a multiple-variation listing containing this inventory item group\ \ is published. For each product variation aspect that is specified through\ \ the specifications container, one name\ \ value is required and two or more variations of this aspect are required\ \ through the values array.

Note: Each member of the inventory item group should\ \ have these same aspect names specified through the product.aspects\ \ container when the inventory item is created with the createOrReplaceInventoryItem\ \ or bulkCreateOrReplaceInventoryItem call.

Important!Publish\ \ offer note: This field is required before an offer can be published\ \ to create an active listing.


Max Length:\ \ 40" values: type: "array" description: "This is an array of values pertaining to the corresponding\ \ product variation aspect (specified in the name field).\ \ Below is a sample of how these values will appear under a specifications\ \ container:
\"specifications\": [{
\"name\": \"Size\"\ ,
\"values\": [\"Small\",
\"Medium\",
\"Large\"]
},
\ \ {
\"name\": \"Color\",
\"values\": [\"Blue\",
\"White\"\ ,
\"Red\"]
}]
Note:\ \ Each member of the inventory item group should have these same aspect\ \ names, and each individual inventory item should have each variation\ \ of the product aspect values specified through the product.aspects\ \ container when the inventory item is created with the createOrReplaceInventoryItem\ \ or bulkCreateOrReplaceInventoryItem call.

Important!Publish\ \ offer note: This array is required and at least one value that matches\ \ the corresponding aspect name must be specified.


Max\ \ Length: 50" items: type: "string" description: "This type is used to specify product aspects for which variations\ \ within an inventory item group vary, and the order in which they appear\ \ in the listing. For example, t-shirts in an inventory item group may be\ \ available in multiple sizes and colors." Tax: type: "object" properties: applyTax: type: "boolean" description: "When set to true, the seller's account-level\ \ sales-tax table will be used to calculate sales tax for an order.

Note: Sales-tax tables are available only\ \ for the US and Canada marketplaces.

Important!\ \ In the US, eBay now calculates, collects, and remits sales tax to the\ \ proper taxing authorities in all 50 states and Washington, DC. Sellers\ \ can no longer specify sales-tax rates for these jurisdictions using\ \ a tax table.

However, sellers may continue to use a sales-tax\ \ table to set rates for the following US territories:

  • American\ \ Samoa (AS)
  • Guam (GU)
  • Northern Mariana Islands (MP)
  • Palau\ \ (PW)
  • US Virgin Islands (VI)


For complete\ \ information about using sales-tax tables, refer to Establishing sales-tax tables.

Note that\ \ a seller can enable the use of a sales-tax table, but if a sales-tax\ \ rate is not specified for the buyer's tax jurisdiction, sales tax will\ \ not be applied to the order.

When a thirdPartyTaxCategory\ \ value is used, applyTax must also be set to true.

This\ \ field will be returned by getOffer and getOffers if set for the offer.

For additional information,\ \ refer to Taxes and import charges." thirdPartyTaxCategory: type: "string" description: "The tax exception category code. If this field is used, sales\ \ tax will also apply to a service/fee, and not just the item price. This\ \ is to be used only by sellers who have opted into sales tax being calculated\ \ by a sales tax calculation vendor. If you are interested in becoming\ \ a tax calculation vendor partner with eBay, contact developer-relations@ebay.com. One supported value for this field\ \ is WASTE_RECYCLING_FEE. If this field is used, the applyTax\ \ field must also be used and set to true

This field\ \ will be returned by getOffer and getOffers if set for the offer." vatPercentage: type: "number" description: "This value is the Value Add Tax (VAT) rate for the item, if\ \ any. When a VAT percentage is specified, the item's VAT information\ \ appears on the listing's View Item page. In addition, the seller can\ \ choose to print an invoice that includes the item's net price, VAT percent,\ \ VAT amount, and total price. Since VAT rates vary depending on the item\ \ and on the user's country of residence, a seller is responsible for\ \ entering the correct VAT rate; it is not calculated by eBay.

To\ \ use VAT, a seller must be a business seller with a VAT-ID registered\ \ with eBay, and must be listing the item on a VAT-enabled site. Max applicable\ \ length is 6 characters, including the decimal (e.g., 12.345). The scale\ \ is 3 decimal places. (If you pass in 12.3456, eBay may round up the\ \ value to 12.346).

This field will be returned by getOffer and getOffers if set for the offer." description: "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.

Note: Sales-tax tables are available only for\ \ the US and Canada marketplaces." TimeDuration: type: "object" properties: unit: type: "string" description: "This enumeration value indicates the time unit used to specify\ \ the fulfillment time, such as BUSINESS_DAY. For implementation\ \ help, refer to eBay\ \ API documentation" value: type: "integer" description: "The integer value in this field, along with the time unit\ \ in the unit field, will indicate the fulfillment time.

For\ \ standard orders that will be shipped, this value will indicate the expected\ \ fulfillment time if the inventory item is shipped from the inventory\ \ location. If the value of this field is 4, and the value\ \ of the unit field is BUSINESS_DAY, then\ \ the estimated delivery date after purchase is 4 business days." format: "int32" description: "This type is used to indicate the fulfillment time for an In-Store\ \ Pickup order, or for an order than will be shipped to the buyer." VariesBy: type: "object" properties: aspectsImageVariesBy: type: "array" description: "This container is used if the seller wants to include multiple\ \ images to demonstrate how variations within a multiple-variation listing\ \ differ. In this string field, the seller will specify the product aspect\ \ where the variations of the inventory item group vary, such as color.\ \ If Color is specified in this field, Color\ \ must also be one of the specifications.name values,\ \ and all available colors must appear in the corresponding specifications.values\ \ array.

If the aspectsImageVariesBy container\ \ is used, links to images of each variation should be specified through\ \ the imageUrls container of the inventory item group,\ \ or the seller can choose to include those links to images in each inventory\ \ item record for the inventory items in the group.

Important!Publish\ \ offer note: This array is required and at least one aspect (such as\ \ Color) must be specified before an offer can be published\ \ to create an active listing.

" items: type: "string" specifications: type: "array" description: "This container consists of an array of one or more product\ \ aspects where each variation differs, and values for each of those product\ \ aspects. This container is not immediately required, but will be required\ \ before the first offer of the inventory item group is published.

If\ \ a product aspect is specified in the aspectsImageVariesBy\ \ container, this product aspect (along with all variations of that product\ \ aspect) must be included in the specifications container.\ \ Before offers related to the inventory item group are published, the\ \ product aspects and values specified through the specifications\ \ container should be in synch with the name-value pairs specified through\ \ the product.aspects containers of the inventory items\ \ contained in the group. For example, if Color and Size\ \ are in this specifications container, each inventory\ \ item of the group should also have Color and Size\ \ as aspect names in their inventory item records.

This container\ \ is always returned if one or more offers associated with the inventory\ \ item group have been published. For inventory item groups that have\ \ yet to have any published offers, this container is only returned if\ \ set.

Important!Publish offer note:\ \ This array is required and at least one aspect with the available variations\ \ must be specified.

" items: $ref: "#/components/schemas/Specification" description: "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." Version: type: "object" properties: instance: description: "The instance of the version." $ref: "#/components/schemas/Version" version: type: "string" description: "The version number of the service or API." description: "This type is used to show the version number and instance of the\ \ service or API." WeeklySchedule: type: "object" properties: cutOffTime: type: "string" description: "This field specifies the cut-off times (in 24-hour format)\ \ for the business day(s) specified in the dayOfWeekEnum array.

Cut-off\ \ times default to the time zone of the specified address if the timeZoneId\ \ is not provided.

Note: If cut-off\ \ hours are not specified for a particular day, the fulfillment center\ \ is considered to be on holiday for that day.
Format:\ \ 00:00" dayOfWeekEnum: type: "array" description: "This comma-separated array defines the days of week for which\ \ the specified cutOffTime is used." items: type: "string" description: " For implementation help, refer to eBay\ \ API documentation" description: "This type describes the weekly schedule for cut-off times." Weight: type: "object" properties: unit: type: "string" description: "The unit of measurement used to specify the weight of a shipping\ \ package. Both the unit and value fields\ \ are required if the weight container is used. If the\ \ English system of measurement is being used, the applicable values for\ \ weight units are POUND and OUNCE. If the metric\ \ system of measurement is being used, the applicable values for weight\ \ units are KILOGRAM and GRAM. The metric system\ \ is used by most countries outside of the US. For implementation help,\ \ refer to eBay\ \ API documentation" value: type: "number" description: "The actual weight (in the measurement unit specified in the\ \ unit field) of the shipping package. Both the unit\ \ and value fields are required if the weight\ \ container is used. If a shipping package weighed 20.5 ounces, the container\ \ would look as follows:
\"weight\": {
\"value\": 20.5,
\ \ \"unit\": \"OUNCE\"
}
" description: "This type is used to specify the weight (and the unit used to\ \ measure that weight) of a shipping package. The weight\ \ container is conditionally required if the seller will be offering calculated\ \ shipping rates to determine shipping cost, or is using flat-rate costs,\ \ but charging a weight surcharge. See the Calculated shipping help page for more information\ \ on calculated shipping." WithdrawByInventoryItemGroupRequest: type: "object" properties: inventoryItemGroupKey: type: "string" description: "This is the unique identifier of the inventory item group.\ \ This identifier is automatically generated by eBay once an inventory\ \ item group is created.

To retrieve an inventoryItemGroupKey\ \ value, you can use the getInventoryItem method to retrieve an inventory\ \ item that is known to be in the inventory item group to publish, and\ \ then look for the inventory item group identifier under the groupIds\ \ container in the response of that call." marketplaceId: type: "string" description: "This is the unique identifier of the eBay site for which the\ \ offer will be made available. See MarketplaceEnum for supported\ \ values. For implementation help, refer to eBay\ \ API documentation" description: "This type is used by the base request of the WithdrawByInventoryItemGroup\ \ method, which is used to end a multiple-variation listing." WithdrawResponse: type: "object" properties: listingId: type: "string" description: "The unique identifier of the eBay listing associated with\ \ the offer that was withdrawn. This field will not be returned if the\ \ eBay listing was not successfully ended." warnings: type: "array" description: "This container will be returned if there were one or more\ \ warnings associated with the attempt to withdraw the offer." items: $ref: "#/components/schemas/Error" description: "The base response of the withdrawOffer call." securitySchemes: api_auth: type: "oauth2" description: "The security definitions for this API. Please check individual\ \ operations for applicable scopes." flows: authorizationCode: authorizationUrl: "https://auth.ebay.com/oauth2/authorize" tokenUrl: "https://api.ebay.com/identity/v1/oauth2/token" scopes: https://api.ebay.com/oauth/api_scope/sell.inventory: "View and manage\ \ your inventory and offers" https://api.ebay.com/oauth/api_scope/sell.inventory.readonly: "View your\ \ inventory and offers"