marketing APIv1.10.0

updateItemPromotion

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.

Input

Resource URI (production)

PUT https://api.ebay.com/sell/marketing/v1/item_promotion/{promotion_id}

URI parameters

ParameterTypeDescription
promotion_idstringThis 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" (@).

The ID of the promotion (promotionId) is a unique eBay-assigned value that's generated when the promotion is created. The Marketplace ID is the ENUM value of eBay marketplace where the promotion is hosted.

Example: 1********5@EBAY_US

Occurrence: Required

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 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.marketing

See OAuth access tokens for more information.

{ /* ItemPromotion */
"name" : "string",
}
Input container/fieldTypeDescription
applyDiscountToSingleItemOnlybooleanThis flag is relevant in only when promotionType is set to VOLUME_DISCOUNT. For details on volume pricing promotions, see Configuring volume pricing discounts.

If set to true, the discount is applied only when the buyer purchases multiple quantities of a single item in the promotion. Otherwise, the promotional discount applies to multiple quantities of any items in the promotion. Different variations of a multi-variation item are considered to be the same item. Note that this flag is not relevant if the inventoryCriterion container identifies a single listing ID for the promotion.

Occurrence: Optional

budgetAmountThis sets the budget for the CODED_COUPON promotion type. Supported values range from 100-1000000. Supported currency codes include USD, GBP, EUR, and AUD.

Note: The budget value for an active or paused promotion can not be decreased.

Note: The Currency Code for 'budget' must be the same as the Currency Code for 'maxDiscountAmount'.

Occurrence: Optional

budget.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

budget.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

couponConfigurationCouponConfigurationThe configuration of a coded coupon promotion.

Occurrence: Conditional

couponConfiguration.couponCodestringA unique code that buyers can use during checkout to receive a discount. The code must be unique across eBay.

The code must be from 8-15 alphanumeric characters and can contain no more than two dashes ( - ).

This is required when the promotion type is CODED_COUPON.

Occurrence: Conditional

couponConfiguration.couponTypeCouponTypeEnumThis indicates the type of Coded Coupon promotion, and is required when the promotion type is CODED_COUPON.

Supported types:
  • PRIVATE_SINGLE_SELLER_COUPON: Anyone can use and share the coupon code, but it isn't posted on eBay.
  • PUBLIC_SINGLE_SELLER_COUPON: Anyone can find the coupon code on eBay and use it.

Occurrence: Conditional

couponConfiguration.maxCouponRedemptionPerUserintegerThis 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.

Occurrence: Optional

descriptionstringThis is the seller-defined "tag line" for the offer, such as "Save on designer shoes."

The tag line appears under the "offer-type text" that is generated for the promotion and is displayed on the offer tile that's shown on the seller's All Offers page, and on the event page for the promotion.

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).

Occurrence: Conditional

discountRulesarray of DiscountRuleThis container defines a promotion using the following two required fields:
  • discountBenefit – Defines a discount as either a monetary amount or a percentage that is subtracted from the sales price of an item, a set of items, or an order.
  • discountSpecification – Defines a set of rules that determine when the promotion is applied.

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.

Occurrence: Required

discountRules.discountBenefitDiscountBenefitThis container defines the promotional discount as either a monetary amount or a percentage of the sales price.

Note: When configuring promotion benefits, populate just one of the following fields in the discountBenefit container:

  • amountOffItem
  • amountOffOrder
  • percentageOffItem
  • percentageOffOrder

For volume pricing, only percentageOffOrder is applicable as a discountBenefit. Also, the first discountBenefit container in a volume pricing configuration must set percentageOffOrder to 0.

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.

Occurrence: Required

discountRules.discountBenefit.amountOffItemAmountThe monetary amount that is discounted off an item (or items) when the promotion criteria is met.

For threshold promotions, where the buyer triggers the discount, the valid values for this field are:
  5, 6, 7, 8, 9, 10, 15, 20, 25,
  30, 35, 40, 45, 50, 55, 60, 65,
  70, 75, 80, 85, 90, 95, 100, 110,
  120, 125, 150, 200, 250


For markdown promotions, the range is greater, as outlined below and detailed more precisely here:
  • $1 increments from $5 to $100
  • $5 increments from $105 to $1,000
  • $100 increments from $1,100 to $15,000

