Skip to main content

PUT/item_promotion/{promotion_id}

Note: As of July 8th 2024, promotions are now being referred to as discounts on Seller Hub and eBay help pages. Sell Marketing API documentation has been updated to reflect this product name change, but note that no API interface changes have been made.
This method updates the specified threshold discount with the new configuration that you supply in the request. Indicate the discount you want to update using the promotion_id path parameter.

Call getPromotions to retrieve the IDs of a seller's discounts.

When updating a discount, supply all the fields that you used to configure the original discount (and not just the fields you are updating). eBay replaces the specified discount 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 discount you're updating:

  • DRAFT or SCHEDULED discounts: You can update any of the parameters in these discounts that have not yet started to run, including the discountRules.
  • RUNNING or PAUSED discounts: You can change the endDate and the item's inventory but you cannot change the discount or the start date.
  • ENDED discounts: Nothing can be changed.

Tip: When updating a RUNNING or PAUSED discount, set the status field to SCHEDULED for the update request. When the discount is updated, the previous status (either RUNNING or PAUSED) is retained.

Input

Resource URI

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

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

ParameterTypeDescription
promotion_idstringThis path parameter takes a concatenation of the ID of the discount you want to update plus the marketplace ID on which the discount is hosted. Concatenate the two values by separating them with an "at sign" (@).

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

Use the getPromotions method to retrieve promotion Ids. See MarketplaceIdEnum for supported Marketplace ID values.

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.

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.

HeaderTypeDescription
Content-TypestringThis 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.marketing

See OAuth access tokens for more information.

Request payload

Copy complete valid JSON to clipboard
{ /* ItemPromotion */
"name" : "string",
}

Request fields

Input container/fieldTypeDescription
applyDiscountToSingleItemOnlyboolean

This flag is relevant in only when promotionType is set to VOLUME_DISCOUNT. For details on volume pricing discounts, see Configuring volume pricing discounts.

If set to true, the discount is applied only when the buyer purchases multiple quantities of a single item that is being discounted. Otherwise, the discount applies to multiple quantities of any the items being discounted. 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 discount.

Occurrence: Optional

budgetAmount

This sets the budget for the CODED_COUPON discount 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 discount can not be decreased.

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

Occurrence: Optional

budget.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

budget.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

couponConfigurationCouponConfiguration

The configuration of a coded coupon discount.

Occurrence: Conditional

couponConfiguration.couponCodestring

A 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 discount type is CODED_COUPON.

Occurrence: Conditional

couponConfiguration.couponTypeCouponTypeEnum

This indicates the type of Coded Coupon discount, and is required when the discount 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.maxCouponRedemptionPerUserinteger

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.

Occurrence: Optional

descriptionstring

This 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 discount and is displayed on the offer tile that's shown on the seller's All Offers page, and on the event page for the discount.

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 discounts (and not valid for VOLUME_DISCOUNT discounts).

Occurrence: Conditional

discountRulesarray of DiscountRule

This container defines a discount 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 discount 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 discounts for information and examples on how to combine discountBenefit and discountSpecification to create different types of discounts.

Occurrence: Required

discountRules.discountBenefitDiscountBenefit

This container defines the discount as either a monetary amount or a percentage of the sales price.

Note: When configuring discount 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 threshold discounts for information and examples on how to combine discountBenefit and discountSpecification to create different types of discounts.

Occurrence: Required

discountRules.discountBenefit.amountOffItemAmount

The monetary amount that is discounted off an item (or items) when the discount criteria is met.

For threshold discounts, 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 discounts, 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.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

discountRules.discountBenefit.amountOffItem.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountBenefit.amountOffOrderAmount

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

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

The 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

Occurrence: Conditional

discountRules.discountBenefit.amountOffOrder.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountBenefit.percentageOffItemstring

The percentage applied to the sales price that is discounted off the discounted item (or items) when the discount criteria is met.

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

Occurrence: Optional

discountRules.discountBenefit.percentageOffOrderstring

Used for threshold discounts, this is the percentage of the order price that is discounted off the order when the discount criteria is met. This field is not value for markdown discounts.

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

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

Occurrence: Optional

discountRules.discountSpecificationDiscountSpecification

This container defines the criteria for when the discounts trigger, such as the minimum quantity that the buyer must purchase before the discount kicks in. The 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 discounts, 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 threshold discounts for information and examples on how to combine discountBenefit and discountSpecification to create different types of discounts.

Occurrence: Required

discountRules.discountSpecification.forEachAmountAmount

The monetary amount that must be spent on discounted items before the 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.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

discountRules.discountSpecification.forEachAmount.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountSpecification.forEachQuantityinteger

