POST/bulk_create_offer
This call creates multiple offers (up to 25) for specific inventory items on a specific eBay marketplace. Although it is not a requirement for the seller to create complete offers (with all necessary details) right from the start, eBay recommends that the seller provide all necessary details with this call since there is currently no bulk operation available to update multiple offers with one call. The following fields are always required in the request payload: sku, marketplaceId, and (listing) format.
Other information that will be required before a offer can be published are highlighted below:
- 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.
Input
Resource URI
This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com
root URI with api.sandbox.ebay.com
URI parameters
This method has no URI parameters.
HTTP request headers
All requests made to eBay REST operations require you to provide the Authorization
HTTP header for authentication authorization.
The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.
Header | Type | Description |
---|---|---|
Content-Language | string | 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. Occurrence: Required |
Content-Type | string | 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. Occurrence: Required |
OAuth scope
This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):
https://api.ebay.com/oauth/api_scope/sell.inventory
See OAuth access tokens for more information.
Request payload
Copy complete valid JSON to clipboardRequest fields
Input container/field | Type | Description |
---|---|---|
requests | array of EbayOfferDetailsWithKeys | The details of each offer that is being created is passed in under this container. Up to 25 offers can be created with one bulkCreateOffer call. Occurrence: Optional |
requests.availableQuantity | integer | This integer value sets the quantity of the inventory item (specified by the sku value) that will be available for purchase by buyers shopping on the eBay site specified in the marketplaceId field. Quantity must be set to Occurrence: Conditional |
requests.categoryId | string | The unique identifier of the eBay category that the product will be listed under. This field is not immediately required upon creating an offer, but will be required before publishing the offer. Sellers can use the getCategorySuggestions method of the Taxonomy API to retrieve suggested category ID values. The seller passes in a query string like "iPhone 6", and category ID values for suggested categories are returned in the response. Occurrence: Conditional |
requests.charity | Charity | 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. Occurrence: Optional |
requests.charity.charityId | string | 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. Occurrence: Conditional |
requests.charity.donationPercentage | string | 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. Occurrence: Conditional |
requests.extendedProducerResponsibility | ExtendedProducerResponsibility | 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. Occurrence: Optional |
requests.extendedProducerResponsibility.ecoParticipationFee | Amount | 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. Occurrence: Optional |
requests.extendedProducerResponsibility.ecoParticipationFee.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.extendedProducerResponsibility.ecoParticipationFee.value | string | 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. Occurrence: Conditional |
requests.extendedProducerResponsibility.producerProductId | string | 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. Occurrence: Optional |
requests.extendedProducerResponsibility.productDocumentationId | string | 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. Occurrence: Optional |
requests.extendedProducerResponsibility.productPackageId | string | 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. Occurrence: Optional |
requests.extendedProducerResponsibility.shipmentPackageId | string | 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. Occurrence: Optional |
requests.format | FormatTypeEnum | This enumerated value indicates the listing format of the offer. Occurrence: Required |
requests.hideBuyerDetails | boolean | This field is included and set to Occurrence: Optional |
requests.includeCatalogProductDetails | boolean | This field indicates whether or not eBay product catalog details are applied to a listing. A value of Note: Though the includeCatalogProductDetails parameter is not required to be submitted in the request, the parameter defaults to Occurrence: Optional |
requests.listingDescription | string | The text in this field is (published offers), or will become (unpublished offers) the description of the eBay listing. This field is not immediately required for an unpublished offer, but will be required before publishing the offer. Note that if the listingDescription field was omitted in the createOffer call for the offer, the offer entity should have picked up the text provided in the product.description field of the inventory item record, or if the inventory item is part of a group, the offer entity should have picked up the text provided in the description field of the inventory item group record. Occurrence: Conditional |
requests.listingDuration | ListingDurationEnum | This field indicates the number of days that the listing will be active. For fixed-price listings, this value must be set to Occurrence: Optional |
requests.listingPolicies | ListingPolicies | 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. Occurrence: Conditional |
requests.listingPolicies.bestOfferTerms | BestOffer | 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 Occurrence: Optional |
requests.listingPolicies.bestOfferTerms.autoAcceptPrice | Amount | 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 Occurrence: Optional |
requests.listingPolicies.bestOfferTerms.autoAcceptPrice.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.listingPolicies.bestOfferTerms.autoAcceptPrice.value | string | 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. Occurrence: Conditional |
requests.listingPolicies.bestOfferTerms.autoDeclinePrice | Amount | 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 Occurrence: Optional |
requests.listingPolicies.bestOfferTerms.autoDeclinePrice.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.listingPolicies.bestOfferTerms.autoDeclinePrice.value | string | 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. Occurrence: Conditional |
requests.listingPolicies.bestOfferTerms.bestOfferEnabled | boolean | 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. Occurrence: Optional |
requests.listingPolicies.eBayPlusIfEligible | boolean | This field is included in an offer and set to Occurrence: Optional |
requests.listingPolicies.fulfillmentPolicyId | string | 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. Occurrence: Conditional |
requests.listingPolicies.paymentPolicyId | string | 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. Occurrence: Conditional |
requests.listingPolicies.productCompliancePolicyIds | array of string | 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. Occurrence: Optional |
requests.listingPolicies.regionalProductCompliancePolicies | RegionalProductCompliancePolicies | 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.
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. Occurrence: Optional |
requests.listingPolicies.regionalProductCompliancePolicies.countryPolicies | array of CountryPolicy | The array of country-specific product compliance policies to be used by an offer when it is published and converted to a listing. Occurrence: Conditional |
requests.listingPolicies.regionalProductCompliancePolicies.countryPolicies.country | CountryCodeEnum | 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. Occurrence: Conditional |
requests.listingPolicies.regionalProductCompliancePolicies.countryPolicies.policyIds | array of string | An array of custom policy identifiers that apply to the country specified by listingPolicies.regionalTakeBackPolicies.countryPolicies.country.
Occurrence: Conditional |
requests.listingPolicies.regionalTakeBackPolicies | RegionalTakeBackPolicies | 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.
Note: Take-back policies that apply to all countries to which a seller ships are specified using takeBackPolicyId. Occurrence: Optional |
requests.listingPolicies.regionalTakeBackPolicies.countryPolicies | array of CountryPolicy | The array of country-specific take-back policies to be used by an offer when it is published and converted to a listing. Occurrence: Conditional |
requests.listingPolicies.regionalTakeBackPolicies.countryPolicies.country | CountryCodeEnum | 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. Occurrence: Conditional |
requests.listingPolicies.regionalTakeBackPolicies.countryPolicies.policyIds | array of string | An array of custom policy identifiers that apply to the country specified by listingPolicies.regionalTakeBackPolicies.countryPolicies.country.
Occurrence: Conditional |
requests.listingPolicies.returnPolicyId | string | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides | array of ShippingCostOverride | 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 Occurrence: Optional |
requests.listingPolicies.shippingCostOverrides.additionalShippingCost | Amount | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.additionalShippingCost.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.additionalShippingCost.value | string | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.priority | integer | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.shippingCost | Amount | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.shippingCost.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.shippingCost.value | string | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.shippingServiceType | ShippingServiceTypeEnum | 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 Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.surcharge | Amount | 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.surcharge.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.listingPolicies.shippingCostOverrides.surcharge.value | string | 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. Occurrence: Conditional |
requests.listingPolicies.takeBackPolicyId | string | 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. Occurrence: Optional |
requests.listingStartDate | string | This field can be used if the seller wants to specify a time in the future that the listing will become active on eBay. The timestamp supplied in this field should be in UTC format, and it should be far enough in the future so that the seller will have enough time to publish the listing with the publishOffer method. Occurrence: Optional |
requests.lotSize | integer | This field is only applicable if the listing is a lot listing. A lot listing is a listing that has multiple quantity of the same item, such as four identical tires being sold as a single offer, or it can be a mixed lot of similar items, such as used clothing items or an assortment of baseball cards. Whether the lot listing involved identical items or a mixed lot, the integer value passed into this field is the total number of items in the lot. Lots can be used for auction and fixed-price listings. Occurrence: Conditional |
requests.marketplaceId | MarketplaceEnum | 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. Occurrence: Required |
requests.merchantLocationKey | string | The unique identifier of a merchant's inventory location (where the inventory item in the offer is located). A merchantLocationKey value is established when the merchant creates an inventory location using the createInventoryLocation call. To get more information about inventory locations, the getInventoryLocation call can be used. Occurrence: Conditional |
requests.pricingSummary | PricingSummary | 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. Occurrence: Conditional |
requests.pricingSummary.auctionReservePrice | Amount | 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. Occurrence: Optional |
requests.pricingSummary.auctionReservePrice.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.pricingSummary.auctionReservePrice.value | string | 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. Occurrence: Conditional |
requests.pricingSummary.auctionStartPrice | Amount | This field indicates the minimum bidding price for the auction. The bidding starts at this price. Occurrence: Optional |
requests.pricingSummary.auctionStartPrice.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.pricingSummary.auctionStartPrice.value | string | 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. Occurrence: Conditional |
requests.pricingSummary.minimumAdvertisedPrice | Amount | 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. Occurrence: Conditional |
requests.pricingSummary.minimumAdvertisedPrice.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.pricingSummary.minimumAdvertisedPrice.value | string | 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. Occurrence: Conditional |
requests.pricingSummary.originallySoldForRetailPriceOn | SoldOnEnum | 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 Occurrence: Conditional |
requests.pricingSummary.originalRetailPrice | Amount | 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. Occurrence: Conditional |
requests.pricingSummary.originalRetailPrice.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.pricingSummary.originalRetailPrice.value | string | 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. Occurrence: Conditional |
requests.pricingSummary.price | Amount | 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. Occurrence: Conditional |
requests.pricingSummary.price.currency | string | A three-digit string value respresenting 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. Occurrence: Conditional |
requests.pricingSummary.price.value | string | 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. Occurrence: Conditional |
requests.pricingSummary.pricingVisibility | MinimumAdvertisedPriceHandlingEnum | 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 Occurrence: Conditional |
requests.quantityLimitPerBuyer | integer | This field is only applicable and set if the seller wishes to set a restriction on the purchase quantity per seller. If this field is set by the seller for the offer, then each distinct buyer may purchase up to, but not exceed the quantity specified for this field. So, if this field's value is Occurrence: Optional |
requests.regulatory | Regulatory | This container is used by the seller to provide regulatory information. Occurrence: Optional |
requests.regulatory.energyEfficiencyLabel | EnergyEfficiencyLabel | This container provides information about the energy efficiency for certain durable goods. Occurrence: Optional |
requests.regulatory.energyEfficiencyLabel.imageDescription | string | A brief verbal summary of the information included on the Energy Efficiency Label for an item. Occurrence: Conditional |
requests.regulatory.energyEfficiencyLabel.imageURL | string | The URL to the Energy Efficiency Label image that is applicable to an item. Occurrence: Conditional |
requests.regulatory.energyEfficiencyLabel.productInformationSheet | string | The URL to the Product Information Sheet that provides complete manufacturer-provided efficiency information about an item. Occurrence: Conditional |
requests.regulatory.hazmat | Hazmat | This container is used by the seller to provide hazardous material information for the listing.
The fourth element, Component, is optional. Occurrence: Optional |
requests.regulatory.hazmat.component | string | 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. Occurrence: Optional |
requests.regulatory.hazmat.pictograms | array of string | An array of comma-separated string values listing applicable pictogram code(s) for Hazard Pictogram(s). Occurrence: Conditional |
requests.regulatory.hazmat.signalWord | string | This field sets the signal word for hazardous materials in the 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. Occurrence: Conditional |
requests.regulatory.hazmat.statements | array of string | An array of comma-separated string values specifying applicable statement code(s) for hazard statement(s) for the listing. Occurrence: Conditional |
requests.regulatory.repairScore | number | This field represents the repair index for the listing.
Occurrence: Optional |
requests.secondaryCategoryId | string | The unique identifier for a secondary category. This field is applicable if the seller decides to list the item under two categories. Sellers can use the getCategorySuggestions method of the Taxonomy API to retrieve suggested category ID values. A fee may be charged when adding a secondary category to a listing. Occurrence: Optional |
requests.sku | string | This is the seller-defined SKU value of the product that will be listed on the eBay site (specified in the marketplaceId field). Only one offer (in unpublished or published state) may exist for each sku/marketplaceId/format combination. This field is required. Occurrence: Required |
requests.storeCategoryNames | array of string | 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: Occurrence: Optional |
requests.tax | Tax | 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 Occurrence: Optional |
requests.tax.applyTax | boolean | This field will be included and set to Occurrence: Conditional |
requests.tax.thirdPartyTaxCategory | string | 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 Occurrence: Optional |
requests.tax.vatPercentage | number | 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. Occurrence: Optional |
Output
HTTP response headers
This call has no response headers.
Response payload
Response fields
Output container/field | Type | Description |
---|---|---|
responses | array of OfferSkuResponse |
Occurrence: Conditional |
responses.errors | array of ErrorDetailV3 | 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. Occurrence: Conditional |
responses.errors.category | string | This string value indicates the error category. There are three categories of errors: request errors, application errors, and system errors. Occurrence: Conditional |
responses.errors.domain | string | The name of the domain in which the error or warning occurred. Occurrence: Conditional |
responses.errors.errorId | integer | 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. Occurrence: Conditional |
responses.errors.inputRefIds | array of string | 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. Occurrence: Conditional |
responses.errors.longMessage | string | A detailed description of the condition that caused the error or warning, and information on what to do to correct the problem. Occurrence: Conditional |
responses.errors.message | string | A description of the condition that caused the error or warning. Occurrence: Conditional |
responses.errors.outputRefIds | array of string | 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. Occurrence: Conditional |
responses.errors.parameters | array of ErrorParameterV3 | 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. Occurrence: Conditional |
responses.errors.parameters.name | string | This type contains the name and value of an input parameter that contributed to a specific error or warning condition. Occurrence: Conditional |
responses.errors.parameters.value | string | This is the actual value that was passed in for the element specified in the name field. Occurrence: Conditional |
responses.errors.subdomain | string | The name of the subdomain in which the error or warning occurred. Occurrence: Conditional |
responses.format | FormatTypeEnum | This enumeration value indicates the listing format of the offer. Occurrence: Always |
responses.marketplaceId | MarketplaceEnum | 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. Occurrence: Always |
responses.offerId | string | 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. Occurrence: Conditional |
responses.sku | string | 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. Occurrence: Always |
responses.statusCode | integer | 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 Occurrence: Always |
responses.warnings | array of ErrorDetailV3 | 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. Occurrence: Conditional |
responses.warnings.category | string | This string value indicates the error category. There are three categories of errors: request errors, application errors, and system errors. Occurrence: Conditional |
responses.warnings.domain | string | The name of the domain in which the error or warning occurred. Occurrence: Conditional |
responses.warnings.errorId | integer | 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. Occurrence: Conditional |
responses.warnings.inputRefIds | array of string | 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. Occurrence: Conditional |
responses.warnings.longMessage | string | A detailed description of the condition that caused the error or warning, and information on what to do to correct the problem. Occurrence: Conditional |
responses.warnings.message | string | A description of the condition that caused the error or warning. Occurrence: Conditional |
responses.warnings.outputRefIds | array of string | 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. Occurrence: Conditional |
responses.warnings.parameters | array of ErrorParameterV3 | 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. Occurrence: Conditional |
responses.warnings.parameters.name | string | This type contains the name and value of an input parameter that contributed to a specific error or warning condition. Occurrence: Conditional |
responses.warnings.parameters.value | string | This is the actual value that was passed in for the element specified in the name field. Occurrence: Conditional |
responses.warnings.subdomain | string | The name of the subdomain in which the error or warning occurred. Occurrence: Conditional |
HTTP status codes
This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.
Status | Meaning |
---|---|
200 | Success |
207 | Multi-Status |
400 | Bad Request |
500 | Internal Server Error |
Error codes
For more on errors, plus the codes of other common errors, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
25001 | API_INVENTORY | APPLICATION | Any System error. {additionalInfo} |
25702 | API_INVENTORY | REQUEST | SKU {additionalInfo} is not available in the system |
25709 | API_INVENTORY | REQUEST | Invalid request. Invalid value for field {additionalInfo} |
25729 | API_INVENTORY | REQUEST | The combination of SKU, marketplaceId and format should be unique. |
25730 | API_INVENTORY | REQUEST | The number of offers in the request cannot exceed {additionalInfo} |
25735 | API_INVENTORY | REQUEST | Invalid SKU, marketplaceId or format. |
25752 | API_INVENTORY | REQUEST | listingStartDate provided is invalid. |
25755 | API_INVENTORY | REQUEST | listingDuration is required for auction offer. |
25756 | API_INVENTORY | REQUEST | Auction format is not permitted with a SKU that is part of an InventoryItemGroup. |
25757 | API_INVENTORY | REQUEST | auctionStartPrice is required for auction offer. |
25758 | API_INVENTORY | REQUEST | auctionStartPrice and auctionReservePrice are not supported for fixed price offer. |
25761 | API_INVENTORY | REQUEST | Discount pricing is not applicable for auction offer. |
25762 | API_INVENTORY | REQUEST | availableQuantity is not applicable for auction offer. |
25763 | API_INVENTORY | REQUEST | quantityLimitPerBuyer is not applicable for auction offer. |
25764 | API_INVENTORY | REQUEST | eBayPlusIfEligible is not applicable for auction offer. |
Warnings
This call has no warnings.
Samples
New to making API calls? Please see Making a Call.
Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.
Sample 1: Bulk Create Offers
This example will create two unpublished eBay offers. One of the publish offer calls is needed to convert unpublished offers into live eBay listings.
Input
This call creates two offers that will be published to the eBay US site. Both offers will use the Minimum Advertised Price feature, that is set through the pricingSummary container. Both offers include a free shipping option (set through the shippingCostOverrides container).
POSThttps://api.ebay.com/sell/inventory/v1/bulk_create_offer
Output
If the call is successful, two new unpublished offers will be created. If an offer is successfully created, a statusCode value of 200
is returned for the SKU, along with an eBay-generated offerId value.