Occurrence: Optional

discountRules.discountBenefit.amountOffItem.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

discountRules.discountBenefit.amountOffItem.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountBenefit.amountOffOrderAmountUsed for threshold promotions, this is the monetary amount that is discounted off an order when the promotion criteria is met. Because this field is valid only for orders, it's not a valid combination to use with markdown promotions.

Valid values for the associated amountOffOrder.value field:
  5, 6, 7, 8, 9, 10, 15, 20, 25,
  30, 35, 40, 45, 50, 55, 60, 65,
  70, 75, 80, 85, 90, 95, 100, 110,
  120, 125, 150, 200, 250

Occurrence: Optional

discountRules.discountBenefit.amountOffOrder.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

discountRules.discountBenefit.amountOffOrder.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountBenefit.percentageOffItemstringThe percentage applied to the sales price that is discounted off the promoted item (or items) when the promotion criteria is met.

Valid integer values for percentage off:   Min: 5   Max: 80

Occurrence: Optional

discountRules.discountBenefit.percentageOffOrderstringUsed 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.

Valid integer values for ORDER_DISCOUNT promotions:   Min: 5   Max: 80

For VOLUME_DISCOUNT promotions: Must be set to 0 for the first discount rule.

Occurrence: Optional

discountRules.discountSpecificationDiscountSpecificationThis container defines the criteria for when the discounts of a promotion trigger, such as the minimum quantity that the buyer must purchase before the promotion kicks in. The promotional discount is applied each time the criteria defined by this container is met.

When configuring the rules that govern when the discounts are applied, populate just one of the following fields in the discountSpecification container:

  • minAmount
  • minQuantity
  • forEachQuantity
  • forEachAmount

Important: When configuring volume pricing promotions, only minQuantity is applicable as a discountSpecification. Also, the configuration for minQuantity in a volume pricing configuration is specific. In the first discountSpecification container, set minQuantity to 1, and in the second, set minQuantity to 2. If you include a third discountRules pair, minQuantity must be set to 3, and in a fourth, it must be set to 4. Also, you must set a ruleOrder value in each discountRules container. In the first container, discountRules must be set to 1, and in each subsequent container, the value be be incremented by 1. For more, see Configuring volume pricing discounts.

Tip: see Configuring discounts for threshold promotions for information and examples on how to combine discountBenefit and discountSpecification to create different types of promotions.

Occurrence: Required

discountRules.discountSpecification.forEachAmountAmountThe monetary amount that must be spent on promoted items before the promotional discount is applied.

Valid values for the associated forEachAmount.value field:
  5, 10, 15, 20, 25, 30, 35, 40, 45, 49,
  50, 55, 59, 60, 65, 69, 70, 75, 79, 80,
  85, 89, 90, 95, 99, 100, 110, 120, 125,
  149, 150, 175, 199, 200, 249, 250, 299,
  300, 350, 399, 400, 450, 499, 500

Occurrence: Optional

discountRules.discountSpecification.forEachAmount.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

discountRules.discountSpecification.forEachAmount.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountSpecification.forEachQuantityintegerThe number of items that must be purchased in order to qualify for the discount.

Valid values:
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
  12, 13, 14, 15, 16, 17, 18, 19
  20, 25, 50, 75, 100

Occurrence: Optional

discountRules.discountSpecification.minAmountAmountKnown as the "threshold amount", the minimum dollar amount that needs to be spent on promoted items in order to qualify for the promotion's discount.

Valid values for the associated minAmount.value field:
  5, 10, 15, 20, 25, 30, 35, 40, 45, 49,
  50, 55, 59, 60, 65, 69, 70, 75, 79, 80,
  85, 89, 90, 95, 99, 100, 110, 120,
  125, 149, 150, 175, 199, 200, 249, 250, 299,
  300, 350, 399, 400, 450, 499, 500

Occurrence: Optional

discountRules.discountSpecification.minAmount.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

discountRules.discountSpecification.minAmount.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountSpecification.minQuantityintegerThe minimum quantity of promoted items that needs to be bought in order to qualify for the promotion's discount.