The 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.minAmountAmount

Known as the "threshold amount", the minimum dollar amount that needs to be spent on discounted items in order to qualify for the 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.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

discountRules.discountSpecification.minAmount.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.discountSpecification.minQuantityinteger

The minimum quantity of discounted items that needs to be bought 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.numberOfDiscountedItemsinteger

Use this field to configure "Buy One Get One" (or BOGO) discounts.

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

The value of this field represents the number of items to be discounted when other discount 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.maxDiscountAmountAmount

The limit on how much a buyer can save using a CODED_COUPON discount 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.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

discountRules.maxDiscountAmount.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

discountRules.ruleOrderinteger

This 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 discount.

Occurrence: Conditional

endDatestring

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

Occurrence: Required

inventoryCriterionInventoryCriterion

A container that defines either the listing IDs or the selection rules that specify the items to be discounted. 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 Discounts Manager discounts must support an electronic payment method.

Occurrence: Required

inventoryCriterion.inventoryCriterionTypeInventoryCriterionEnum

Indicates how the items to be discounted are selected. You can include inventory by ID, using rules, or globally include all your inventory.

Occurrence: Required

inventoryCriterion.inventoryItemsarray of InventoryItem

An array of containers for the seller's inventory reference IDs (also known as an "SKU" or "custom label") to be added to the discount.

Note: The request can have either inventoryItems or listingIds, but not both.


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

The unique identifier of a single-item listing or a multi-variation listing.

To create an ad for a single-item listing, set the inventoryReferenceType value to INVENTORY_ITEM and specify and item ID or a SKU (if the SKU is defined in the listing)

To create an ad for a multi-variation listing, set the inventoryReferenceType value to INVENTORY_ITEM_GROUP and specify the item ID for the multi-variation listing or the inventoryitemGroupKey value as defined in the Inventory API.

Occurrence: Optional

inventoryCriterion.inventoryItems.inventoryReferenceTypeInventoryReferenceTypeEnum

Indicates the type of the inventoryReferenceId, which can be either INVENTORY_ITEM or INVENTORY_ITEM_GROUP.

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

Occurrence: Optional

inventoryCriterion.listingIdsarray of string

An array of eBay listing IDs to be discounted.

Note: The request can have either inventoryItems or listingIds, but not both.


Required: All listings being discounted 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.ruleCriteriaRuleCriteria

This container defines a set of inventory selection rules for a discount.

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 InventoryItem

A list of seller inventory reference IDs to exclude from the discount.

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

The unique identifier of a single-item listing or a multi-variation listing.

To create an ad for a single-item listing, set the inventoryReferenceType value to INVENTORY_ITEM and specify and item ID or a SKU (if the SKU is defined in the listing)

To create an ad for a multi-variation listing, set the inventoryReferenceType value to INVENTORY_ITEM_GROUP and specify the item ID for the multi-variation listing or the inventoryitemGroupKey value as defined in the Inventory API.

Occurrence: Optional

inventoryCriterion.ruleCriteria.excludeInventoryItems.inventoryReferenceTypeInventoryReferenceTypeEnum

Indicates the type of the inventoryReferenceId, which can be either INVENTORY_ITEM or INVENTORY_ITEM_GROUP.

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

Occurrence: Optional

inventoryCriterion.ruleCriteria.excludeListingIdsarray of string

A list of eBay listing IDs to exclude from the discount.

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 InventoryItem

A list of SKUs to remove from a markdown discount. The listed SKUs are 'marked up' to their standard price after being part of the markdown discount.

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupInventoryItems.inventoryReferenceIdstring

The unique identifier of a single-item listing or a multi-variation listing.

To create an ad for a single-item listing, set the inventoryReferenceType value to INVENTORY_ITEM and specify and item ID or a SKU (if the SKU is defined in the listing)

To create an ad for a multi-variation listing, set the inventoryReferenceType value to INVENTORY_ITEM_GROUP and specify the item ID for the multi-variation listing or the inventoryitemGroupKey value as defined in the Inventory API.

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupInventoryItems.inventoryReferenceTypeInventoryReferenceTypeEnum

Indicates the type of the inventoryReferenceId, which can be either INVENTORY_ITEM or INVENTORY_ITEM_GROUP.

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

Occurrence: Optional

inventoryCriterion.ruleCriteria.markupListingIdsarray of string

A list of listing IDs to remove from a markdown discount. The listed items are 'marked up' to their standard price after being part of the markdown discount.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRulesarray of SelectionRule

The container for the rules that select the items to be discounted.

