inventory APIv1.6.0

bulkPublishOffer

POST
/bulk_publish_offer
This call is used to convert unpublished offers (up to 25) into published offers, or live eBay listings. The unique identifier (offerId) of each offer to publlish is passed into the request payload. It is possible that some unpublished offers will be successfully created into eBay listings, but others may fail. The response payload will show the results for each offerId value that is passed into the request payload. The errors and warnings containers will be returned for an offer that had one or more issues being published.

For those who prefer to publish one offer per call, the publishOffer method can be used instead. In the case of a multiple-variation listing, the publishOfferByInventoryItemGroup call should be used instead, as this call will convert all unpublished offers associated with an inventory item group into a multiple-variation listing.

Input

Resource URI (production)

POST https://api.ebay.com/sell/inventory/v1/bulk_publish_offer

URI parameters

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

OAuth scope

This request requires an access token created with the authorization code grant flow, using one scope from the following list:

https://api.ebay.com/oauth/api_scope/sell.inventory

See OAuth access tokens for more information.

{ /* BulkOffer */
"requests" : []
}
Input container/fieldTypeDescription
requestsarray of OfferKeyWithIdThis container is used to pass in an array of offers to publish. Up to 25 offers can be published with one bulkPublishOffer method.

Occurrence: Required

requests.offerIdstringThe unique identifier of an unpublished offer for which expected listing fees will be retrieved. One to 250 offerId values can be passed in to the offers container for one getListingFees call. Errors will occur if offerId values representing published offers are passed in.

Occurrence: Required

Output

HTTP response headers

Output container/fieldTypeDescription
responsesarray of OfferResponseWithListingIdA node is returned under the responses container to indicate the success or failure of each offer that the seller was attempting to publish.

Occurrence: Always

responses.statusCodeintegerThe HTTP status code returned in this field indicates the success or failure of publishing the offer specified in the offerId field. See the HTTP status codes table to see which each status code indicates.

Occurrence: Always

responses.errorsarray of ErrorDetailV3This container will be returned if there were one or more errors associated with publishing the offer.

Occurrence: Conditional

responses.errors.errorIdintegerA 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.domainstringThe name of the domain in which the error or warning occurred.

Occurrence: Conditional

responses.errors.subdomainstringThe name of the subdomain in which the error or warning occurred.

Occurrence: Conditional

responses.errors.categorystringThis string value indicates the error category. There are three categories of errors: request errors, application errors, and system errors.

Occurrence: Conditional

responses.errors.messagestringA description of the condition that caused the error or warning.

Occurrence: Conditional

responses.errors.parametersarray of ErrorParameterV3Various 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.valuestringThis is the actual value that was passed in for the element specified in the name field.

Occurrence: Conditional

responses.errors.parameters.namestringThis is the name of input field that caused an issue with the call request.

Occurrence: Conditional

responses.errors.longMessagestringA 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.inputRefIdsarray of stringAn 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.outputRefIdsarray of stringAn 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.warningsarray of ErrorDetailV3This container will be returned if there were one or more warnings associated with publishing the offer.

Occurrence: Conditional

responses.warnings.errorIdintegerA 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.domainstringThe name of the domain in which the error or warning occurred.

Occurrence: Conditional

responses.warnings.subdomainstringThe name of the subdomain in which the error or warning occurred.

Occurrence: Conditional

responses.warnings.categorystringThis string value indicates the error category. There are three categories of errors: request errors, application errors, and system errors.

Occurrence: Conditional

responses.warnings.messagestringA description of the condition that caused the error or warning.

Occurrence: Conditional

responses.warnings.parametersarray of ErrorParameterV3Various 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.valuestringThis is the actual value that was passed in for the element specified in the name field.

Occurrence: Conditional

responses.warnings.parameters.namestringThis is the name of input field that caused an issue with the call request.

Occurrence: Conditional

responses.warnings.longMessagestringA 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.inputRefIdsarray of stringAn 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.outputRefIdsarray of stringAn 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.offerIdstringThe unique identifier of the offer that the seller published (or attempted to publish).

Occurrence: Always

responses.listingIdstringThe unique identifier of the newly-created eBay listing. This field is only returned if the seller successfully published the offer and created the new eBay listing.

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.

StatusMeaning
200Success
207Multi-Status
400Bad Request
500Internal Server Error

Error codes

CodeDomainCategoryMeaning
25001API_INVENTORYAPPLICATIONAny System error. {additionalInfo}
25002API_INVENTORYREQUESTAny User error. {additionalInfo}
25003API_INVENTORYREQUESTInvalid price. {additionalInfo}
25004API_INVENTORYREQUESTInvalid quantity. {additionalInfo}
25005API_INVENTORYREQUESTInvalid category. {additionalInfo}
25006API_INVENTORYREQUESTInvalid listing option. {additionalInfo}
25007API_INVENTORYREQUESTInvalid Shipping policy information. {additionalInfo}
25008API_INVENTORYREQUESTInvalid Payment policy information. {additionalInfo}
25009API_INVENTORYREQUESTInvalid Return policy information. {additionalInfo}
25011API_INVENTORYREQUESTInvalid tax information. {additionalInfo}
25012API_INVENTORYREQUESTInvalid location. {additionalInfo}
25013API_INVENTORYREQUESTInvalid InventoryItemGroup information. {additionalInfo}
25014API_INVENTORYREQUESTInvalid pictures. {additionalInfo}
25015API_INVENTORYREQUESTInvalid picture URL. {additionalInfo}
25016API_INVENTORYREQUESTInvalid {fieldName}. {additionalInfo}
25017API_INVENTORYREQUESTMissing field {fieldName}. {additionalInfo}
25018API_INVENTORYREQUESTIncomplete account information. {additionalInfo}
25019API_INVENTORYREQUESTCannot revise listing. {additionalInfo}
25020API_INVENTORYREQUESTInvalid package details. {additionalInfo}
25021API_INVENTORYREQUESTInvalid condition information. {additionalInfo}
25022API_INVENTORYREQUESTInvalid attribute. {fieldName}
25023API_INVENTORYREQUESTInvalid compatibility information. {additionalInfo}
25025API_INVENTORYAPPLICATIONConcurrent access of Inventory or InventoryItemGroup. Please try again later
25026API_INVENTORYREQUESTSelling limits exceeded. {additionalInfo}
25601API_INVENTORYREQUESTInvalid attribute. {fieldName}
25604API_INVENTORYREQUESTInput error. {additionalInfo}
25709API_INVENTORYREQUESTInvalid offerId
25713API_INVENTORYREQUESTThis Offer is not available : {additionalInfo}.
25730API_INVENTORYREQUESTThe number of offers in the request cannot exceed {additionalInfo}.
25731API_INVENTORYREQUESTOfferId should be unique in the request.
25732API_INVENTORYREQUESTOffers associated with SKUs that are part of a variation group cannot be published using this endpoint.

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 Publish Offers

This example will convert two unpublished eBay offers into live eBay listings.

Input

The unique identifiers (offerId) of the two unpublished offers that are to be converted into live eBay listings are passed into the request payload.
POST
https://api.ebay.com/sell/inventory/v1/bulk_publish_offer

Output

If the call is successful, two new eBay listings will be created. If a listing is successfully created for an offer, a statusCode value of 200 is returned for the offerId, along with an eBay-generated listingId value, which is the identifier of the listing (e.g. Item ID).