Valid values:
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
  12, 13, 14, 15, 16, 17, 18, 19
  20, 25, 50, 75, 100

Occurrence: Optional

discountRules.discountSpecification.numberOfDiscountedItemsintegerUse this field to configure "Buy One Get One" (or BOGO) promotions.

You must couple this field with forEachQuantity and an amountOffItem or percentOffItem field to configure your BOGO promotion. This field is not valid with order-based promotions.

The value of this field represents the number of items to be discounted when other promotion criteria is met. For example, when the buyer adds the number of items identified by the forEachQuantity value to their cart, they are then eligible to receive the stated discount from an additional number of like items (the number of which is identified by this field) when they add those items to their cart. To receive the discount, the buyer must purchase the number of items indicated by forEachQuantity plus the number indicated by this field.

Valid values:
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Occurrence: Optional

discountRules.maxDiscountAmountAmountThe limit on how much a buyer can save using a CODED_COUPON promotion type. Permitted values are 1-1000. Supported currency codes include USD, GBP, EUR, and AUD.

Note: The Currency Code for 'maxDiscountAmount' must be the same as the Currency Code for 'budget'.

Occurrence: Conditional

discountRules.maxDiscountAmount.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

discountRules.maxDiscountAmount.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.ruleOrderintegerThis field indicates the order in which the discountRules are presented. The value specified for this field must equal the associated minQuantity value.

Required if you are creating a volume pricing promotion.

Occurrence: Conditional

endDatestringThe date and time the promotion ends in UTC format (yyyy-MM-ddThh:mm:ssZ). If this field is blank (null), it indicates the promotion has no end date. For display purposes, convert this time into the local time of the seller.

Occurrence: Required

inventoryCriterionInventoryCriterionA container that defines either the listing IDs or the selection rules that specify the items to include in the promotion. Listing IDs can be either eBay listing IDs or a list of the seller's inventory reference IDs (know as SKUs or custom labels). See the selectionRules container for the rule criteria you can use to select inventory.

Note: All listings in Promotions Manager promotions must support an electronic payment method.

Occurrence: Required

inventoryCriterion.inventoryCriterionTypeInventoryCriterionEnumIndicates how the items to include in the promotion are selected. You can include inventory by ID, using rules, or globally include all your inventory.

Occurrence: Required

inventoryCriterion.inventoryItemsarray of InventoryItemAn 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.

Occurrence: Conditional

inventoryCriterion.inventoryItems.inventoryReferenceIdstringThe 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.

Occurrence: Optional

inventoryCriterion.inventoryItems.inventoryReferenceTypeInventoryReferenceTypeEnumIndicates the type of the inventoryReferenceId, which can be either an individual item or a multi-SKU item (INVENTORY_ITEM and INVENTORY_ITEM_GROUP, respectively).

Note: This value is not currently returned in the response.

Occurrence: Optional

inventoryCriterion.listingIdsarray of stringAn 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.

Occurrence: Conditional

inventoryCriterion.ruleCriteriaRuleCriteriaThis container defines a set of inventory selection rules for a promotion.

When defining rule criteria, you must limit item exclusions to 100 IDs when you choose from live inventory.

Required if InventoryCriterionEnum is set to INVENTORY_BY_RULE or INVENTORY_ANY.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.excludeInventoryItemsarray of InventoryItemA 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 items
Maximum SKU or custom label length: 50 characters

Occurrence: Optional

inventoryCriterion.ruleCriteria.excludeInventoryItems.inventoryReferenceIdstringThe 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.

Occurrence: Optional

inventoryCriterion.ruleCriteria.excludeInventoryItems.inventoryReferenceTypeInventoryReferenceTypeEnumIndicates the type of the inventoryReferenceId, which can be either an individual item or a multi-SKU item (INVENTORY_ITEM and INVENTORY_ITEM_GROUP, respectively).

Note: This value is not currently returned in the response.

Occurrence: Optional

inventoryCriterion.ruleCriteria.excludeListingIdsarray of stringA 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 items
Maximum SKU or custom label length: 50 characters

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupInventoryItemsarray of InventoryItemA 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.

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupInventoryItems.inventoryReferenceIdstringThe 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.

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupInventoryItems.inventoryReferenceTypeInventoryReferenceTypeEnumIndicates the type of the inventoryReferenceId, which can be either an individual item or a multi-SKU item (INVENTORY_ITEM and INVENTORY_ITEM_GROUP, respectively).

