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.
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.
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. 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. 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. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 Important!Publish offer note: This field is required before an offer can be published to create an active listing. Occurrence: Conditional |
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. 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. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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. Important!Publish offer note: This field is required before an offer can be published to create an active 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. Important!Publish offer note: This field is required before an offer can be published to create an active 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. Important!Publish offer note: This field is required before an offer can be published to create an active 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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). Important!Publish offer note: This field is required before an offer can be published to create an active listing. Max length: 36 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. Important!Publish offer note: This container and its child container, price, are required before an offer can be published to create an active listing. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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 representing the type of currency being used. Both the value and currency fields are required/always returned when expressing prices. 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. 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. Occurrence: Conditional |
requests.pricingSummary.price.currency | string | 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. 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.documents | array of Document | This container provides a collection of regulatory documents associated with the listing. Occurrence: Optional |
requests.regulatory.documents.documentId | string | The unique identifier of a regulatory document associated with the listing. Occurrence: Conditional |
requests.regulatory.economicOperator | EconomicOperator | Important! Economic Operator is being decommissioned and being replaced by the manufacturer and responsiblePersons containers. Economic Operator related fields should no longer be used for the create or update methods. As it is currently still supported, Economic Operator-related fields will be returned if applicable for the getOffer method. Economic Operator and its related fields will be decommissioned on October 21, 2024. This container provides Economic Operator (EO) information about the manufacturer and/or supplier of the item. The EO is a corporate entity that is related to, has some responsibility for, the product being listed for sale. For additional information, see What is an economic operator? Occurrence: Optional |
requests.regulatory.economicOperator.addressLine1 | string | The first line of the registered Economic Operator's street address. Occurrence: Conditional |
requests.regulatory.economicOperator.addressLine2 | string | The second line, if any, of the registered Economic Operator's street address. This field is not always used, but can be used for 'Suite Number' or 'Apt Number'. Occurrence: Optional |
requests.regulatory.economicOperator.city | string | The city of the registered Economic Operator's street address. Occurrence: Conditional |
requests.regulatory.economicOperator.companyName | string | The company name of the registered Economic Operator. Occurrence: Conditional |
requests.regulatory.economicOperator.country | CountryCodeEnum | The two-letter ISO 3166-1 standard abbreviation of the country of the registered Economic Operator's address. Occurrence: Conditional |
requests.regulatory.economicOperator.email | string | The registered Economic Operator's business email address. Occurrence: Optional |
requests.regulatory.economicOperator.phone | string | The registered Economic Operator's business phone number. Occurrence: Optional |
requests.regulatory.economicOperator.postalCode | string | The postal code of the registered Economic Operator's street address. Occurrence: Conditional |
requests.regulatory.economicOperator.stateOrProvince | string | The state or province of the registered Economic Operator's street address. Occurrence: Conditional |
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.
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. 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. 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.manufacturer | Manufacturer | This container provides information about the manufacturer of the item. Occurrence: Optional |
requests.regulatory.manufacturer.addressLine1 | string | The first line of the product manufacturer's street address. Occurrence: Conditional |
requests.regulatory.manufacturer.addressLine2 | string | 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'. Occurrence: Optional |
requests.regulatory.manufacturer.city | string | The city of the product manufacturer's street address. Occurrence: Conditional |
requests.regulatory.manufacturer.companyName | string | The company name of the the product manufacturer. Occurrence: Conditional |
requests.regulatory.manufacturer.country | CountryCodeEnum | 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 Occurrence: Conditional |
requests.regulatory.manufacturer.email | string | The product manufacturer's business email address. Occurrence: Conditional |
requests.regulatory.manufacturer.phone | string | The product manufacturer's business phone number. Occurrence: Conditional |
requests.regulatory.manufacturer.postalCode | string | The postal code of the product manufacturer's street address. Occurrence: Conditional |
requests.regulatory.manufacturer.stateOrProvince | string | The state or province of the product manufacturer's street address. Occurrence: Conditional |
requests.regulatory.productSafety | ProductSafety | 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. Occurrence: Optional |
requests.regulatory.productSafety.component | string | 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'. Occurrence: Optional |
requests.regulatory.productSafety.pictograms | array of string | An array of comma-separated string values used to provide product safety pictogram(s) for the listing. Occurrence: Conditional |
requests.regulatory.productSafety.statements | array of string | An array of comma-separated string values used to provide product safety statement(s) for the listing. Occurrence: Conditional |
requests.regulatory.repairScore | number | This field represents the repair index for the listing.
Note: Repair score is not applicable to all categories. Use the getExtendedProducerResponsibilityPolicies method of the Metadata API to see where repair score is applicable. Occurrence: Optional |
requests.regulatory.responsiblePersons | array of ResponsiblePerson | This container provides information about the EU-based Responsible Persons or entities associated with the listing. Occurrence: Optional |
requests.regulatory.responsiblePersons.addressLine1 | string | The first line of the Responsible Person's street address. Occurrence: Conditional |
requests.regulatory.responsiblePersons.addressLine2 | string | 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'. Occurrence: Optional |
requests.regulatory.responsiblePersons.city | string | The city of the Responsible Person's street address. Occurrence: Conditional |
requests.regulatory.responsiblePersons.companyName | string | The name of the the Responsible Person or entity. Occurrence: Conditional |
requests.regulatory.responsiblePersons.country | CountryCodeEnum | 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 Occurrence: Conditional |
requests.regulatory.responsiblePersons.email | string | The Responsible Person's email address. Occurrence: Conditional |
requests.regulatory.responsiblePersons.phone | string | The Responsible Person's business phone number. Occurrence: Conditional |
requests.regulatory.responsiblePersons.postalCode | string | The postal code of the Responsible Person's street address. Occurrence: Conditional |
requests.regulatory.responsiblePersons.stateOrProvince | string | The state of province of the Responsible Person's street address. Occurrence: Conditional |
requests.regulatory.responsiblePersons.types | array of ResponsiblePersonTypeEnum | The type(s) associated with the Responsible Person or entity. Occurrence: Conditional |
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. 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. Occurrence: Optional |
requests.sku | string | 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 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 Occurrence: Optional |
requests.tax.applyTax | boolean | When set to 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.
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. 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.