POST/item_price_markdown
This method creates an item price markdown promotion (know simply as a "markdown promotion") where a discount amount is applied directly to the items included the promotion. Discounts can be specified as either a monetary amount or a percentage off the standard sales price. eBay highlights promoted items by placing teasers for the items throughout the online sales flows.
Unlike an item promotion, a markdown promotion does not require the buyer meet a "threshold" before the offer takes effect. With markdown promotions, all the buyer needs to do is purchase the item to receive the promotion benefit.
Important: There are some restrictions for which listings are available for price markdown promotions. For details, see Promotions Manager requirements and restrictions.
In addition, we recommend you list items at competitive prices before including them in your markdown promotions. For an extensive list of pricing recommendations, see the Growth tab in Seller Hub.
There are two ways to add items to markdown promotions:
- Key-based promotions select items using either the listing IDs or inventory reference IDs of the items you want to promote. Note that if you use inventory reference IDs, you must specify both the inventoryReferenceId and the associated inventoryReferenceType of the item(s) you want to include the promotion.
- Rule-based promotions select items using a list of eBay category IDs or seller Store category IDs. Rules can further constrain items in a promotion by minimum and maximum prices, brands, and item conditions.
New promotions must be created in either a DRAFT
or a SCHEDULED
state. Use the DRAFT state when you are initially creating a promotion and you want to be sure it's correctly configured before scheduling it to run. When you create a promotion, the promotion ID is returned in the Location response header. Use this ID to reference the promotion in subsequent requests (such as to schedule a promotion that's in a DRAFT state).
Tip: Refer to Promotions Manager in the Selling Integration Guide for details and examples showing how to create and manage seller promotions.
Markdown promotions are available on all eBay marketplaces. For more information, see Promotions Manager requirements and restrictions.
Input
Resource URI
This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com
root URI with api.sandbox.ebay.com
URI parameters
This method has no URI parameters.
HTTP request headers
All requests made to eBay REST operations require you to provide the Authorization
HTTP header for authentication authorization.
The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.
Header | Type | Description |
---|---|---|
Content-Type | string | This header indicates the format of the request body provided by the client. Its value should be set to application/json. For more information, refer to HTTP request headers. Occurrence: Required |
OAuth scope
This request requires an access token created with the client credentials 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 clipboardRequest fields
Input container/field | Type | Description |
---|---|---|
applyFreeShipping | boolean | If set to Occurrence: Optional |
autoSelectFutureInventory | boolean | If set to Occurrence: Optional |
blockPriceIncreaseInItemRevision | boolean | If set to Occurrence: Optional |
description | string | This field is required if you are configuring an MARKDOWN_SALE 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. This text is not editable by the seller—it's derived from the settings in the discountRules and discountSpecification fields—and can be, for example, "20% off". Maximum length: 50 Occurrence: Required |
endDate | string | The date and time the promotion ends, in UTC format (
Occurrence: Required |
marketplaceId | MarketplaceIdEnum | The eBay marketplace ID of the site where the markdown promotion is hosted. Markdown promotions are supported on all eBay marketplaces. Occurrence: Required |
name | string | The seller-defined name or 'title' of the promotion that the seller can use to identify a promotion. This label is not displayed in end-user flows. Occurrence: Required |
priority | PromotionPriorityEnum | This field is ignored in markdown promotions. Occurrence: Optional |
promotionImageUrl | string | Required for CODED_COUPON, MARKDOWN_SALE, and ORDER_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 |
promotionStatus | PromotionStatusEnum | The current status of the promotion. When creating a new promotion, you must set this value to either Occurrence: Required |
selectedInventoryDiscounts | array of SelectedInventoryDiscount | A list that defines the sets of selected items for the markdown promotion and the discount specified for promotion. Occurrence: Required |
selectedInventoryDiscounts.discountBenefit | DiscountBenefit | This container defines the promotional discount as either a monetary amount or a percentage applied to the sales price. Occurrence: Required |
selectedInventoryDiscounts.discountBenefit.amountOffItem | Amount | The monetary amount that is discounted off an item (or items) when the promotion criteria is met.
Occurrence: Optional |
selectedInventoryDiscounts.discountBenefit.amountOffItem.currency | CurrencyCodeEnum | The base currency applied to the value field to establish a monetary amount. Occurrence: Conditional |
selectedInventoryDiscounts.discountBenefit.amountOffItem.value | string | The monetary amount in the specified currency. Occurrence: Conditional |
selectedInventoryDiscounts.discountBenefit.amountOffOrder | Amount | Used 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. Occurrence: Optional |
selectedInventoryDiscounts.discountBenefit.amountOffOrder.currency | CurrencyCodeEnum | The base currency applied to the value field to establish a monetary amount. Occurrence: Conditional |
selectedInventoryDiscounts.discountBenefit.amountOffOrder.value | string | The monetary amount in the specified currency. Occurrence: Conditional |
selectedInventoryDiscounts.discountBenefit.percentageOffItem | string | The percentage applied to the sales price that is discounted off the promoted item (or items) when the promotion criteria is met. Occurrence: Optional |
selectedInventoryDiscounts.discountBenefit.percentageOffOrder | string | Used for threshold promotions, this is the percentage of the order price that is discounted off the order when the promotion criteria is met. This field is not value for markdown promotions. Occurrence: Optional |
selectedInventoryDiscounts.discountId | string | A unique, eBay-generated ID that you can use to identify the discount. This field is ignored in POST and PUT operations. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion | InventoryCriterion | A 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 |
selectedInventoryDiscounts.inventoryCriterion.inventoryCriterionType | InventoryCriterionEnum | Indicates how the items to include in the promotion are selected. You can include inventory by ID, using rules, or globally include all your inventory. Occurrence: Required |
selectedInventoryDiscounts.inventoryCriterion.inventoryItems | array 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 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 |
selectedInventoryDiscounts.inventoryCriterion.inventoryItems.inventoryReferenceId | string | The seller's inventory reference ID for a listing. Also known as the "SKU" or "custom label," an inventory reference ID is either the ID of the listing or, if the listing has variations (such as a shirt that's available in multiple sizes and colors), the ID of the parent listing. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.inventoryItems.inventoryReferenceType | InventoryReferenceTypeEnum | Indicates the type of the inventoryReferenceId, which can be either a single-SKU or a multi-SKU listing ( Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.listingIds | array of string | An array of eBay listing IDs to be added to the promotion. Note: The request can have either inventoryItems or listingIds, but not both. Required: All listings in a promotion must offer an electronic payment method. Maximum: 500 parent items Maximum SKU or custom label length: 50 characters Required if InventoryCriterionType is set to INVENTORY_BY_VALUE , you must specify either inventoryItems or listingIds. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria | RuleCriteria | This container defines a set of inventory selection rules for a promotion. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.excludeInventoryItems | array of InventoryItem | A list of seller inventory reference IDs to exclude from the promotion. Note: The request can have either excludeInventoryItems or excludeListingIds but not both. Maximum: 100 parent itemsMaximum SKU or custom label length: 50 characters Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.excludeInventoryItems.inventoryReferenceId | string | The seller's inventory reference ID for a listing. Also known as the "SKU" or "custom label," an inventory reference ID is either the ID of the listing or, if the listing has variations (such as a shirt that's available in multiple sizes and colors), the ID of the parent listing. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.excludeInventoryItems.inventoryReferenceType | InventoryReferenceTypeEnum | Indicates the type of the inventoryReferenceId, which can be either a single-SKU or a multi-SKU listing ( Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.excludeListingIds | array of string | A list of eBay listing IDs to exclude from the promotion. Note: The request can have either excludeInventoryItems or excludeListingIds but not both. Maximum: 100 parent itemsMaximum SKU or custom label length: 50 characters Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.markupInventoryItems | array of InventoryItem | A list of SKUs to remove from a markdown promotion. The listed SKUs are 'marked up' to their standard price after being part of the markdown promotion. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.markupInventoryItems.inventoryReferenceId | string | The seller's inventory reference ID for a listing. Also known as the "SKU" or "custom label," an inventory reference ID is either the ID of the listing or, if the listing has variations (such as a shirt that's available in multiple sizes and colors), the ID of the parent listing. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.markupInventoryItems.inventoryReferenceType | InventoryReferenceTypeEnum | Indicates the type of the inventoryReferenceId, which can be either a single-SKU or a multi-SKU listing ( Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.markupListingIds | array of string | A list of listing IDs to remove from a markdown promotion. The listed items are 'marked up' to their standard price after being part of the markdown promotion. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules | array of SelectionRule | The container for the rules that select the items to include in a promotion. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.brands | array of string | An array of product brands. For more details, see Using the selectionRules container. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.categoryIds | array of string | This field contains an array of the associated category ID(s). Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.categoryScope | CategoryScopeEnum | 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. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.listingConditionIds | array of string | A comma-separated list of unique identifiers for the conditions of listings to be included Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.maxPrice | Amount | This container sets the maximum price threshold. For more details, see Using the selectionRules container. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.maxPrice.currency | CurrencyCodeEnum | The base currency applied to the value field to establish a monetary amount. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.maxPrice.value | string | The monetary amount in the specified currency. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.minPrice | Amount | This container sets the minimum price threshold. For more details, see Using the selectionRules container. Occurrence: Optional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.minPrice.currency | CurrencyCodeEnum | The base currency applied to the value field to establish a monetary amount. Occurrence: Conditional |
selectedInventoryDiscounts.inventoryCriterion.ruleCriteria.selectionRules.minPrice.value | string | The monetary amount in the specified currency. Occurrence: Conditional |
selectedInventoryDiscounts.ruleOrder | integer | For markdown promotions, this field is reserved for future use. Occurrence: Optional |
startDate | string | The date and time the promotion starts in UTC format ( Occurrence: Required |
Output
HTTP response headers
See HTTP response headers for details.
Header | Meaning |
---|---|
Location | The location response header contains the URL to the newly created item price markdown promotion. The URL includes the eBay-assigned promotionId , which you can use to reference the promotion. |
Response payload
This call has no payload.
Response fields
This call has no field definitions.
HTTP status codes
This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.
Status | Meaning |
---|---|
201 | Created |
400 | Bad Request |
409 | Business Error |
500 | Internal Server Error |
Error codes
For more on errors, plus the codes of other common errors, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
38201 | API_MARKETING | APPLICATION | Internal server error encountered. If this problem persists, contact the eBay Developers Program for support. |
38204 | API_MARKETING | REQUEST | The 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. |
38218 | API_MARKETING | REQUEST | A valid entry is required for {fieldName}. |
38219 | API_MARKETING | REQUEST | The start date and time must be earlier than the end date and time. |
38220 | API_MARKETING | REQUEST | The end date and time must be later than the current date and time. |
38228 | API_MARKETING | REQUEST | The amount value of '{fieldName}' contains decimals, only integers are supported. |
38229 | API_MARKETING | REQUEST | The start date and time should be later than the current date and time. |
38234 | API_MARKETING | REQUEST | HTML is not allowed in the '{fieldName}' field. |
38235 | API_MARKETING | REQUEST | Invalid input for the '{fieldName}' field. For help, see the documentation for this call. |
38238 | API_MARKETING | REQUEST | The 'discountBenefit' data is missing, which is required by this call. For help, see the documentation for this call. |
38240 | API_MARKETING | REQUEST | Invalid input for the 'promotionStatus' field. For help, see the documentation for this call. |
38242 | API_MARKETING | REQUEST | The request can have only one of these fields: 'inventoryCriterion.inventoryItems' or 'inventoryCriterion.listingIds'. |
38248 | API_MARKETING | BUSINESS | The 'percentOffItem' value is invalid. For help, see the documentation for this call. |
38250 | API_MARKETING | BUSINESS | The 'amountOffItem' value is invalid. For help, see the documentation for this call. |
38255 | API_MARKETING | REQUEST | The promotion description exceeds the maximum length, which is {promoDescriptionLength}. |
38256 | API_MARKETING | REQUEST | The promotion name exceeds the maximum length, which is {promoNameLength}. |
38261 | API_MARKETING | REQUEST | Promotions are currently limited to a maximum of {maxListingInclLimit} parent items, when entering item IDs or choosing from live inventory. |
38262 | API_MARKETING | REQUEST | You can only include up to {maxSkuInclLimit} SKUs or custom labels in inventoryItems. |
38270 | API_MARKETING | REQUEST | The currency type does not match what is used for the Marketplace ID submitted. |
345056 | API_MARKETING | REQUEST | The request can have only one of these field types: 'inventoryItems' or 'listingIds'. |
345057 | API_MARKETING | REQUEST | The request can have only one of these fields: 'percentageOffItem', or 'amountOffItem' in 'discountBenefit'. For help, see the documentation for this call. |
345058 | API_MARKETING | REQUEST | When using multiple selectedInventoryDiscounts containers, each must have a unique percentageoffitems value. For help, see the documentation for this call. |
345059 | API_MARKETING | REQUEST | If using percentageoffitems you can have between 1 and 10 selectedInventoryDiscounts containers. For help, see the documentation for this call. |
345060 | API_MARKETING | REQUEST | If using amountoffitems you can only have selectedInventoryDiscounts container. For help, see the documentation for this call. |
345061 | API_MARKETING | REQUEST | The discount ID value is a read only value. |
345063 | API_MARKETING | REQUEST | Priority is not supported for the item_price_markdown calls. |
345110 | API_MARKETING | REQUEST | You can specify only one of Inventory Items, Listing IDs or Rules in the Inventory Criterion. |
345111 | API_MARKETING | REQUEST | You cannot specify Rules when using the Inventory by Value Criterion. |
345114 | API_MARKETING | REQUEST | A Category scope is required for the Rule. Please refer to API documentation for allowed values. |
345115 | API_MARKETING | REQUEST | At least one Category is required. Please provide a valid input for this field and try again. |
345116 | API_MARKETING | REQUEST | You can specify only Marketplace categories or Store categories when creating Rules. |
345120 | API_MARKETING | REQUEST | Invalid Item condition. Please refer to API documentation for allowed values. |
345121 | API_MARKETING | REQUEST | You can specify only one of Inventory Items or Listing IDs in the Exclusion Criterion. |
345122 | API_MARKETING | REQUEST | category ids cannot be specified with the inventory of type any. |
345123 | API_MARKETING | REQUEST | brands cannot be specified with inventory of type any or Store. |
345125 | API_MARKETING | REQUEST | You 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. |
345126 | API_MARKETING | REQUEST | You 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. |
Warnings
For more on warnings, plus the codes of other common warnings, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
38226 | API_MARKETING | REQUEST | The listing ID must be numeric if you're using listingIds. |
38227 | API_MARKETING | REQUEST | The listing ID is invalid. |
38263 | API_MARKETING | REQUEST | The SKU or custom label used in inventoryReferenceId exceeds the maximum length, which is {skuLength}. |
38272 | API_MARKETING | BUSINESS | This listing is not eligible for a promotion because it's an auction-style listing. |
38273 | API_MARKETING | BUSINESS | This listing is not eligible for a promotion because it's a minimum advertised price (MAP) listing. |
38274 | API_MARKETING | BUSINESS | You haven't included electronic payment method as a payment method. In order to make this listing eligible, update it to include electronic payment method. |
38275 | API_MARKETING | BUSINESS | This SKU used in inventoryReferenceId matches an item that is part of a listing with variations. This SKU is only eligible if we add all of the listing variations. To add this listing, use the parent, or main, SKU (custom label). |
345112 | API_MARKETING | REQUEST | Invalid Store category. Please refer to API documentation to source allowed values. |
345113 | API_MARKETING | REQUEST | Invalid marketplace category ID. Please refer to API documentation for the supported values. |
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: Create a markdown promotion
This sample creates a new markdown promotion. The items are selected via a selection criteria that specifies items by item ID or via a set of rules that selects the items to included in the promotion. This example does not specify any inventory criterion, but to avoid a null pointer exception, it adds rule criteria with null values. The seller can specify different rule criteria with null values, or non-null rule criteria.
Input
This request creates a new item price markdown promotion that reduces the selected inventory by $5.
POSThttps://api.ebay.com/sell/marketing/v1/item_price_markdown
Output
A successful call returns the HTTP status code 201 Created.
In addition, the response includes a location response header that contains the URI to the newly created promotion. This method has no response payload.