Note: This value is not currently returned in the response.

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupListingIdsarray of stringA 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.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRulesarray of SelectionRuleThe container for the rules that select the items to include in a promotion.

Required if inventoryCriterionType is set to INVENTORY_BY_RULE.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.brandsarray of stringThe list of brands in the seller's inventory to include in the promotion.

This field is applicable only when categoryScope is set to MARKETPLACE.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.categoryIdsarray of stringEach selectionRules container can specify only a single category ID to include in the promotion. The ID can be either an eBay category ID or a seller's store category ID.

Marketplace (eBay) category IDs
While we do not publish a list of eBay category IDs, you can retrieve the list of IDs as follows:
  • Get the category ID from the marketplace site:
    1. Use the Taxonomy API to retrieve a list of category IDs for any marketplace.
    2. For any marketplace, add /sch/allcategories/all-categories to the URL of the marketplace and navigate to that page.
      For example: http://www.ebay.com.au/sch/allcategories/all-categories
    3. Navigate to the category that you want and copy the ID from the URL.
  • For the US: See Category Changes for the latest list of category IDs.
Store category IDs
Store category IDs are unique to each seller, so the service cannot provide a list of them. To retrieve a list of seller Store category IDs:
  1. Go to Seller Hub > Marketing.
  2. Click Manage store categories.
    You will see a list of your store categories.
  3. At the bottom of the list, click All Categories.
    A complete list of your Store categories and their associated Store category IDs displays.
Note: You must always specify both categoryIds and categoryScope fields in each selectionRules container. If you specify multiple selectionRules containers, the categoryScope in each must match (they must all be either MARKETPLACE or STORE).

Required if inventoryCriterionType is set to INVENTORY_BY_RULE.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.categoryScopeCategoryScopeEnumThe type of the category ID for the item(s) to be included in the promotion. You must always supply both categoryIds and categoryScope. Note: A request can have only one categoryScope.

Required: When inventoryCriterionType is set to INVENTORY_BY_RULE.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.listingConditionIdsarray of stringA list of IDs that describe the condition of the items included in the promotion. For more information, see Item condition ID and name values.

Note: As of September 1, 2021, condition ID 2500 ('Seller Refurbished') is no longer a valid item condition in the Cell Phones & Smartphones category (category ID 9355) for the following marketplaces: US, Canada, UK, Germany, and Australia. This refurbished item condition has been replaced by three new refurbished values, which include 'Excellent - Refurbished' (condition ID 2010), 'Very Good - Refurbished' (condition ID 2020), and 'Good - Refurbished' (condition ID 2030).

Note: In all eBay marketplaces, Condition ID 2000 now maps to an item condition of 'Certified - Refurbished', and not 'Manufacturer Refurbished'. To list an item as 'Certified Refurbished', a seller must be pre-qualified by eBay for this feature.

Note: This value is not currently returned in the response.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.maxPriceAmountThis sets the maximum value of the price range for the items included in the promotion. Only items whose price is equal to or less than maxPrice are included in the promotion.

Important: You must set minPrice if you set maxPrice.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.maxPrice.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.maxPrice.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.minPriceAmountThis sets the minimum value of the price range for the items included in the promotion. Only items whose price is equal to or greater than minPrice are included in the promotion.

Important: You must set maxPrice if you set minPrice.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.minPrice.currencyCurrencyCodeEnumThe base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.minPrice.valuestringThe monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

marketplaceIdMarketplaceIdEnumThe 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:

  • EBAY_AU = Australia
  • EBAY_DE = Germany
  • EBAY_ES = Spain
  • EBAY_FR = France
  • EBAY_GB = Great Britain
  • EBAY_IT = Italy
  • EBAY_US = United States

Occurrence: Required

namestringThe 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.

Maximum length: 90

Occurrence: Required

priorityPromotionPriorityEnumApplicable 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.

Occurrence: Optional

promotionImageUrlstringThis field is required for CODED_COUPON, MARKDOWN_SALE, and ORDER_DISCOUNT promotions, and not valid for VOLUME_DISCOUNT promotions.