Required if inventoryCriterionType is set to INVENTORY_BY_RULE.

For information on using the contained fields, see Item discounts.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.brandsarray of string

An array of product brands. For more details, see Using the selectionRules container.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.categoryIdsarray of string

This field contains an array of the associated category ID(s).

For Item discounts, a single-item array containing the category ID associated with the discounts. Required when used in an Item discount and either specifying a selectionRules container or when inventoryCriterionType is set to INVENTORY_BY_RULE.

For Promoted Listing campaigns, an array of category ID(s) associated with the campaign.

For information on how to get category IDs, see eBay Marketplace category IDs and Seller store category IDs

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.categoryScopeCategoryScopeEnum

This enumerated value indicates if the category ID for the item is an identifier for eBay categories or for a seller's eBay store categories.

For Promoted Listing campaigns, this field includes the type of the category ID for the item(s) to be included in the campaign.

For Item discounts, this field identifies the scope for the corresponding array as eBay categories or for a seller's eBay store categories. Required when used in an Item discount and inventoryCriterionType is set to INVENTORY_BY_RULE.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.listingConditionIdsarray of string

A comma-separated list of unique identifiers for the conditions of listings to be included

For Promoted Listing campaigns, refer to Add items to the campaign. Up to four IDs can be specified.

For Item discounts, refer to Item condition ID and name values.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.maxPriceAmount

This container sets the maximum price threshold. For more details, see Using the selectionRules container.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.maxPrice.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.maxPrice.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.minPriceAmount

This container sets the minimum price threshold. For more details, see Using the selectionRules container.

Occurrence: Optional

inventoryCriterion.ruleCriteria.selectionRules.minPrice.currencyCurrencyCodeEnum

The 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

Occurrence: Conditional

inventoryCriterion.ruleCriteria.selectionRules.minPrice.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

marketplaceIdMarketplaceIdEnum

The eBay marketplace ID of the site where the threshold discount is hosted. Threshold discounts 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

namestring

The seller-defined name or "title" of the discount that the seller can use to identify a discounts. This label is not displayed in end-user flows.

Maximum length: 90

Occurrence: Required

priorityPromotionPriorityEnum

Applicable for only ORDER_DISCOUNT discounts, this field indicates the precedence of the discounts, which is used to determine the position of a discount on the seller's All Offers page. If an item is associated with multiple discounts, the discount with the higher priority takes precedence.

Occurrence: Optional

promotionImageUrlstring

Required for CODED_COUPON, MARKDOWN_SALE, and ORDER_DISCOUNT discounts, and not valid for VOLUME_DISCOUNT discounts.

Populate this field with a URL that points to an image to be used with the discount. 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

promotionStatusPromotionStatusEnum

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

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

Occurrence: Required

promotionTypePromotionTypeEnum

Use this field to specify the type of the discount you are creating.

The supported types are:

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

See the Discounts Manager documentation for details.

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

Occurrence: Conditional

startDatestring

The date and time the discount 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

This call has no response headers.

Response payload

Response fields

Output container/fieldTypeDescription
warningsarray of ErrorDetailV3

The 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.categorystring

The category type for this error or warning. It takes an ErrorCategory object which 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 item 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.domainstring

Name of the domain containing the service or application.

Occurrence: Conditional

warnings.errorIdinteger

A 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 string

Identifies specific request elements associated with the error, if any. inputRefId's response is format specific. For JSON, use JSONPath notation.

Occurrence: Conditional

warnings.longMessagestring

An expanded version of message that should be around 100-200 characters long, but is not required to be such.

Occurrence: Conditional

warnings.messagestring

An end user and app developer friendly device agnostic message. It explains what the error or warning is, and how to fix it (in a general sense). Its value is at most 50 characters long. If applicable, the value is localized in the end user's requested locale.

Occurrence: Conditional

warnings.outputRefIdsarray of string

Identifies specific response elements associated with the error, if any. Path format is the same as inputRefId.

Occurrence: Conditional

warnings.parametersarray of ErrorParameterV3

This optional complex field type contains a list of one or more context-specific ErrorParameter objects, with each item in the list entry being a parameter (or input field name) that caused an error condition. Each ErrorParameter object consists of two fields, a name and a value.

Occurrence: Conditional

warnings.parameters.namestring

Name of the entity that threw the error.

Occurrence: Conditional

warnings.parameters.valuestring

A description of the error.

Occurrence: Conditional

warnings.subdomainstring

Name of the domain's subsystem or subdivision. For example, checkout is a subdomain in the buying domain.

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
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 discount

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

Input

The input to this call is a the full discount 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 discount.

PUThttps://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 discount was updated as specified.