PUT /item_promotion/{promotion_id}
This method updates the specified threshold promotion with the new configuration that you supply in the request. Indicate the promotion you want to update using the promotion_id path parameter.
Call getPromotions to retrieve the IDs of a seller's promotions.
When updating a promotion, supply all the fields that you used to configure the original promotion (and not just the fields you are updating). eBay replaces the specified promotion with the values you supply in the update request and if you don't pass a field that currently has a value, the update request will fail.
The parameters you are allowed to update with this request depend on the status of the promotion you're updating:
- DRAFT or SCHEDULED promotions: You can update any of the parameters in these promotions that have not yet started to run, including the discountRules.
- RUNNING or PAUSED promotions: You can change the endDate and the item's inventory but you cannot change the promotional discount or the promotion's start date.
- ENDED promotions: Nothing can be changed.
Tip: When updating a RUNNING
or PAUSED
promotion, set the status field to SCHEDULED
for the update request. When the promotion is updated, the previous status (either RUNNING
or PAUSED
) is retained.
Servers
- https://api.ebay.com{basePath}
Path parameters
Name | Type | Required | Description |
---|---|---|---|
promotion_id |
String | Yes |
This path parameter takes a concatenation of the ID of the promotion you want to update plus the marketplace ID on which the promotion is hosted. Concatenate the two values by separating them with an "at sign" (@). |
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
budget |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
budget.value |
String | No |
The monetary amount in the specified currency. |
budget.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
description |
String | No |
This is the seller-defined "tag line" for the offer, such as "Save on designer shoes." Note: Offer-type text is a teaser that's presented throughout the buyer's journey through the sales flow and is generated by eBay. The offer-type text is not editable by the seller—it's derived from the settings in the discountRules and discountSpecification fields—and can be, for example, "Extra 20% off when you buy 3+". Maximum length: 50 Required if you are configuring CODED_COUPON, ORDER_DISCOUNT, or MARKDOWN_SALE promotions (and not valid for VOLUME_DISCOUNT promotions). |
applyDiscountToSingleItemOnly |
Boolean | No |
This flag is relevant in only when promotionType is set to |
startDate |
String | No |
The date and time the promotion starts in UTC format ( |
marketplaceId |
String | No |
The eBay marketplace ID of the site where the threshold promotion is hosted. Threshold promotions are currently supported on a limited number of eBay marketplaces. Valid values:
|
promotionType |
String | No |
Use this field to specify the type of the promotion you are creating. The supported types are:
See the Promotions Manager documentation for details. Required if you are creating a volume pricing promotion ( |
inventoryCriterion |
Object | No |
This type defines either the selections rules or the list of listing IDs for the promotion. The "listing IDs" are are either the seller's item IDs or the eBay listing IDs. |
inventoryCriterion.inventoryCriterionType |
String | No |
Indicates how the items to include in the promotion are selected. You can include inventory by ID, using rules, or globally include all your inventory. For implementation help, refer to eBay API documentation |
inventoryCriterion.ruleCriteria |
Object | No |
This type defines the fields for a set of inventory selection rules. |
inventoryCriterion.ruleCriteria.excludeListingIds[] |
Array | No |
A list of eBay listing IDs to exclude from the promotion. Note: The request can have either excludeInventoryItems or excludeListingIds but not both. Maximum: 100 parent itemsMaximum SKU or custom label length: 50 characters |
inventoryCriterion.ruleCriteria.selectionRules[] |
Array | No |
The container for the rules that select the items to include in a promotion. |
inventoryCriterion.ruleCriteria.selectionRules[].maxPrice |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
inventoryCriterion.ruleCriteria.selectionRules[].maxPrice.value |
String | No |
The monetary amount in the specified currency. |
inventoryCriterion.ruleCriteria.selectionRules[].maxPrice.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
inventoryCriterion.ruleCriteria.selectionRules[].categoryIds[] |
Array | No |
A list of category IDs associated with the listings to be included in the campaign. Ads are created for all the seller's items listed in the specified categories, up to a maximum of 50,000 items. The IDs can be either a list of eBay category IDs (from the site where the item is hosted), or a list of category IDs defined and used by the seller's store. eBay Marketplace category IDs
Seller store category IDs
|
inventoryCriterion.ruleCriteria.selectionRules[].categoryScope |
String | No |
The enumeration values returned in this field indicate if the category IDs in the corresponding categoryIds array are identifiers for eBay categories or for a seller's eBay store categories. This field is always returned if one or more category IDs are used as a filter. For implementation help, refer to eBay API documentation |
inventoryCriterion.ruleCriteria.selectionRules[].listingConditionIds[] |
Array | No |
A comma-separated list of unique identifiers for the conditions of listings to be included in the campaign. Up to four IDs can be specified.
|
inventoryCriterion.ruleCriteria.selectionRules[].minPrice |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
inventoryCriterion.ruleCriteria.selectionRules[].minPrice.value |
String | No |
The monetary amount in the specified currency. |
inventoryCriterion.ruleCriteria.selectionRules[].minPrice.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
inventoryCriterion.ruleCriteria.selectionRules[].brands[] |
Array | No |
An array of product brands used as an inclusion filter. A product's brand is defined in a listing's item specifics. This array will be returned if one or more product brands were used as a filter. |
inventoryCriterion.ruleCriteria.markupListingIds[] |
Array | No |
A list of listing IDs to remove from a markdown promotion. The listed items are 'marked up' to their standard price after being part of the markdown promotion. |
inventoryCriterion.ruleCriteria.excludeInventoryItems[] |
Array | No |
A list of seller inventory reference IDs to exclude from the promotion. Note: The request can have either excludeInventoryItems or excludeListingIds but not both. Maximum: 100 parent itemsMaximum SKU or custom label length: 50 characters |
inventoryCriterion.ruleCriteria.excludeInventoryItems[].inventoryReferenceId |
String | No |
The seller's inventory reference ID for a listing. Also known as the "SKU" or "custom label," an inventory reference ID is either the ID of the listing or, if the listing has variations (such as a shirt that's available in multiple sizes and colors), the ID of the parent listing. |
inventoryCriterion.ruleCriteria.markupInventoryItems[] |
Array | No |
A list of SKUs to remove from a markdown promotion. The listed SKUs are 'marked up' to their standard price after being part of the markdown promotion. |
inventoryCriterion.ruleCriteria.markupInventoryItems[].inventoryReferenceId |
String | No |
The seller's inventory reference ID for a listing. Also known as the "SKU" or "custom label," an inventory reference ID is either the ID of the listing or, if the listing has variations (such as a shirt that's available in multiple sizes and colors), the ID of the parent listing. |
inventoryCriterion.inventoryItems[] |
Array | No |
An array of containers for the seller's inventory reference IDs (also known as an "SKU" or "custom label") to be added to the promotion. Note: The request can have either inventoryItems or listingIds, but not both. Required: All listings in a promotion must offer an electronic payment method. Maximum: 500 parent items Maximum SKU or custom label length: 50 characters Required if InventoryCriterionType is set to INVENTORY_BY_VALUE , you must specify either inventoryItems or listingIds.
|
inventoryCriterion.inventoryItems[].inventoryReferenceId |
String | No |
The seller's inventory reference ID for a listing. Also known as the "SKU" or "custom label," an inventory reference ID is either the ID of the listing or, if the listing has variations (such as a shirt that's available in multiple sizes and colors), the ID of the parent listing. |
inventoryCriterion.listingIds[] |
Array | No |
An array of eBay listing IDs to be added to the promotion. Note: The request can have either inventoryItems or listingIds, but not both. Required: All listings in a promotion must offer an electronic payment method. Maximum: 500 parent items Maximum SKU or custom label length: 50 characters Required if InventoryCriterionType is set to INVENTORY_BY_VALUE , you must specify either inventoryItems or listingIds.
|
promotionStatus |
String | No |
The current status of the promotion. When creating a new promotion, this value must be set to either |
priority |
String | No |
Applicable for only ORDER_DISCOUNT promotions, this field indicates the precedence of the promotion, which is used to determine the position of a promotion on the seller's All Offers page. If an item is associated with multiple promotions, the promotion with the higher priority takes precedence. For implementation help, refer to eBay API documentation |
endDate |
String | No |
The date and time the promotion ends in UTC format ( |
name |
String | No |
The seller-defined name or "title" of the promotion that the seller can use to identify a promotion. This label is not displayed in end-user flows. |
discountRules[] |
Array | No |
This container defines a promotion using the following two required fields:
Note: For volume pricing, you must specify at least two and not more than four discountBenefit/discountSpecification pairs. In addition, you must define each set of rules with a ruleOrder value that corresponds with the order of volume discounts you present. Tip: Refer to Specifying item promotion discounts for information and examples on how to combine discountBenefit and discountSpecification to create different types of promotions. |
discountRules[].discountSpecification |
Object | No |
This container defines the criteria for when the discounts of a promotion trigger, such as the minimum quantity the buyer must purchase before the promotion kicks in. The promotional discount is applied each time the criteria defined by this container is met. Note: When configuring the rules that govern when the discounts are applied, populate just one of the following fields in the discountSpecification container:
Tip: Refer to Configuring discounts for threshold promotions for information and examples on how to combine discountBenefit and discountSpecification to create different types of promotions. |
discountRules[].discountSpecification.minAmount |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
discountRules[].discountSpecification.minAmount.value |
String | No |
The monetary amount in the specified currency. |
discountRules[].discountSpecification.minAmount.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
discountRules[].discountSpecification.forEachQuantity |
Integer | No |
The number of items that must be purchased in order to qualify for the discount. |
discountRules[].discountSpecification.minQuantity |
Integer | No |
The minimum quantity of promoted items that needs to be bought in order to qualify for the promotion's discount. |
discountRules[].discountSpecification.numberOfDiscountedItems |
Integer | No |
Use this field to configure "Buy One Get One" (or BOGO) promotions. |
discountRules[].discountSpecification.forEachAmount |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
discountRules[].discountSpecification.forEachAmount.value |
String | No |
The monetary amount in the specified currency. |
discountRules[].discountSpecification.forEachAmount.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
discountRules[].discountBenefit |
Object | No |
This container defines the promotional discount as either a monetary amount or a percentage of the sales price. Important!: You must populate one and only one of the fields in this container:
Tip: Refer to Configuring discounts for threshold promotions for information and examples on how to combine discountBenefit and discountSpecification values to create different types of promotions. |
discountRules[].discountBenefit.percentageOffItem |
String | No |
The percentage applied to the sales price that is discounted off the promoted item (or items) when the promotion criteria is met. |
discountRules[].discountBenefit.amountOffItem |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
discountRules[].discountBenefit.amountOffItem.value |
String | No |
The monetary amount in the specified currency. |
discountRules[].discountBenefit.amountOffItem.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
discountRules[].discountBenefit.percentageOffOrder |
String | No |
Used for threshold promotions, this is the percentage of the order price that is discounted off the order when the promotion criteria is met. This field is not value for markdown promotions. |
discountRules[].discountBenefit.amountOffOrder |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
discountRules[].discountBenefit.amountOffOrder.value |
String | No |
The monetary amount in the specified currency. |
discountRules[].discountBenefit.amountOffOrder.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
discountRules[].maxDiscountAmount |
Object | No |
A complex type that describes the value of a monetary amount as represented by a global currency. |
discountRules[].maxDiscountAmount.value |
String | No |
The monetary amount in the specified currency. |
discountRules[].maxDiscountAmount.currency |
String | No |
The base currency applied to the value field to establish a monetary amount. |
discountRules[].ruleOrder |
Integer | No |
This field indicates the order in which the discountRules are presented. The value specified for this field must equal the associated minQuantity value. |
promotionImageUrl |
String | No |
Required for CODED_COUPON, MARKDOWN_SALE, and ORDER_DISCOUNT promotions, and not valid for VOLUME_DISCOUNT promotions. |
couponConfiguration |
Object | No |
This container defines a coded coupon promotion. It is required if the promotion type is CODED_COUPON. |
couponConfiguration.couponType |
String | No |
This indicates the type of Coded Coupon promotion, and is required when the promotion type is CODED_COUPON.
|
couponConfiguration.couponCode |
String | No |
A unique code that buyers can use during checkout to receive a discount. The code must be unique across eBay. |
couponConfiguration.maxCouponRedemptionPerUser |
Integer | No |
This sets the limit on the number of times a buyer can use this coupon. The range of values is 1-10. If no value is provided, a buyer can use the coupon an unlimited number of times. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.