Populate this field with a URL that points to an image to be used with the promotion. This image is displayed on the seller's All Offers page. The URL must point to either JPEG or PNG image and it must be a minimum of 500x500 pixels in dimension and cannot exceed 12Mb in size.

Occurrence: Conditional

promotionStatusPromotionStatusEnumThe current status of the promotion. When creating a new promotion, this value must be set to either DRAFT or SCHEDULED.

Note that you must set this value to SCHEDULED when you update a RUNNING promotion.

Occurrence: Required

promotionTypePromotionTypeEnumUse this field to specify the type of the promotion you are creating.

The supported types are:

  • CODED_COUPON – A coupon code promotion set with createItemPromotion.
  • MARKDOWN_SALE – A markdown promotion set with createItemPriceMarkdownPromotion.
  • ORDER_DISCOUNT – A threshold promotion set with createItemPromotion.
  • VOLUME_DISCOUNT – A volume pricing promotion set with createItemPromotion.

See the Promotions Manager documentation for details.

Required if you are creating a volume pricing promotion (VOLUME_DISCOUNT).

Occurrence: Conditional

startDatestringThe date and time the promotion starts in UTC format (yyyy-MM-ddThh:mm:ssZ). For display purposes, convert this time into the local time of the seller.

Occurrence: Required

Output

HTTP response headers

Output container/fieldTypeDescription
warningsarray of ErrorDetailV3The container for any warning error messages generated by the request. Warnings are not fatal in that they do not prevent the call from running and returning a response, but they should be reviewed to ensure your requests are returning the responses you expect.

Occurrence: Conditional

warnings.categorystringThe category type for this error or warning. This field can have one of three values:
  • Application: Indicates an exception or error occurred in the application code or at runtime. Examples include catching an exception in a service's business logic, system failures, or request errors from a dependency.
  • Business: Used when your service or a dependent service refused to continue processing on the resource because of a business rule violation such as "Seller does not ship items to Antarctica" or "Buyer ineligible to purchase an alcoholic item". Business errors are not syntactical input errors.
  • Request: Used when there is anything wrong with the request, such as authentication, syntactical errors, rate limiting or missing headers, bad HTTP header values, and so on.

Occurrence: Conditional

warnings.domainstringThe name of the primary system where the error occurred. This is relevant for application errors.

Occurrence: Conditional

warnings.errorIdintegerA positive integer that uniquely identifies the specific error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.

Occurrence: Conditional

warnings.inputRefIdsarray of stringAn array of reference IDs that identify the specific request elements most closely associated to the error or warning, if any. For JSON, use JSONPath notation.

Occurrence: Conditional

warnings.longMessagestringA detailed description of the condition that caused the error or warning and information on what to do to correct the problem. The string is normally 100-200 characters in length, but is not required to be such.

Occurrence: Conditional

warnings.messagestringA short description of the condition that caused the error or warning. This value is at most 50 characters long and, if applicable, is localized in the end user's requested locale.

Occurrence: Conditional

warnings.outputRefIdsarray of stringAn array of reference IDs that identify the specific response elements most closely associated to the error or warning, if any. The path format is the same as inputRefId.

Occurrence: Conditional

warnings.parametersarray of ErrorParameterV3An array that contains contextual information about the error or warning. The list often includes the parameter or input fields that triggered the warning or error condition.

Occurrence: Conditional

warnings.parameters.namestringName of the entity that threw the error.

Occurrence: Conditional

warnings.parameters.valuestringThe value that was set for the element specified in the name field.

Occurrence: Conditional

warnings.subdomainstringThe name of the subdomain in which the error or warning occurred. For example, checkout is a subdomain in the buying domain.

Occurrence: NA

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
204Success
400Bad Request
404Not Found
409Business Error
500Internal Server Error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

CodeDomainCategoryMeaning
38201API_MARKETINGAPPLICATIONInternal server error encountered. If this problem persists, please contact support.
38203API_MARKETINGREQUESTResource not found. Check the ID and try the call again.
38204API_MARKETINGREQUESTThe seller is not eligible for promotions because they do not have an eBay Store or they have not accepted the terms and conditions for creating a promotion on this Marketplace, see the documentation for this call.
38207API_MARKETINGREQUESTThe promotion priority is invalid. Please check and try the call again.
38210API_MARKETINGREQUESTYou cannot change the priority of a promotion that is ended or deleted.
38218API_MARKETINGREQUESTA valid entry is required for {fieldName}.
38219API_MARKETINGREQUESTThe start date and time must be earlier than the end date and time.
38220API_MARKETINGREQUESTThe end date and time must be later than the current date and time.
38225API_MARKETINGREQUESTYou cannot update a promotion that has ended.
38228API_MARKETINGREQUESTThe amount value of '{fieldName}' contains decimals, only integers are supported.
38229API_MARKETINGREQUESTThe start date and time should be later than the current date and time.
38232API_MARKETINGREQUESTYou cannot update the promotion discount for an active promotion.
38234API_MARKETINGREQUESTHTML is not allowed in the '{fieldName}' field.
38235API_MARKETINGREQUESTInvalid input for the '{fieldName}' field. For help, see the documentation for this call.
38236API_MARKETINGREQUESTThe 'discountSpecification' data is missing, which is required by this call. For help, see the documentation for this call.
38237API_MARKETINGREQUESTThe request can have only one of these fields: 'minQuantity', 'forEachQuantity', 'minAmount', or 'forEachAmount' in 'discountSpecification'. For help, see the documentation for this call.
38238API_MARKETINGREQUESTThe 'discountBenefit' data is missing, which is required by this call. For help, see the documentation for this call.
38239API_MARKETINGREQUESTThe request can have only one of these fields: 'percentageOffOrder', 'amountOffOrder', 'percentageOffItem', or 'amountOffItem' in 'discountBenefit'. For help, see the documentation for this call.
38240API_MARKETINGREQUESTInvalid input for the 'promotionStatus' field. For help, see the documentation for this call.
38241API_MARKETINGREQUESTThis discount rule combination is currently not supported. For help, see the documentation for this call.
38242API_MARKETINGREQUESTThe request can have only one of these fields: 'inventoryCriterion.inventoryItems' or 'inventoryCriterion.listingIds'.
38243API_MARKETINGBUSINESSThe 'minQuantity' value is invalid. This value must be an integer.
38244API_MARKETINGBUSINESSThe 'forEachQuantity' value is invalid. This value must be an integer.
38245API_MARKETINGBUSINESSThe 'minAmount' value is invalid. For help, see the documentation for this call.
38246API_MARKETINGBUSINESSThe 'forEachAmount' value is invalid. For help, see the documentation for this call.
38247API_MARKETINGBUSINESSThe 'numberOfDiscountedItems' value is invalid. This value must be an integer.
38248API_MARKETINGBUSINESSThe 'percentOffItem' value is invalid. For help, see the documentation for this call.
38249API_MARKETINGBUSINESSThe 'percentOffOrder' value is invalid. For help, see the documentation for this call.
38250API_MARKETINGBUSINESSThe 'amountOffItem' value is invalid. For help, see the documentation for this call.
38251API_MARKETINGBUSINESSThe 'amountOffOrder' value is invalid. For help, see the documentation for this call.
38253API_MARKETINGREQUESTThe data combination of 'DiscountSpecification' and 'DiscountBenefit' is not valid for this promotion type. For help, see the documentation for this call.
38255API_MARKETINGREQUESTThe promotion description exceeds the maximum length, which is {promoDescriptionLength}.
38256API_MARKETINGREQUESTThe promotion name exceeds the maximum length, which is {promoNameLength}.
38257API_MARKETINGREQUESTThis promotion type supports only one discount rule for the item promotion.
38260API_MARKETINGREQUESTTo update the start date of a promotion, the promotion must be in draft or scheduled state.
38261API_MARKETINGREQUESTPromotions are currently limited to a maximum of {maxListingInclLimit} parent items, when entering item IDs or choosing from live inventory.
38262API_MARKETINGREQUESTYou can only include up to {maxSkuInclLimit} SKUs or custom labels in inventoryItems.
38265API_MARKETINGREQUESTNumber of discount items is greater than the quantity specified in 'DiscountSpecification'.
38266API_MARKETINGBUSINESSThe 'discountBenefit' value cannot exceed {maxDiscPercent}% of the 'discountSpecification.maxAmount' value.
38267API_MARKETINGREQUESTThe 'DiscountBenefit.amountOffOrder' field cannot be used with the 'DiscountSpecification.numberOfDiscountedItems' field. This parameter is reserved for Buy x, Get x discounts. For help, see the documentation for this call.
38268API_MARKETINGBUSINESSThe 'discountBenefit' value cannot exceed {maxDiscPercent}% of the 'discountSpecification'.
38269API_MARKETINGREQUESTThe promotion ID does not match any of the seller's promotions.
38270API_MARKETINGREQUESTThe currency type does not match what is used for the Marketplace ID submitted.
38271API_MARKETINGREQUESTOnly new or scheduled promotions can be saved as a draft.
345077API_MARKETINGREQUESTYou cannot update a promotion that was not created through the API.
345110API_MARKETINGREQUESTYou can specify only one of Inventory Items, Listing IDs or Rules in the Inventory Criterion.
345111API_MARKETINGREQUESTYou cannot specify Rules when using the Inventory by Value Criterion.
345114API_MARKETINGREQUESTA Category scope is required for the Rule. Please refer to API documentation for allowed values.
345115API_MARKETINGREQUESTAt least one Category is required. Please provide a valid input for this field and try again.
345116API_MARKETINGREQUESTYou can specify only Marketplace categories or Store categories when creating Rules.
345118API_MARKETINGREQUESTYou can specify only one of Inventory Items or Listing IDs in the Exclusion Criterion.
345120API_MARKETINGREQUESTInvalid Item condition. Please refer to API documentation for allowed values.
345121API_MARKETINGREQUESTYou cannot specify Rules or inventory items when using the Inventory by ALL Criterion.
345122API_MARKETINGREQUESTcategory ids cannot be specified with the inventory of type any.
345123API_MARKETINGREQUESTbrands cannot be specified with inventory of type any or Store.
345124API_MARKETINGREQUESTExclusions are currently limited to a maximum of 100 parent items, when entering Inventory Items or Listing IDs, or choosing from live inventory.
345125API_MARKETINGREQUESTYou cannot specify a child Marketplace Category ID when the parent Marketplace Category ID is already specified. Please refer to the API documentation to source allowed values.
345126API_MARKETINGREQUESTYou cannot specify a child Store Category ID when the parent Store Category ID is already specified. Please refer to the API documentation to source allowed values.
345127API_MARKETINGREQUESTCategory aspects are not supported in this version.
345128API_MARKETINGREQUESTThe minimum discount rules required for volume discount promotions are {numOfDiscountRules}
345129API_MARKETINGREQUESTThe 'discountRules.ruleOrder' is missing or invalid for one of the discount rules for volume discount promotions. see the documentation for this call.
345130API_MARKETINGREQUESTYou can include up to a maximum of {numOfDiscountRules} discount rules in a volume discount promotion.
345131API_MARKETINGREQUESTEach 'minQuantity' value should be one greater than the 'minQuantity' value of the previous discount rule.
345132API_MARKETINGREQUESTThe discount value is invalid for one of the discount rules for volume discount promotions. see the documentation for this call.
345133API_MARKETINGREQUESTEach 'percentageOffOrder' or 'amountOffOrder' value should be greater than the 'percentageOffOrder' or 'amountOffOrder' value of the previous discount rule for volume discount promotions.
345134API_MARKETINGREQUESTThis promotionType is currently not supported. For help, see the documentation for this call.
345135API_MARKETINGREQUESTYou cannot update the promotion type for a promotion.
345136API_MARKETINGREQUESTThe 'discountBenefit' specified is not supported for this promotion Type. For help, see the documentation for this call.
345137API_MARKETINGREQUESTThe 'couponCode' value is invalid. For help, see the documentation for this call.
345138API_MARKETINGREQUESTYou cannot update the 'couponCode' for an active or paused promotion.
345139API_MARKETINGREQUESTThe 'couponType' data is invalid. For help, see the documentation for this call.
345140API_MARKETINGREQUESTYou cannot update the 'couponType' for an active or paused promotion.
345141API_MARKETINGREQUESTThe 'maxCouponRedemptionPerUser' value is invalid. For help, see the documentation for this call.
345142API_MARKETINGREQUESTYou cannot update the 'maxCouponRedemptionPerUser' for an active or paused promotion.
345143API_MARKETINGREQUESTThe 'maxDiscountAmount' value is invalid. For help, see the documentation for this call.
345144API_MARKETINGREQUESTYou cannot update the 'maxDiscountAmount' for an active or paused promotion.
345145API_MARKETINGREQUESTYou cannot apply a 'budget' to an active or paused promotion. For help, see the documentation for this call.
345146API_MARKETINGREQUESTThe 'budget' value is invalid. For help, see the documentation for this call.
345147API_MARKETINGREQUESTThe 'budget' value cannot be decreased. For help, see the documentation for this call.
345148API_MARKETINGREQUESTA coupon with this 'couponCode' already exists. Please try a different 'couponCode'.
345149API_MARKETINGREQUESTThe 'currency' for 'maxDiscountAmount' and 'budget' has to be same. For help, see the documentation for this call.
345150API_MARKETINGREQUEST'promotionType' CODED_COUPON is currently not supported for this Marketplace ID. For help, see the documentation for this call.
345151API_MARKETINGREQUESTThe 'discountBenefit' value cannot exceed the 'maxDiscountAmount' value.

Warnings

For more on warnings, plus the codes of other common warnings, see Handling errors.

CodeDomainCategoryMeaning
38226API_MARKETINGREQUESTThe listing ID must be numeric if you're using listingIds.
38227API_MARKETINGREQUESTThe listing ID is invalid.
38263API_MARKETINGREQUESTThe SKU or custom label used in inventoryReferenceId exceeds the maximum length, which is {skuLength}.
38272API_MARKETINGBUSINESSThis listing is not eligible for a promotion because it's an auction-style listing.
38273API_MARKETINGBUSINESSThis listing is not eligible for a promotion because it's a minimum advertised price (MAP) listing.
38274API_MARKETINGBUSINESSYou haven't included electronic payment method as a payment method. In order to make this listing eligible, update it to include electronic payment method .
38275API_MARKETINGBUSINESSThis SKU used in inventoryReferenceId matches an item that is part of a listing with variations. This SKU is only eligible if you add all of the listing variations. To add this listing, use the parent, or main, SKU (custom label).
345112API_MARKETINGREQUESTInvalid Store category. Please refer to API documentation to source allowed values.
345113API_MARKETINGREQUESTInvalid marketplace category ID. Please refer to API documentation for the supported values.
345137API_MARKETINGREQUEST'priority' can not be set for this promotion type. For help, see the documentation for this call.
345138API_MARKETINGREQUEST'description' can not be set for this promotion type. For help, see the documentation for this call.
345139API_MARKETINGREQUEST'applyDiscountToSingleItemOnly' can not be set for this promotion type. For help, see the documentation for this call.
345140API_MARKETINGREQUEST'promotionImageUrl' can not be set for this promotion type. For help, see the documentation for this call.
345142API_MARKETINGREQUEST'applyDiscountToSingleItemOnly' is currently not supported for this Marketplace ID. For help, see the documentation for this call.
345143API_MARKETINGREQUEST'couponType' can not be set for this promotion type. For help, see the documentation for this call.
345144API_MARKETINGREQUEST'maxCouponRedemptionPerUser' can not be set for this promotion type. For help, see the documentation for this call.
345145API_MARKETINGREQUEST'maxDiscountAmount' can not be set for this promotion type. For help, see the documentation for this call.
345146API_MARKETINGREQUEST'budget' can not be set for this promotion type. For help, see the documentation for this call.
345147API_MARKETINGREQUEST'couponCode' can not be set for this promotion type. For help, see the documentation for this call.

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: Update a Promotion

This sample changes the priority and description of a scheduled promotion.

Input

The input to this call is a the full promotion as it was originally posted, plus any fields containing changed values. This sample updates both the priority and description fields. Use the getItemPromotion call to retrieve the details of the original and updated promotion.
PUT
https://api.ebay.com/sell/marketing/v1/item_promotion/1********5

Output

A successful call returns the HTTP status code 204 No content, which indicates the promotion was updated as specified.