---
title: Marketing API
description: "The Marketing API supports three eBay marketing features - Promoted Listings, Discounts Manager, and Store Email Campaigns. Used separately or together, these three marketing features can increase views and sales of the seller's items. **Promoted Listings** is an eBay advertising service that increases the visibility of items included in a seller's ad campaigns. For more information on Promoted Listings, see the [Promoted Listings Playbook](/api-docs/sell/static/marketing/pl-landing.html). **Discounts manager** is a free service that gives sellers the ability to offer price discounts on their items. For more information on Discounts manager, see the [Discounts Manager](/api-docs/sell/static/marketing/promotions-manager.html) section of the Selling Integration Guide. **Email Store Campaigns** allow eBay store sellers to create and send email campaigns to subscribers, followers, and past customers who’ve signed up to receive newsletters from a seller’s store. For more information on email campaigns, see the [Store Email Campaigns](/api-docs/sell/static/marketing/store-email-campaigns.html) section of the Selling Integration Guide."
api_version: 1.0
api_name: marketing_api
api_type: REST
api_group: sell/marketing_api
source_url:
  html: https://developer.ebay.com/develop/api/sell/marketing_api
  md: https://developer.ebay.com/develop/api/sell/marketing_api.md
---

# Marketing API API

The Marketing API supports three eBay marketing features - Promoted Listings, Discounts Manager, and Store Email Campaigns. Used separately or together, these three marketing features can increase views and sales of the seller's items.

**Promoted Listings** is an eBay advertising service that increases the visibility of items included in a seller's ad campaigns. For more information on Promoted Listings, see the [Promoted Listings Playbook](/api-docs/sell/static/marketing/pl-landing.html).

**Discounts manager** is a free service that gives sellers the ability to offer price discounts on their items. For more information on Discounts manager, see the [Discounts Manager](/api-docs/sell/static/marketing/promotions-manager.html) section of the Selling Integration Guide.

**Email Store Campaigns** allow eBay store sellers to create and send email campaigns to subscribers, followers, and past customers who’ve signed up to receive newsletters from a seller’s store. For more information on email campaigns, see the [Store Email Campaigns](/api-docs/sell/static/marketing/store-email-campaigns.html) section of the Selling Integration Guide.

## API Methods

The following API methods are available:

### bulkCreateAdsByInventoryReference

#### POST /ad_campaign/{campaign_id}/bulk_create_ads_by_inventory_reference
**Description:** This method adds multiple listings that are managed with the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference") to an existing Promoted Listings campaign.  
  
For general strategy campaigns using the Cost Per Sale (CPS) model, bulk ads may be directly created for the listing.  
  
For each listing specified in the request, this method:  

*   Creates an ad for the listing.
*   Sets the bid percentage (also known as the _ad rate_) for the ads created.
*   Associates the ads created with the specified campaign.

  
To create ads for a listing, specify their **inventoryReferenceId** and **inventoryReferenceType**, plus the **bidPercentage** for the ad in the payload of the request. Specify the campaign to which you want to associate the ads using the **campaign\_id** path parameter.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.  
Use [createCampaign](/develop/api/sell/marketing_api#sell-marketing_api-campaign-createcampaign) to create a new campaign and use [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to get a list of existing campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to associated the ads being created.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkCreateAdsByListingId

#### POST /ad_campaign/{campaign_id}/bulk_create_ads_by_listing_id
**Description:** This method adds multiple listings to an existing Promoted Listings campaign using **listingId** values generated by the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference"), or using values generated by an ad group ID.

For general strategy campaigns using the Cost Per Sale (CPS) funding model, bulk ads may be directly created for the listing.

For each listing ID specified in the request, this method:

*   Creates an ad for the listing.
*   Sets the bid percentage (also known as the _ad rate_) for the ad.
*   Associates the ad with the specified campaign.

To create an ad for a listing, specify its **listingId**, plus the **bidPercentage** for the ad in the payload of the request. Specify the campaign to associate the ads with using the **campaign\_id** path parameter. Listing IDs are generated by eBay when a seller creates listings with the Trading API.

You can specify a maximum of **500 listings per call** and each campaign can have ads for a maximum of 50,000 items. Be aware when using this call that each variation in a multiple-variation listing creates an individual ad.

For manual targeting priority strategy campaigns using the Cost Per Click (CPC) funding model, an ad group must be created first. If no ad group has been created for the campaign, ads cannot be created.  
  
**Note:** Ad groups are not required when adding listings to a smart targeting campaign.

For the ad group specified in the request, this method associates the ad with the specified ad group.

To create an ad for an ad group, specify the name of the ad group plus the **defaultBid** for the ad in the payload of the request. Specify the campaign to associate the ads with using the **campaign\_id** path parameter. Ad groups are generated using the [createAdGroup](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-createadgroup) method.

You can specify one or more ad groups per campaign.

Use [createCampaign](/develop/api/sell/marketing_api#sell-marketing_api-campaign-createcampaign) to create a new campaign and use [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to get a list of existing campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to associated the ads being created.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkDeleteAdsByInventoryReference

#### POST /ad_campaign/{campaign_id}/bulk_delete_ads_by_inventory_reference
**Description:** This method works with listings created with the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference").  
  
The method deletes a set of ads, as specified by a list of inventory reference IDs, from the specified campaign. _Inventory reference IDs_ are seller-defined IDs that are used with the Inventory API.  
  
Pass the **campaign\_id** as a path parameter and populate the payload with a list of **inventoryReferenceId** and **inventoryReferenceType** pairs that you want to delete.  
  
Get the campaign IDs for a seller by calling [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to get a list of the seller's inventory reference IDs.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to delete a set of ads.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkDeleteAdsByListingId

#### POST /ad_campaign/{campaign_id}/bulk_delete_ads_by_listing_id
**Description:** This method works with listing IDs created with either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference").  
  
The method deletes a set of ads, as specified by a list of **listingID** values from a Promoted Listings campaign. A listing ID value is generated by eBay when a seller creates a listing with either the Trading API and Inventory API.  
  
Pass the **campaign\_id** as a path parameter and populate the payload with the set of listing IDs that you want to delete.  
  
Get the campaign IDs for a seller by calling [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to get a list of the seller's inventory reference IDs.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.  
When using the CPC funding model, use the [bulkUpdateAdsStatusByListingId](/develop/api/sell/marketing_api#sell-marketing_api-ad-bulkupdateadsbidbylistingid) method to change the status of ads to `ARCHIVED`.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the eBay-assigned identifier of the ad campaign for which to delete a set of ads.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkUpdateAdsBidByInventoryReference

#### POST /ad_campaign/{campaign_id}/bulk_update_ads_bid_by_inventory_reference
**Description:** This method works with listings created with either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference").

The method updates the **bidPercentage** values for a set of ads associated with the specified campaign.

Specify the **campaign\_id** as a path parameter and supply a set of listing IDs with their associated updated **bidPercentage** values in the request body. An eBay listing ID is generated when a listing is created with the Trading API.

Get the campaign IDs for a seller by calling [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to get a list of the seller's inventory reference IDs.

**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to update the bid percentage for a set of ads.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkUpdateAdsBidByListingId

#### POST /ad_campaign/{campaign_id}/bulk_update_ads_bid_by_listing_id
**Description:** This method works with listings created with either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference").

The method updates the **bidPercentage** values for a set of ads associated with the specified campaign.

Specify the **campaign\_id** as a path parameter and supply a set of listing IDs with their associated updated **bidPercentage** values in the request body. An eBay listing ID is generated when a listing is created with the Trading API.

Get the campaign IDs for a seller by calling [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to get a list of the seller's inventory reference IDs.

**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to update the bid percentage for a set of ads.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkUpdateAdsStatus

#### POST /ad_campaign/{campaign_id}/bulk_update_ads_status
**Description:** **Note:** This method is only available for select partners who have been approved for the priority strategy program. For information about how to request access to this program, refer to [Priority Strategy Access Requests](</api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests >) in the Promoted Listings Playbook. To determine if a seller qualifies for priority strategy, use the [getAdvertisingEligibility](</api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility >) method in Account API.  
This method works with listings created with either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html) or the [Inventory API](/api-docs/sell/inventory/resources/methods).  
  
This method updates the status of ads in bulk.  
  
Specify the **campaign\_id** you want to update as a URI parameter, and configure the **adGroupStatus** in the request payload.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ad statuses being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkUpdateAdsStatusByListingId

#### POST /ad_campaign/{campaign_id}/bulk_update_ads_status_by_listing_id
**Description:** The method updates the status of ads in bulk, based on listing ID values.  
  
Specify the **campaign\_id** as a path parameter and supply a set of listing IDs with their updated **adStatus** values in the request body. An eBay listing ID is generated when a listing is created with the Trading API.  
  
Get the campaign IDs for a seller by calling [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to retrieve a list of seller inventory reference IDs.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ads being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createAdByListingId

#### POST /ad_campaign/{campaign_id}/ad
**Description:** This method adds a listing to an existing Promoted Listings campaign using a **listingId** value generated by the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference"), or using a value generated by an ad group ID.

For general strategy campaigns using the Cost Per Sale (CPS) funding model, an ad may be directly created for the listing.

For the listing ID specified in the request, this method:

*   Creates an ad for the listing.
*   Sets the bid percentage (also known as the _ad rate_) for the ad.
*   Associates the ad with the specified campaign.

To create an ad for a listing, specify its **listingId**, plus the **bidPercentage** for the ad in the payload of the request. Specify the campaign to associate the ad with using the **campaign\_id** path parameter. Listing IDs are generated by eBay when a seller creates listings with the Trading API.

For manual targeting priority strategy campaigns using the Cost Per Click (CPC) funding model, an ad group must be created first. If no ad group has been created for the campaign, ads cannot be created.  
  
**Note:** Ad groups are not required when adding listings to a smart targeting campaign.

For the ad group specified in the request, this method associates the ad with the specified ad group.

To create an ad for an ad group, specify the name of the ad group in the payload of the request. Specify the campaign to associate the ads with using the **campaign\_id** path parameter. Ad groups are generated using the [createAdGroup](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-createadgroup) method.

You can specify one or more ad groups per campaign.

Use [createCampaign](/develop/api/sell/marketing_api#sell-marketing_api-campaign-createcampaign) to create a new campaign and use [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to get a list of existing campaigns.

This call has no response payload. If the ad is successfully created, a `201 Created` HTTP status code and the [getAd](/develop/api/sell/marketing_api#sell-marketing_api-ad-getad) URI of the ad are returned in the location header.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to associate the newly created ad.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createAdsByInventoryReference

#### POST /ad_campaign/{campaign_id}/create_ads_by_inventory_reference
**Description:** This method adds a listing that is managed with the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference") to an existing Promoted Listings campaign.  
  
For general strategy campaigns using the Cost Per Sale (CPS) funding model, an ad may be directly created for the listing.  
  
For each listing specified in the request, this method:  

*   Creates an ad for the listing.
*   Sets the bid percentage (also known as the _ad rate_) for the ads created.
*   Associates the created ad with the specified campaign.

  
To create an ad for a listing, specify its **inventoryReferenceId** and **inventoryReferenceType**, plus the **bidPercentage** for the ad in the payload of the request. Specify the campaign to associate the ad with using the **campaign\_id** path parameter.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.  
Use [createCampaign](/develop/api/sell/marketing_api#sell-marketing_api-campaign-createcampaign) to create a new campaign and use [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to get a list of existing campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to associate the newly created ads.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### deleteAd

#### DELETE /ad_campaign/{campaign_id}/ad/{ad_id}
**Description:** This method removes the specified ad from the specified campaign.  
  
Pass the ID of the ad to delete with the ID of the campaign associated with the ad as path parameters to the call.  
  
Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to get the current list of the seller's campaign IDs.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.  
When using the CPC funding model, use the [bulkUpdateAdsStatusByListingId](/develop/api/sell/marketing_api#sell-marketing_api-ad-bulkupdateadsstatusbylistingid) method to change the status of ads to `ARCHIVED`.
**Parameters:**
- **ad_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad being deleted.  
  
Use the [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) method to retrieve ad IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ad being deleted.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### deleteAdsByInventoryReference

#### POST /ad_campaign/{campaign_id}/delete_ads_by_inventory_reference
**Description:** This method works with listings that are managed with the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference").

The method deletes ads using a list of seller-defined inventory reference IDs, used with the Inventory API, that are associated with the specified campaign ID.

Specify the campaign ID (as a path parameter) and a list of **inventoryReferenceId** and **inventoryReferenceType** pairs to be deleted.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to get a list of the seller's current campaign IDs.

**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.  
When using the CPC funding model, use the bulkUpdateAdsStatusByInventoryReference method to change the status of ads to ARCHIVED.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ads being deleted.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### getAd

#### GET /ad_campaign/{campaign_id}/ad/{ad_id}
**Description:** This method retrieves the specified ad from the specified campaign.

In the request, supply the **campaign\_id** and **ad\_id** as path parameters.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a list of the seller's current campaign IDs and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to retrieve their current ad IDs.
**Parameters:**
- **ad_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad being retrieved.  
  
Use the [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) method to retrieve ad IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ad being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### getAds

#### GET /ad_campaign/{campaign_id}/ad
**Description:** This method retrieves Promoted Listings ads that are associated with listings created with either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference").

The method retrieves ads related to the specified campaign. Specify the Promoted Listings campaign to target with the **campaign\_id** path parameter.

Because of the large number of possible results, you can use query parameters to paginate the result set by specifying a **limit**, which dictates how many ads to return on each page of the response. You can also specify how many ads to skip in the result set before returning the first result using the **offset** path parameter.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve the current campaign IDs for the seller.
**Parameters:**
- **ad_group_ids** (string)
  - A comma-separated list of ad group IDs. The results will be filtered to only include active ads for these ad groups.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve the ad group ID for the ad group.  
  
**Note:** This field only applies to the Cost Per Click (CPC) funding model; it does not apply to the Cost Per Sale (CPS) funding model.
- **ad_status** (string)
  - A comma-separated list of ad statuses. The results will be filtered to only include the given statuses of the ad. If none are provided, all ads are returned.  
  
See [AdStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads.adstatusenum) for supported values.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ads being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **limit** (string)
  - Specifies the maximum number of ads to return on a page in the paginated response.  
  
**Default:** 10  
  
**Maximum:** 500
- **listing_ids** (string)
  - A comma-separated list of listing IDs.  
  
**Note:** The response includes only active ads. The results do not include listing IDs that are excluded by other conditions.
- **offset** (string)
  - Specifies the number of ads to skip in the result set before returning the first ad in the paginated response.

Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.

**Default:** 0

### getAdsByInventoryReference

#### GET /ad_campaign/{campaign_id}/get_ads_by_inventory_reference
**Description:** This method retrieves Promoted Listings ads associated with listings that are managed with the [Inventory API](/api-docs/sell/inventory/resources/methods "Inventory API Reference") from the specified campaign.  
  
Supply the **campaign\_id** as a path parameter and use query parameters to specify the **inventory\_reference\_id** and **inventory\_reference\_type** pairs.  
  
In the Inventory API, an _inventory reference ID_ is either a seller-defined **SKU** value or an **inventoryItemGroupKey** (a seller-defined ID for an inventory item group, which is an entity that's used in the Inventory API to create a multiple-variation listing). To indicate a listing managed by the Inventory API, you must always specify both an **inventory\_reference\_id** and the associated **inventory\_reference\_type**.  
  
Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve all of the seller's the current campaign IDs.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ads being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **inventory_reference_id** (string) *required*
  - This query parameter specifies the unique identifier of a single-item listing or a multi-variation listing.  
  
To retrieve an ad for a single-item listing, set the **inventoryReferenceType** value to `INVENTORY_ITEM` and specify an item ID or a SKU (if the SKU is defined in the listing).  
  
To retrieve 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.
- **inventory_reference_type** (string) *required*
  - This query parameter specifies the type of the item the **inventory\_reference\_id** references.  
  
**Valid values**:

*   INVENTORY\_ITEM
*   INVENTORY\_ITEM\_GROUP

  
See [InventoryReferenceType](/develop/api/sell/marketing_api#sell-marketing_api-ad-getadsbyinventoryreference.inventoryreferencetypeenum) for more information.

### updateBid

#### POST /ad_campaign/{campaign_id}/ad/{ad_id}/update_bid
**Description:** This method updates the bid percentage (also known as the "ad rate") for the specified ad in the specified campaign.

In the request, supply the **campaign\_id** and **ad\_id** as path parameters, and supply the new **bidPercentage** value in the payload of the call.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a seller's current campaign IDs and call [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) to get their ad IDs.

**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **ad_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad for which the bid percentage is being updated.  
  
Use the [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads) method to retrieve ad IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ad being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createAdGroup

#### POST /ad_campaign/{campaign_id}/ad_group
**Description:** This method adds an ad group to an existing priority strategy campaign that uses manual targeting.  
  
To create an ad group for a campaign, specify the **defaultBid** for the ad group in the payload of the request. Then specify the campaign to which the ad group should be associated using the **campaign\_id** path parameter.  
  
Each campaign can have one or more associated ad groups.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign to associate with the ad group being created.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### getAdGroup

#### GET /ad_campaign/{campaign_id}/ad_group/{ad_group_id}
**Description:** This method retrieves the details of a specified ad group, such as the ad group’s default bid and status.  
  
In the request, specify the **campaign\_id** and **ad\_group\_id** as path parameters.  
  
Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a list of the current campaign IDs for a seller and call [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) for the ad group ID of the ad group you wish to retrieve.
**Parameters:**
- **ad_group_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad group being retrieved.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve ad group IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ad group being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### getAdGroups

#### GET /ad_campaign/{campaign_id}/ad_group
**Description:** This method retrieves ad groups for the specified campaign.  
  
Each campaign can only have **one** ad group.  
  
In the request, supply the **campaign\_id** as the path parameter.  
  
Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a list of the current campaign IDs for a seller.
**Parameters:**
- **ad_group_status** (string)
  - A comma-separated list of ad group statuses. The results will be filtered to only include the given statuses of the ad group.  
  
See [AdGroupStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups.adgroupstatusenum) for supported values.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the ad groups being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **limit** (string)
  - The number of results, from the current result set, to be returned in a single page.
- **offset** (string)
  - The number of results that will be skipped in the result set. This is used with the **limit** field to control the pagination of the output.  
  
For example, if the **offset** is set to `0` and the **limit** is set to `10`, the method will retrieve items 1 through 10 from the list of items returned. If the **offset** is set to `10` and the **limit** is set to `10`, the method will retrieve items 11 through 20 from the list of items returned.  
  
**Default**: `0`

### suggestBids

#### POST /ad_campaign/{campaign_id}/ad_group/{ad_group_id}/suggest_bids
**Description:** This method allows sellers to retrieve the suggested bids for input keywords and match type.
**Parameters:**
- **ad_group_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad group containing the keywords for which the bid suggestions will be provided.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve ad group IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the keywords for which bid suggestions will be provided.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### suggestKeywords

#### POST /ad_campaign/{campaign_id}/ad_group/{ad_group_id}/suggest_keywords
**Description:** This method allows sellers to retrieve a list of keyword ideas to be targeted for Promoted Listings campaigns.
**Parameters:**
- **ad_group_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad group for which the keyword suggestions will be provided.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve ad group IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which keyword suggestions will be provided.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### updateAdGroup

#### PUT /ad_campaign/{campaign_id}/ad_group/{ad_group_id}
**Description:** This method updates the ad group associated with a campaign.  
  
With this method, you can modify the **default bid** for the ad group, change the state of the ad group, or change the name of the ad group. Pass the **ad\_group\_id** you want to update as a URI parameter, and configure the **adGroupStatus** and **defaultBid** in the request payload.  
  
Call [getAdGroup](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroup) to retrieve the current default bid and status of the ad group that you would like to update.
**Parameters:**
- **ad_group_id** (string) *required*
  - This path parameter specifies the unique identifier of the ad group that is being updated.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve ad group IDs.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which the ad group is being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### cloneCampaign

#### POST /ad_campaign/{campaign_id}/clone
**Description:** This method clones (makes a copy of) the specified campaign's **campaign criterion**. The **campaign criterion** is a container for the fields that define the criteria for a rule-based campaign.

To clone a campaign, supply the **campaign\_id** as a path parameter in your call. There is no request payload.

The ID of the newly-cloned campaign is returned in the **Location** response header.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a seller's current campaign IDs.

**Requirement:** In order to clone a campaign, the **campaignStatus** must be `ENDED` and the campaign must define a set of selection rules (it must be a rules-based campaign).

**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign being cloned.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createCampaign

#### POST /ad_campaign
**Description:** This method can be used to create a Promoted Listings general, priority, or offsite campaign.  
  
A Promoted Listings _campaign_ is the structure in which you place the ads or ad group for the listings you wish to promote.  
  
**Note:** Campaigns can only contain ads for a maximum of 50,000 items.  
General strategy campaigns utilize a Cost Per Sale (CPS) funding model. Sellers can set the ad rate and bidding strategies that are right for their business through the **adRateStrategy**, **biddingStrategy**, **bidPercentage** fields. For more information on general strategy campaigns, see [Promoted Listings general strategy campaign flow](/api-docs/sell/static/marketing/pl-campaign-flow-pls.html).  
  
Priority strategy campaigns utilize a Cost per Click (CPC) funding model. Sellers can create a daily budget through the **budget** container and choose what **channel** that their ads appear on. In addition, priority strategy campaigns give sellers the ability to create ad groups and specify keywords to ensure their ads reach their intended audience. For more information on priority strategy campaigns, see [Promoted listings priority strategy campaign flow](/api-docs/sell/static/marketing/pl-campaign-flow-pla.html).  
  
Promoted Offsite campaigns give sellers the ability to create their own advertising campaign and promote their eBay listing in leading external search channels. For more information on Promoted Offsite campaigns, see [Promoted Offsite](/api-docs/sell/static/marketing/offsite-ads.html).  
  
**Note:** Sellers can use the [getAdvertisingEligibility](/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility) method of the [Account API v1](/api-docs/sell/account/overview.html) to determine their eligibility status for eBay advertising programs.  
To create a basic campaign, supply:

*   The user-defined campaign name
*   The start date (and optionally the end date) of the campaign
*   The eBay marketplace on which the campaign is hosted
*   Details on the campaign funding model

For details on creating Promoted Listings campaigns and how to select the items to be included in your campaigns, see [Promoted Listings campaign creation](/api-docs/sell/static/marketing/pl-create-campaign.html).
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### deleteCampaign

#### DELETE /ad_campaign/{campaign_id}
**Description:** This method deletes the campaign specified by the `campaign_id` query parameter.  
  
**Note:** You can only delete campaigns that have ended.  
Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve the **campaign\_id** and the campaign status (`RUNNING`, `PAUSED`, `ENDED`, and so on) for all the seller's campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign being deleted.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### endCampaign

#### POST /ad_campaign/{campaign_id}/end
**Description:** This method ends an active (`RUNNING`) or paused campaign. Specify the campaign you want to end by supplying its campaign ID in a query parameter.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve the **campaign\_id** and the campaign status (`RUNNING`, `PAUSED`, `ENDED`, and so on) for all the seller's campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the `RUNNING` or `PAUSED` ad campaign that is being ended.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### findCampaignByAdReference

#### GET /ad_campaign/find_campaign_by_ad_reference
**Description:** This method retrieves the campaigns containing the listing that is specified using either a listing ID, or an inventory reference ID and inventory reference type pair. The request accepts either a **listing\_id**, _or_ an **inventory\_reference\_id** and **inventory\_reference\_type** pair, as used in the Inventory API.  
  
eBay _listing IDs_ are generated by either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or the [Inventory API](/api-docs/sell/inventory/resources/methods) when you create a listing.  
  
An _inventory reference ID_ can be either a seller-defined **SKU** or **inventoryItemGroupKey**, as specified in the Inventory API.  
  
**Note:** This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **inventory_reference_id** (string)
  - This query parameter specifies the unique identifier of a single-item listing or a multi-variation listing associated with the campaign being retrieved.  
  
To retrieve an campaign for a single-item listing, set the **inventoryReferenceType** value to `INVENTORY_ITEM` and specify an item ID or a SKU (if the SKU is defined in the listing).  
  
To retrieve an campaign 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.  
  
**Note:** You must always pass in both **inventory\_reference\_id** and **inventory\_reference\_type**.
- **inventory_reference_type** (string)
  - This query parameter specifies the type of the seller's inventory reference ID, which is a listing or group of items.  
  
See [InventoryReferenceTypeEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad-getadsbyinventoryreference.inventoryreferencetypeenum) for supported values.  
  
**Note:** You must always pass in both **inventory\_reference\_id** and **inventory\_reference\_type**.
- **listing_id** (string)
  - This query parameter specifies the unique identifier of the eBay listing associated with the ad being used to retrieve the campaign.  
  
eBay _listing IDs_ are generated by either the [Trading API](/Devzone/XML/docs/Reference/eBay/index.html "Trading API Reference") or the [Inventory API](/api-docs/sell/inventory/resources/methods) when you create a listing.

### getCampaign

#### GET /ad_campaign/{campaign_id}
**Description:** This method retrieves the details of a single campaign, as specified with the **campaign\_id** query parameter.

This method returns all the details of a campaign (including the campaign's the selection rules), except the for the listing IDs or inventory reference IDs included in the campaign. These IDs are returned by [getAds](/develop/api/sell/marketing_api#sell-marketing_api-ad-getads).

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a list of the seller's campaign IDs.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### getCampaignByName

#### GET /ad_campaign/get_campaign_by_name
**Description:** This method retrieves the details of a single campaign, as specified with the **campaign\_name** query parameter. Note that the campaign name you specify must be an exact, case-sensitive match of the name of the campaign you want to retrieve.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a list of the seller's campaign names.
**Parameters:**
- **campaign_name** (string) *required*
  - This query parameter specifies name of the campaign being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of a seller's campaign names.

### getCampaigns

#### GET /ad_campaign
**Description:** This method retrieves the details for all of the seller's defined campaigns. Request parameters can be used to retrieve a specific campaign, such as the campaign's name, the start and end date, the channel, the status, and the funding model (i.e., Cost Per Sale (CPS) or Cost Per Click (CPC)).

You can filter the result set by a campaign name, end date range, start date range, campaign channel, or campaign status. You can also paginate the records returned from the result set using the **limit** query parameter, and control which records to return using the **offset** parameter.
**Parameters:**
- **campaign_name** (string)
  - This query parameter specifies the name of the campaign being retrieved. The results are filtered to include only the campaign by the specified name.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of a seller's campaign names.  
  
**Note:** The results might be null if other filters exclude the campaign with this name.  
  
**Maximum:** 1 campaign name
- **campaign_status** (string)
  - This query parameter specifies the status of the campaign(s) being retrieved.  
  
**Note:** The results might not include all the campaigns with this status if other filters exclude them.  
**Valid values:** See [CampaignStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns.campaignstatusenum)  
  
**Maximum:** 1 status
- **campaign_targeting_types** (string)
  - This query parameter specifies the targeting type of the campaign(s) to be retrieved.  
  
The results will be filtered to only include campaigns with the specified targeting type. If not specified, all campaigns matching other filter parameters will be returned. The results might not include these campaigns if other search conditions exclude them.  
  
**Valid values:** See [CampaignTargetingTypeEnum](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns.campaigntargetingtypeenum)
- **channels** (string)
  - This query parameter specifies the channel for the campaign(s) being retrieved.  
  
The results will be filtered to only include campaigns with the specified channel. If not specified, all campaigns matching other filter parameters will be returned. The results might not include these campaigns if other search conditions exclude them.  
  
**Valid Values:** See [ChannelEnum](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns.channelenum)
- **end_date_range** (string)
  - This query parameter specifies the range of a campaign's end date. The results are filtered to include only campaigns with an end date that is within specified range.  
  
**Valid format (UTC)**:

*   `yyyy-MM-ddThh:mm:ssZ..yyyy-MM-ddThh:mm:ssZ` (campaign ends within this range)
*   `yyyy-MM-ddThh:mm:ssZ..` (campaign ends on or after this date)
*   `..yyyy-MM-ddThh:mm:ssZ` (campaign ends on or before this date)
*   `2016-09-08T00:00.00.000Z..2016-09-09T00:00:00Z` (campaign ends on September 08, 2016)

  
**Note:**The results might not include all the campaigns ending on this date if other filters exclude them.
- **funding_strategy** (string)
  - This query parameter specifies the funding strategy for the campaign(s) being retrieved.  
  
The results will be filtered to only include campaigns with the specified funding model. If not specified, all campaigns matching the other filter parameters will be returned. The results might not include these campaigns if other search conditions exclude them.  
  
**Valid Values:** See [FundingModelEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.fundingmodelenum)
- **limit** (string)
  - This query parameter specifies the maximum number of campaigns to return on a page in the paginated response.

**Default:** 10  
  
**Maximum:** 500
- **offset** (string)
  - This query parameter specifies the number of campaigns to skip in the result set before returning the first report in the paginated response.  
  
Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.  
  
**Default:** 0
- **start_date_range** (string)
  - This query parameter specifies the range of a campaign's start date in which to filter the results. The results are filtered to include only campaigns with a start date that is equal to this date or is within specified range.  
  
**Valid format (UTC):**

*   `yyyy-MM-ddThh:mm:ssZ..yyyy-MM-ddThh:mm:ssZ` (starts within this range)
*   `yyyy-MM-ddThh:mm:ssZ` (campaign starts on or after this date)
*   `..yyyy-MM-ddThh:mm:ssZ` (campaign starts on or before this date)
*   `2016-09-08T00:00.00.000Z..2016-09-09T00:00:00Z` (campaign starts on September 08, 2016)

  
**Note:** The results might not include all the campaigns with this start date if other filters exclude them.

### pauseCampaign

#### POST /ad_campaign/{campaign_id}/pause
**Description:** This method pauses an active (RUNNING) campaign.

You can restart the campaign by calling [resumeCampaign](/develop/api/sell/marketing_api#sell-marketing_api-campaign-resumecampaign), as long as the campaign's end date is in the future.  
  
**Note:**The listings associated with a paused campaign cannot be added into another campaign.  
Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve the **campaign\_id** and the campaign status (`RUNNING`, `PAUSED`, `ENDED`, and so on) for all the seller's campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the `RUNNING` ad campaign being paused.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### resumeCampaign

#### POST /ad_campaign/{campaign_id}/resume
**Description:** This method resumes a paused campaign, as long as its end date is in the future. Supply the **campaign\_id** for the campaign you want to restart as a query parameter in the request.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve the **campaign\_id** and the campaign status (`RUNNING`, `PAUSED`, `ENDED`, and so on) for all the seller's campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the paused ad campaign that is being resumed.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.

### suggestBudget

#### GET /ad_campaign/suggest_budget
**Description:** **Note:** This method is only supported for Promoted Offsite campaigns. Sellers can use the [getAdvertisingEligibility](/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility) method of the [Account API v1](/api-docs/sell/account/overview.html) to determine if they are eligible for offsite campaigns.  
This method allows sellers to retrieve the suggested budget for an offsite campaign.
**Parameters:**
- **X-EBAY-C-MARKETPLACE-ID** (string) *required*
  - This header identifies the seller's eBay marketplace.  
  
**Note:** If a marketplace ID value is not provided, the default value of `EBAY_US` is used.  
See [Marketplace ID values](/develop/guides-v2/using-ebay-restful-apis#marketpl) for supported values.

### suggestItems

#### GET /ad_campaign/{campaign_id}/suggest_items
**Description:** This method allows sellers to obtain ideas for listings, which can be targeted for Promoted Listings campaigns.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which suggestions are being provided.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **category_ids** (string)
  - Specifies the category ID that is used to limit the results. This refers to an exact leaf category (the lowest level in that category and has no children). This field can have one category ID, or a comma-separated list of IDs. To return all category IDs, set to `null`.  
  
Use the [getCategorySuggestions](/api-docs/commerce/taxonomy/resources/category_tree/methods/getCategorySuggestions) method to retrieve category IDs.  
  
**Maximum:** 10
- **limit** (string)
  - Specifies the maximum number of campaigns to return on a page in the paginated response. If no value is specified, the default value is used.  
  
**Default:** 10  
  
**Minimum:** 1  
  
**Maximum:** 1000
- **offset** (string)
  - Specifies the number of campaigns to skip in the result set before returning the first report in the paginated response.  
  
Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.  
  
**Default:** 0

### suggestMaxCpc

#### POST /ad_campaign/suggest_max_cpc
**Description:** **Note:** This method is only supported for smart targeting priority strategy campaigns. Sellers can use the [getAdvertisingEligibility](</api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility >) method of the Account API v1 to determine if they are eligible for a priority strategy campaign.  
This method allows sellers to retrieve the suggested maximum cost-per-click value for a smart targeting campaign. This value is required when creating a smart targeting campaign and indicates the maximum amount for which the eBay suggested bid can be adjusted.
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### updateAdRateStrategy

#### POST /ad_campaign/{campaign_id}/update_ad_rate_strategy
**Description:** This method updates the ad rate strategy for an existing rules-based general strategy ad campaign that uses the Cost Per Sale (CPS) funding model.  
  
Specify the **campaign\_id** as a path parameter. You can retrieve the campaign IDs for a seller by calling the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method.  
  
**Note:** This method only applies to the CPS funding model; it does not apply to the Cost Per Click (CPC) funding model. See [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which the ad rate strategy is being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### updateBiddingStrategy

#### POST /ad_campaign/{campaign_id}/update_bidding_strategy
**Description:** This method allows sellers to change the bidding strategy for a specified Cost Per Click (CPC) campaign that uses manual targeting. Available bidding strategies are:

*   `FIXED`  
      
    When using a fixed bidding strategy, sellers manually assign and adjust keyword bids for the CPC campaign.
*   `DYNAMIC`  
      
    When using a dynamic bidding strategy, eBay will manage a campaign's keyword bids and automatically update them daily to the suggested bid.  
      
    **Note:** For a CPC campaign using dynamic bidding, sellers can continue to manually add keywords for the campaign, but they are no longer able to manually adjust their associated bid values. In order to manually adjust bid values, sellers must use the `FIXED` bidding strategy.

In addition, this method allows sellers to modify the **maxCPC** value of a smart targeting campaign.  
**Note:** This method only applies to the Cost Per Click (CPC) funding model; it does not apply to the Cost Per Sale (CPS) funding model. Refer to [Funding Models](/api-docs/sell/static/marketing/pl-overview.html#funding-model) in the _Promoted Listings Playbook_ for more information.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which the keyword bidding strategy is being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### updateCampaignBudget

#### POST /ad_campaign/{campaign_id}/update_campaign_budget
**Description:** This method updates the daily budget for a priority strategy campaign that uses the Cost Per Click (CPC) funding model.  
  
A click occurs when an eBay user finds and clicks on the seller’s listing (within the search results) after using a keyword that the seller has created for the campaign. For each ad in an ad group in the campaign, each click triggers a cost, which gets subtracted from the campaign’s daily budget. If the cost of the clicks exceeds the daily budget, the Promoted Listings campaign will be paused until the next day.  
  
Specify the **campaign\_id** as a path parameter. You can retrieve the campaign IDs for a seller by calling the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method.  
  
**Note:** The daily budget for a campaign can only be updated 15 times per day. If this limit is exceeded, an error will occur and you will be blocked from updating the budget until the next day.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which the budget is being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### updateCampaignIdentification

#### POST /ad_campaign/{campaign_id}/update_campaign_identification
**Description:** This method can be used to change the name of a campaign, as well as modify the start or end dates.

Specify the **campaign\_id** you want to update as a URI parameter, and configure the **campaignName** and **startDate** in the request payload.

If you want to change only the end date of the campaign, specify the current campaign name, set **endDate** as desired, and set **startDate** to the actual start date of the campaign. This applies if the campaign status is `RUNNING` or `PAUSED`. You can retrieve the **startDate** using the [getCampaign](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaign.campaign.startdate) method.

Note that if you do not set a new end date in this call, any current **endDate** value will be set to `null`. To preserve the currently-set end date, you must specify the value again in your request.

Call [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) to retrieve a seller's campaign details, including the campaign ID, campaign name, and the start and end dates of the campaign.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkCreateKeyword

#### POST /ad_campaign/{campaign_id}/bulk_create_keyword
**Description:** This method adds keywords, in bulk, to an existing priority strategy ad group in a campaign that uses manual targeting.  
  
This method also sets the CPC rate for each keyword, depending on the selected bidding strategy, as follows:  
  

*   `FIXED`: If the seller provides a keyword bid, that bid value will be used.  
    If no bid is provided, the adgroup's default bid value will be used.
*   `DYNAMIC`: The eBay suggested bid will be used.  
    If the seller passes in a value, a warning will be returned.

  
In the request, supply the **campaign\_id** as a path parameter.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a specified seller.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which a set of keywords is being created.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkUpdateKeyword

#### POST /ad_campaign/{campaign_id}/bulk_update_keyword
**Description:** This method updates the bids and statuses of keywords, in bulk, for an existing priority strategy campaign.  
  
In the request, supply the **campaign\_id** as a path parameter.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a specified seller.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which a set of keywords is being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createKeyword

#### POST /ad_campaign/{campaign_id}/keyword
**Description:** This method creates keywords using a specified campaign ID for an existing priority strategy campaign that uses manual targeting.  
  
In the request, supply the **campaign\_id** as a path parameter.  
  
Call the [suggestKeywords](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-suggestkeywords) method to retrieve a list of keyword ideas to be targeted for priority strategy campaigns, and call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a seller.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign for which a keyword is being created.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### getKeyword

#### GET /ad_campaign/{campaign_id}/keyword/{keyword_id}
**Description:** This method retrieves details on a specific keyword from an ad group within a priority strategy campaign that uses the Cost Per Click (CPC) funding model.  
  
In the request, specify the **campaign\_id** and **keyword\_id** as path parameters.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a seller and call the [getKeywords](/develop/api/sell/marketing_api#sell-marketing_api-keyword-getkeywords) method to retrieve their keyword IDs.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the keyword being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **keyword_id** (string) *required*
  - This path parameter specifies the unique identifier of the keyword being retrieved.  
  
Use the [getKeywords](/develop/api/sell/marketing_api#sell-marketing_api-keyword-getkeywords) method to retrieve keyword IDs.

### getKeywords

#### GET /ad_campaign/{campaign_id}/keyword
**Description:** This method can be used to retrieve all of the keywords for ad groups in priority strategy campaigns that use the Cost Per Click (CPC) funding model.  
  
In the request, specify the **campaign\_id** as a path parameter. If one or more **ad\_group\_ids** are passed in the request body, the keywords for those ad groups will be returned. If **ad\_group\_ids** are not passed in the response body, the call will return all the keywords in the campaign.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a seller.
**Parameters:**
- **ad_group_ids** (string)
  - A comma-separated list of ad group IDs. This query parameter is used if the seller wants to retrieve keywords from one or more specific ad groups. If this query parameter is not used, all keywords that are part of the CPC campaign are returned.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve the ad group IDs for a seller.
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the keyword(s) being retrieved.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **keyword_status** (string)
  - A comma-separated list of keyword statuses. The results will be filtered to only include the given statuses of the keyword. If none are provided, all keywords are returned.  
  
See [KeywordStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-keyword-getkeywords.keywordstatusenum) for supported values.
- **limit** (string)
  - Specifies the maximum number of results to return on a page in the paginated response.

**Default:** 10  
**Maximum:** 500
- **offset** (string)
  - Specifies the number of results to skip in the result set before returning the first report in the paginated response.

Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.

**Default:** 0

### updateKeyword

#### PUT /ad_campaign/{campaign_id}/keyword/{keyword_id}
**Description:** This method updates keywords using a campaign ID and keyword ID for an existing priority strategy campaign.  
  
In the request, specify the **campaign\_id** and **keyword\_id** as path parameters.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a seller and call the [getKeywords](/develop/api/sell/marketing_api#sell-marketing_api-keyword-getkeywords) method to retrieve their keyword IDs.
**Parameters:**
- **campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the keyword being updated.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **keyword_id** (string) *required*
  - This path parameter specifies the unique identifier of the keyword being updated.  
  
Use the [getKeywords](/develop/api/sell/marketing_api#sell-marketing_api-keyword-getkeywords) method to retrieve keyword IDs.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkCreateNegativeKeyword

#### POST /bulk_create_negative_keyword
**Description:** This method adds negative keywords, in bulk, to an existing ad group in a priority strategy campaign that uses manual targeting.  
  
Specify the **campaignId** and **adGroupId** in the request body, along with the **negativeKeywordText** and **negativeKeywordMatchType**.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a specified seller.
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### bulkUpdateNegativeKeyword

#### POST /bulk_update_negative_keyword
**Description:** This method updates the statuses of existing negative keywords, in bulk.  
  
Specify the **negativeKeywordId** and **negativeKeywordStatus** in the request body.
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createNegativeKeyword

#### POST /negative_keyword
**Description:** This method adds a negative keyword to an existing ad group in a priority strategy campaign that uses manual targeting.  
  
Specify the **campaignId** and **adGroupId** in the request body, along with the **negativeKeywordText** and **negativeKeywordMatchType**.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a specified seller.
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### getNegativeKeyword

#### GET /negative_keyword/{negative_keyword_id}
**Description:** This method retrieves details on a specific negative keyword.  
  
In the request, specify the **negative\_keyword\_id** as a path parameter.
**Parameters:**
- **negative_keyword_id** (string) *required*
  - This path parameter specifies the unique identifier for the negative keyword being retrieved.  
  
Use the [getNegativeKeywords](/develop/api/sell/marketing_api#sell-marketing_api-negative_keyword-getnegativekeywords) method to retrieve negative keyword IDs.

### getNegativeKeywords

#### GET /negative_keyword
**Description:** This method can be used to retrieve all of the negative keywords for ad groups in priority strategy campaigns that use the Cost Per Click (CPC) funding model.  
  
The results can be filtered using the **campaign\_ids**, **ad\_group\_ids**, and **negative\_keyword\_status** query parameters.  
  
Call the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve a list of current campaign IDs for a seller.
**Parameters:**
- **ad_group_ids** (string) *required*
  - A comma-separated list of ad group IDs.  
  
This query parameter is used if the seller wants to retrieve the negative keywords from one or more specific ad groups. The results might not include these ad group IDs if other search conditions exclude them.  
  
Use the [getAdGroups](/develop/api/sell/marketing_api#sell-marketing_api-ad_group-getadgroups) method to retrieve the ad group IDs for a seller.  
  
_Required if_ the search results must be filtered to include negative keywords created at the ad group level.
- **campaign_ids** (string)
  - This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the negative keywords being retrieved.  
  
This query parameter is used if the seller wants to retrieve the negative keywords from a specific campaign. The results might not include these campaign IDs if other search conditions exclude them.  
  
**Note:** Currently, only one campaign ID value is supported for each request.  
  
Use the [getCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-campaign-getcampaigns) method to retrieve campaign IDs.
- **limit** (string)
  - The number of results, from the current result set, to be returned in a single page.
- **negative_keyword_status** (string)
  - A comma-separated list of negative keyword statuses.  
  
This query parameter is used if the seller wants to filter the search results based on one or more negative keyword statuses.  
  
See [NegativeKeywordStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-negative_keyword-getnegativekeywords.negativekeyword.negativekeywordtext) for supported values.
- **offset** (string)
  - The number of results that will be skipped in the result set. This is used with the **limit** field to control the pagination of the output.  
  
For example, if the **offset** is set to `0` and the **limit** is set to `10`, the method will retrieve items 1 through 10 from the list of items returned. If the **offset** is set to `10` and the **limit** is set to `10`, the method will retrieve items 11 through 20 from the list of items returned.

### updateNegativeKeyword

#### PUT /negative_keyword/{negative_keyword_id}
**Description:** This method updates the status of an existing negative keyword.  
  
Specify the **negative\_keyword\_id** as a path parameter, and specify the **negativeKeywordStatus** in the request body.
**Parameters:**
- **negative_keyword_id** (string) *required*
  - The unique identifier for the negative keyword.  
  
This value is returned in the **Location** response header from the [createNegativeKeyword](/develop/api/sell/marketing_api#sell-marketing_api-negative_keyword-createnegativekeyword) method.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### getReport

#### GET /ad_report/{report_id}
**Description:** This call downloads the report as specified by the **report\_id** path parameter.  
  
Call [createReportTask](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-createreporttask "createReportTask API docs") to schedule and generate a Promoted Listings report. All date values are returned in UTC format (`yyyy-MM-ddThh:mm:ss.sssZ`).  
  
**Note:** The reporting of some data related to sales and ad-fees may require a 72-hour (**maximum**) adjustment period which is often referred to as the _Reconciliation Period_. Such adjustment periods should, on average, be minimal. However, at any given time, the **payments** tab may be used to view those amounts that have actually been charged.  

**Important!**For **ad\_report** and **ad\_report\_task** methods, the API call limit is subject to a per user quota. These API calls can **only** be executed a maximum of 200 times per hour for each seller/user. If the number of calls per hour exceeds this limit, any new calls will be blocked for the next hour.
**Parameters:**
- **report_id** (string) *required*
  - This path parameter specifies the unique ID of the Promoted Listings report being retrieved.  
  
Use the [getReportTasks](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks) method to retrieve report IDs.

### getReportMetadata

#### GET /ad_report_metadata
**Description:** This call retrieves information that details the fields used in each of the Promoted Listings reports. Use the returned information to configure the different types of Promoted Listings reports.  
  
You can retrieve metadata for all report types,funding models and channels, or you can filter based on funding model and/or channel.  
  
**Note:** The reporting of some data related to sales and ad-fees may require a 72-hour (**maximum**) adjustment period which is often referred to as the _Reconciliation Period_. Such adjustment periods should, on average, be minimal. However, at any given time, the **payments** tab may be used to view those amounts that have actually been charged.
**Parameters:**
- **funding_model** (string)
  - This query parameter is used only if the user wants to see report metadata for a specific funding model. Refer to the [FundingModelEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.fundingmodelenum) type for supported values.
- **channel** (string)
  - This query parameter is used only if the user wants to see `COST_PER_CLICK` report metadata for a specific channel. Refer to the [ChannelEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.channelenum) type for supported values.  
  
**Note:** The channel parameter is only applicable for `COST_PER_CLICK` funding model.

### getReportMetadataForReportType

#### GET /ad_report_metadata/{report_type}
**Description:** This call retrieves metadata that details the fields used by a specific Promoted Listings report type. Use the **report\_type** path parameter to indicate metadata to retrieve.  
  
This method does not use a request payload.  
  
**Note:** The reporting of some data related to sales and ad-fees may require a 72-hour (**maximum**) adjustment period which is often referred to as the _Reconciliation Period_. Such adjustment periods should, on average, be minimal. However, at any given time, the **payments** tab may be used to view those amounts that have actually been charged.
**Parameters:**
- **report_type** (string) *required*
  - This path parameter specifies the name of the report type whose metadata you want to retrieve.  
  
For details about available report types and their descriptions, refer to the [ReportTypeEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.reporttypeenum).
- **funding_model** (string)
  - The funding model used in the report. The funding model must be compatible with the report type specified in the path parameter. Refer to the [FundingModelEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.fundingmodelenum) type for supported values.
- **channel** (string)
  - The channel used in the report. The channel must be compatible with the report type specified in the path parameter. Refer to the [ChannelEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.channelenum) type for supported values.  
  
**Note:** The channel parameter is only applicable for COST\_PER\_CLICK funding model.

### createReportTask

#### POST /ad_report_task
**Description:** This method creates a _report task_, which generates a Promoted Listings report based on the values specified in the call.  
  
The report is generated based on the criteria you specify, including the report type, the report's dimensions and metrics, the report's start and end dates, the listings to include in the report, and more. _Metrics_ are the quantitative measurements in the report while _dimensions_ specify the attributes of the data included in the reports.  
  
When creating a report task, you can specify the items you want included in the report. The items you specify, using either **listingId** or **inventoryReference** values, must be in a Promoted Listings campaign for them to be included in the report.  
  
For details on the required and optional fields for each report type, see [Promoted Listings reporting](/api-docs/sell/static/marketing/pl-reports.html).  
  
This call returns the URL to the report task in the **Location** response header, and the URL includes the report-task ID.  
  
Reports often take time to generate and it's common for this call to return an HTTP status of `202`, which indicates the report is being generated. Call [getReportTasks](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks) (or [getReportTask](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttask) with the report-task ID) to determine the status of a Promoted Listings report. When a report is complete, eBay sets its status to **SUCCESS** and you can download it using the URL returned in the **reportHref** field of the **getReportTask** call. Report files are tab-separated value gzip files with a file extension of `.tsv.gz`.  
  
**Note:** The reporting of some data related to sales and ad-fees may require a 72-hour (**maximum**) adjustment period which is often referred to as the _Reconciliation Period_. Such adjustment periods should, on average, be minimal. However, at any given time, the **payments** tab may be used to view those amounts that have actually been charged.  
**Note:** This call fails if you don't submit all the required fields for the specified report type. Fields not supported by the specified report type are ignored. Call [getReportMetadata](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_metadata-getreportmetadata) to retrieve a list of the fields you need to configure for each Promoted Listings report type.  

**Important!**For **ad\_report** and **ad\_report\_task** methods, the API call limit is subject to a per user quota. These API calls can **only** be executed a maximum of 200 times per hour for each seller/user. If the number of calls per hour exceeds this limit, any new calls will be blocked for the next hour.

  

**Important!** The data threshold for a single report is currently 1 million records; if this threshold is exceeded, the report will fail.
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### deleteReportTask

#### DELETE /ad_report_task/{report_task_id}
**Description:** This call deletes the report task specified by the **report\_task\_id** path parameter. This method also deletes any reports generated by the report task.

Report task IDs are generated by eBay when you call [createReportTask](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-createreporttask). Get a complete list of a seller's report-task IDs by calling [getReportTasks](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks).

  

**Important!**For **ad\_report** and **ad\_report\_task** methods, the API call limit is subject to a per user quota. These API calls can **only** be executed a maximum of 200 times per hour for each seller/user. If the number of calls per hour exceeds this limit, any new calls will be blocked for the next hour.
**Parameters:**
- **report_task_id** (string) *required*
  - This path parameter specifies the unique identifier of the report task being deleted.  
  
Use the [getReportTasks](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks) method to retrieve report task Ids.

### getReportTask

#### GET /ad_report_task/{report_task_id}
**Description:** This call returns the details of a specific Promoted Listings report task, as specified by the **report\_task\_id** path parameter.

The report task includes the report criteria (such as the report dimensions, metrics, and included listing) and the report-generation rules (such as starting and ending dates for the specified report task).

Report-task IDs are generated by eBay when you call [createReportTask](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-createreporttask). Get a complete list of a seller's report-task IDs by calling [getReportTasks](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks).

  

**Important!**For **ad\_report** and **ad\_report\_task** methods, the API call limit is subject to a per user quota. These API calls can **only** be executed a maximum of 200 times per hour for each seller/user. If the number of calls per hour exceeds this limit, any new calls will be blocked for the next hour.
**Parameters:**
- **report_task_id** (string) *required*
  - This path parameter specifies the unique identifier of the report task being retrieved.  
  
Use the [getReportTasks](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks) method to retrieve report task Ids.

### getReportTasks

#### GET /ad_report_task
**Description:** This method returns information on all the existing report tasks related to a seller.

Use the **report\_task\_statuses** query parameter to control which reports to return. You can paginate the result set by specifying a **limit**, which dictates how many report tasks to return on each page of the response. Use the **offset** parameter to specify how many reports to skip in the result set before returning the first result.

  

**Important!**For **ad\_report** and **ad\_report\_task** methods, the API call limit is subject to a per user quota. These API calls can **only** be executed a maximum of 200 times per hour for each seller/user. If the number of calls per hour exceeds this limit, any new calls will be blocked for the next hour.
**Parameters:**
- **limit** (string)
  - Specifies the maximum number of report tasks to return on a page in the paginated response.  
  
**Default:** 10  
**Maximum:** 500
- **offset** (string)
  - Specifies the number of report tasks to skip in the result set before returning the first report in the paginated response.

Combine **offset** with the **limit** query parameter to control the reports returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the response contains the first 10 reports from the complete list of report tasks retrieved by the call. If **offset** is `10` and **limit** is `10`, the first page of the response contains reports 11-20 from the complete result set.

**Default:** 0
- **report_task_statuses** (string)
  - This query parameter filters the returned report tasks by their status. Supply a comma-separated list of the report statuses you want returned. The results are filtered to include only the report statuses you specify.  
  
**Note:** The results might not include some report tasks if other search conditions exclude them.  
See [TaskStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-ad_report_task-getreporttasks.reporttask.reporttaskstatus) for supported values.

### createItemPriceMarkdownPromotion

#### POST /item_price_markdown
**Description:** **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 creates an **item price markdown discount** (know simply as a "markdown discount") where a discount amount is applied directly to the items included in the discount. Discounts can be specified as either a monetary amount or a percentage off the standard sales price. eBay highlights discounted items by placing teasers for the items throughout the online sales flows.

Unlike an [item discount](/develop/api/sell/marketing_api#sell-marketing_api-item_promotion-createitempromotion), a markdown discount does not require the buyer meet a "threshold" before the offer takes effect. With markdown discounts, all the buyer needs to do is purchase the item to receive the discount benefit.

**Important:** There are some restrictions for which listings are available for price markdown discounts. For details, see [Discounts Manager requirements and restrictions](/api-docs/sell/static/marketing/pm-requirements.html).  
  
In addition, we recommend you list items at competitive prices before including them in your markdown discounts. For an extensive list of pricing recommendations, see the **Growth** tab in Seller Hub.

There are two ways to enable items for markdown discounts:

*   **Key-based discounts** select items using either the listing IDs or inventory reference IDs of the items you want to discount. 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.
*   **Rule-based discounts** select items using a list of eBay category IDs or seller Store category IDs. Rules can further constrain items being discounted by minimum and maximum prices, brands, and item conditions.

New discounts must be created in either a `DRAFT` or a `SCHEDULED` state. Use the DRAFT state when you are initially creating a discount and you want to be sure it's correctly configured before scheduling it to run. When you create a discount, the **promotionId** is returned in the **Location** response header. Use this ID to reference the discount in subsequent requests (such as to schedule a discount that's in a DRAFT state).

**Tip:** Refer to [Discounts Manager](/api-docs/sell/static/marketing/promotions-manager.html) in the _Selling Integration Guide_ for details and examples showing how to create and manage seller discounts.

Markdown discounts are available on all eBay marketplaces. For more information, see [Discounts Manager requirements and restrictions](/api-docs/sell/static/marketing/pm-requirements.html).
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### deleteItemPriceMarkdownPromotion

#### DELETE /item_price_markdown/{promotion_id}
**Description:** **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 deletes the item price markdown discount specified by the **promotion\_id** path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of a seller's discounts.  
  
You can delete any discount with the exception of those that are currently active (RUNNING). To end a running discount, call [updateItemPriceMarkdownPromotion](/develop/api/sell/marketing_api#sell-marketing_api-item_price_markdown-updateitempricemarkdownpromotion) and adjust the **endDate** field as appropriate.
**Parameters:**
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the discount you want to delete 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`

### getItemPriceMarkdownPromotion

#### GET /item_price_markdown/{promotion_id}
**Description:** **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 returns the complete details of the item price markdown discount that's indicated by the **promotion\_id** path parameter.  
  
Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of a seller's discounts.
**Parameters:**
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the discount you want to retrieve 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`

### updateItemPriceMarkdownPromotion

#### PUT /item_price_markdown/{promotion_id}
**Description:** **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 item price markdown discount with the new configuration that you supply in the payload of the request. Specify the discount you want to update using the **promotion\_id** path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-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 fails.  
  
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 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.
**Parameters:**
- **promotion_id** (string) *required*
  - This 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### createItemPromotion

#### POST /item_promotion
**Description:** **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 creates an **item discount**, where the buyer receives a discount when they meet the specific buying criteria. Known here as "threshold discounts", these discounts trigger when a threshold is met.

eBay highlights discounted items by placing teasers for the discounted items throughout the online buyer flows.

_Discounts_ are specified as either a monetary amount or a percentage off the standard sales price of a listing, letting you offer deals such as "Buy 1 Get 1" and "Buy $50, get 20% off".

_Volume pricing_ discounts increase the value of the discount as the buyer increases the quantity they purchase.

_Coded Coupons_ provide unique codes that a buyer can use during checkout to receive a discount. The seller can specify the number of times a buyer can use the coupon and the maximum amount across all purchases that can be discounted using the coupon. The coupon code can also be made public (appearing on the seller's Offer page, search pages, the item listing, and the checkout page) or private (only on the seller's Offer page, but the seller can include the code in email and social media).

**Note**: Coded Coupons are currently available in the US, UK, DE, FR, IT, ES, and AU marketplaces.

There are two ways to add items to a threshold discount:

*   **Key-based discounts** select items using either the listing IDs or inventory reference IDs of the items you want to discount. 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 be discounted.
*   **Rule-based discounts** select items using a list of eBay category IDs or seller Store category IDs. Rules can further constrain the items being discounted by minimum and maximum prices, brands, and item conditions.

You must create a new discount in either a `DRAFT` or `SCHEDULED` state. Use the DRAFT state when you are initially creating a discount and you want to be sure it's correctly configured before scheduling it to run. When you create a discount, the promotion ID is returned in the **Location** response header. Use this ID to reference the discount in subsequent requests.

**Tip:** Refer to the [Selling Integration Guide](/api-docs/sell/static/marketing/promotions-manager.html) for details and examples showing how to create and manage threshold discounts using the Discounts Manager.

For information on the eBay marketplaces that support item discounts, see [Discounts Manager requirements and restrictions](/api-docs/sell/static/marketing/pm-requirements.html).
**Parameters:**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### deleteItemPromotion

#### DELETE /item_promotion/{promotion_id}
**Description:** **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 deletes the threshold discount specified by the **promotion\_id** path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of a seller's discounts.  
  
You can delete any discount with the exception of those that are currently active (RUNNING). To end a running threshold discount, call [updateItemPromotion](/develop/api/sell/marketing_api#sell-marketing_api-item_promotion-updateitempromotion) and adjust the **endDate** field as appropriate.
**Parameters:**
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the discount you want to delete 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`

### getItemPromotion

#### GET /item_promotion/{promotion_id}
**Description:** **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 returns the complete details of the threshold discount specified by the **promotion\_id** path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of a seller's discounts.
**Parameters:**
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the discount you want to retrieve 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`

### updateItemPromotion

#### PUT /item_promotion/{promotion_id}
**Description:** **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](/develop/api/sell/marketing_api#sell-marketing_api-promotion-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.
**Parameters:**
- **promotion_id** (string) *required*
  - This 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](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`**
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### getListingSet

#### GET /promotion/{promotion_id}/get_listing_set
**Description:** **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 returns the set of listings associated with the **promotion\_id** specified in the path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of a seller's discounts.

The listing details are returned in a paginated set and you can control and results returned using the following query parameters: **limit**, **offset**, **q**, **sort**, and **status**.

*   **Maximum associated listings returned:** 200
*   **Default number of listings returned:** 200
**Parameters:**
- **limit** (string)
  - Specifies the maximum number of discounts returned on a page from the result set.  
  
**Default:** 200  
**Maximum:** 200
- **offset** (string)
  - Specifies the number of discounts to skip in the result set before returning the first discount in the paginated response.

Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.

**Default:** 0
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the discount associated with the listing set 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`
- **q** (string)
  - Reserved for future use.
- **sort** (string)
  - Specifies the order in which to sort the associated listings in the response. If you precede the supplied value with a dash, the response is sorted in reverse order.  
  
**Example:**  
   `sort=PRICE` - Sorts the associated listings by their current price in ascending order  
   `sort=-TITLE` - Sorts the associated listings by their title in descending alphabetical order (Z-Az-a)  
  
**Valid values**:

*   AVAILABLE
*   PRICE
*   TITLE
- **status** (string)
  - This query parameter applies only to markdown discounts. It filters the response based on the indicated status of the discount.  
  
**Note:** Currently, the only supported value for this parameter is `MARKED_DOWN`, which indicates active markdown discounts.

### getPromotions

#### GET /promotion
**Description:** **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 returns a list of a seller's undeleted discounts.

The call returns up to 200 currently-available discounts on the specified marketplace. While the response body does not include the discount's **discountRules** or **inventoryCriterion** containers, it does include the **promotionHref** (which you can use to retrieve the complete details of the discount).

Use query parameters to sort and filter the results by the number of discounts to return, the discount state or type, and the eBay marketplace. You can also supply keywords to limit the response to the discounts that contain that keywords in the title of the discount.

**Maximum returned:** 200
**Parameters:**
- **limit** (string)
  - Specifies the maximum number of discounts returned on a page from the result set.  
  
**Default:** 200  
**Maximum:** 200
- **marketplace_id** (string) *required*
  - This parameter specifies eBay marketplace ID of the site where the discount is hosted.  
  
See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.
- **offset** (string)
  - Specifies the number of discounts to skip in the result set before returning the first discount in the paginated response.

Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.

**Default:** 0
- **promotion_status** (string)
  - This parameter specifies the discount state by which you want to filter the results. The response contains only those discounts that match the state you specify.  
  
See [PromotionStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions.promotionstatusenum) for supported values.  
  
**Maximum number of input values:** 1
- **promotion_type** (string)
  - This parameter specifies the campaign discounts type by which you want to filter the results.  
  
See [PromotionTypeEnum](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions.promotiontypeenum) for supported values.
- **q** (string)
  - A string consisting of one or more _keywords_. eBay filters the response by returning only the discounts that contain the supplied keywords in the title.  
  
**Example:** "iPhone" or "Harry Potter."  
  
Commas that separate keywords are ignored. For example, a keyword string of "iPhone, iPad" equals "iPhone iPad", and each results in a response that contains discounts with both "iPhone" and "iPad" in the title.
- **sort** (string)
  - Specifies the order for how to sort the response. If you precede the supplied value with a dash, the response is sorted in reverse order.  
  
**Example:**  
   `sort=END_DATE`   Sorts the discounts in the response by their end dates in ascending order  
   `sort=-PROMOTION_NAME`   Sorts the discounts by their name in descending alphabetical order (Z-Az-a)  
  
**Valid values**:

*   `START_DATE`
*   `END_DATE`
*   `PROMOTION_NAME`

### pausePromotion

#### POST /promotion/{promotion_id}/pause
**Description:** **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 pauses a currently-active (RUNNING) threshold discount and changes the state of the discount from `RUNNING` to `PAUSED`. Pausing a discount makes the discount temporarily unavailable to buyers and any currently-incomplete transactions will not receive the offer until the discount is resumed. Also, discount teasers are not displayed when a discount is paused.  
  
Pass the ID of the discount you want to pause using the **promotion\_id** path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of the seller's discounts.  
  
**Note:** You can only pause threshold discounts (you cannot pause markdown discounts).
**Parameters:**
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the active discount being paused 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`

### resumePromotion

#### POST /promotion/{promotion_id}/resume
**Description:** **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 restarts a threshold discount that was previously paused and changes the state of the discount from `PAUSED` to `RUNNING`. Only discounts that have been previously paused can be resumed. Resuming a discount reinstates the teasers and any transactions that were in motion before the discount was paused will again be eligible for the discount.  
  
Pass the ID of the discount you want to resume using the **promotion\_id** path parameter. Call [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) to retrieve the IDs of the seller's discounts.
**Parameters:**
- **promotion_id** (string) *required*
  - This path parameter takes a concatenation of the ID of the paused discount being resumed with the listing set 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 discount is hosted.  
  
Use the [getPromotions](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions) method to retrieve promotion Ids. See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.  
  
**Example:** `1********5@EBAY_US`

### getPromotionReports

#### GET /promotion_report
**Description:** **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 generates a report that lists the seller's running, paused, and ended discounts for the specified eBay marketplace. The result set can be filtered by the discount status and the number of results to return. You can also supply _keywords_ to limit the report to discounts that contain the specified keywords.  
  
Specify the eBay marketplace for which you want the report run using the **marketplace\_id** query parameter. Supply additional query parameters to control the report as needed.
**Parameters:**
- **limit** (string)
  - Specifies the maximum number of discounts returned on a page from the result set.  
  
**Default:** 200  
**Maximum:** 200
- **marketplace_id** (string) *required*
  - This parameter specifies the eBay marketplace ID of the site for which you want the discounts report.  
  
See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.
- **offset** (string)
  - Specifies the number of discounts to skip in the result set before returning the first discount in the paginated response.

Combine **offset** with the **limit** query parameter to control the items returned in the response. For example, if you supply an **offset** of `0` and a **limit** of `10`, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If **offset** is `10` and **limit** is `20`, the first page of the response contains items 11-30 from the complete result set.

**Default:** 0
- **promotion_status** (string)
  - This parameter specifies the discount state by which you want to filter the results.  
  
See [PromotionStatusEnum](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions.promotionstatusenum) for supported values.  
  
**Maximum number of input values:** 1
- **promotion_type** (string)
  - This parameter specifies the campaign discount type by which you want to filter the results.  
  
See [PromotionTypeEnum](/develop/api/sell/marketing_api#sell-marketing_api-promotion-getpromotions.promotiontypeenum) for supported values.
- **q** (string)
  - A string consisting of one or more _keywords_. eBay filters the response by returning only the discounts that contain the supplied keywords in the discount title.  
  
**Example:** "iPhone" or "Harry Potter."  
  
Commas that separate keywords are ignored. For example, a keyword string of "iPhone, iPad" equals "iPhone iPad", and each results in a response that contains discounts with both "iPhone" and "iPad" in the title.

### getPromotionSummaryReport

#### GET /promotion_summary_report
**Description:** **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 generates a report that summarizes the seller's discounts for the specified eBay marketplace. The report returns information on `RUNNING`, `PAUSED`, and `ENDED` discounts (deleted reports are not returned) and summarizes the seller's campaign performance for all discounts on a given site.  
  
For information about summary reports, see [Reading the item discount Summary report](/api-docs/sell/static/marketing/pm-summary-report.html).
**Parameters:**
- **marketplace_id** (string) *required*
  - This parameter specifies the eBay marketplace ID of the site for which you want a discount summary report.  
  
See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported Marketplace ID values.

### createEmailCampaign

#### POST /email_campaign
**Description:** This method creates a new email campaign. An eBay store owner can create six different types of email campaigns: Welcome, New products & collections, Coupon, Sale event + markdown, Order discount, and Volume pricing.  
  
A successful **createEmailCampaign** request returns the **emailCampaignId** assigned to the new email campaign.  
  
The fields **emailCampaignType**, **audienceCodes**, **itemSelectMode**, **subject**, and **personalizedMessage** are required for all email campaign types.  
  
Specific email campaign types have required values for additional fields. For more information on the email campaign types, see the [Store Email Campaigns](/api-docs/sell/static/marketing/store-email-campaigns.html#email-campain-types) section of the Selling Integration Guide.
**Parameters:**
- **X-EBAY-C-MARKETPLACE-ID** (string) *required*
  - The eBay marketplace that the email campaign interfaces with.  
  
eBay marketplaces correspond to geographical regions or large submarkets of regions. For example, `EBAY-US` corresponds to the United States market.  
  
See [Marketplace ID values](/develop/api/sell/request_headers#marketplace-id-values) for supported values.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

### deleteEmailCampaign

#### DELETE /email_campaign/{email_campaign_id}
**Description:** This method deletes the email campaign specified by the **email\_campaign\_id** path parameter.  
  
Call [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) to retrieve all of the seller's email campaigns. Use the **email\_campaign\_id** of the desired email campaign in the response as the path parameter for this request.
**Parameters:**
- **email_campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier for the email campaign being deleted.  
  
You can retrieve the email campaign IDs for a specified seller using the [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) method.

### getAudiences

#### GET /email_campaign/audience
**Description:** This method retrieves all available email newsletter audiences for the [email campaign type](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns.campaigntypeenum) specified by the **emailCampaignType** path parameter.  
  
Use the optional **limit** and **offset** path parameters to paginate the results and to control which records are returned, respectively.
**Parameters:**
- **emailCampaignType** (string) *required*
  - The email campaign type to search against.  
  
See [CampaignTypeEnum](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns.campaigntypeenum) for the full list of available email campaign types and associated enum values.
- **limit** (string)
  - The maximum number of audience groups returned per page in the results set.  
  
**Min value**: 1  
  
**Max value**: 200  
  
**Default value**: 100
- **offset** (string)
  - The number of results to skip in a pagination query. This value cannot be less than 0.  
  
**Default value**: 0

### getEmailCampaign

#### GET /email_campaign/{email_campaign_id}
**Description:** This method returns the details of a single email campaign specified by the **email\_campaign\_id** path parameter.  
  
Call [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) to retrieve a list of all email campaigns from a seller's eBay store.
**Parameters:**
- **email_campaign_id** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the email campaign being retrieved.  
  
Use the [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) method to retrieve a list of email campaign IDs for a seller.

### getEmailCampaigns

#### GET /email_campaign
**Description:** This method retrieves a list of email campaigns from a seller's eBay store.  
  
Users can filter the results by [email campaign type](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns.campaigntypeenum), [email campaign status](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns.emailcampaignstatusenum), and [marketplace ID](/develop/api/sell/request_headers#marketplace-id-values) using the `q` query parameter.
**Parameters:**
- **limit** (string)
  - The maximum number of email campaigns returned in a page.  
  
**Min value**: 1  
  
**Max value**: 200
- **offset** (string)
  - The number of results to skip in a pagination query. This value cannot be less than zero.  
  
**Default value**: 0
- **q** (string)
  - This field contains filter criteria for the results returned. Filter by [email campaign type](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns.campaigntypeenum), [email campaign status](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns.emailcampaignstatusenum), and [marketplace ID](/develop/api/sell/request_headers#marketplace-id-values).  
  
For example, setting `q=campaignType:WELCOME,ITEM_SHOWCASE` will return only Welcome and Item Showcase email campaigns.  
  
**Note:** At least one `campaignType` value must be set through the `q` query parameter. If no other filters are set, all email campaigns for the specified campaign type(s) will be returned in the results set.
- **sort** (string)
  - The criteria for sorting email campaign results. See [ItemSortEnum](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-createemailcampaign.itemsortenum) for sorting options and their enum values.  
  
**Default**: `NEWLY_LISTED`

### getEmailPreview

#### GET /email_campaign/{email_campaign_id}/email_preview
**Description:** This method returns a preview of the email sent by the email campaign indicated by the **email\_campaign\_id** path parameter.  
  
Call [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) to obtain a list of email campaigns. Use the **emailCampaignId** value of the desired email campaign as the **email\_campaign\_id** path parameter value.  
  
If this call is executed successfully, the response returns a **content** field that contains the raw HTML code of the email campaign that can then be rendered anywhere.  
  
**Note:** The eBay listings in the email are sorted according to the email campaign sort criteria. The individual listings can change over time, as well.  
  
The result of the email preview call can be treated as a snapshot of the email campaign taken at the date and time of the **renderDate** value found in the results of the call.
**Parameters:**
- **email_campaign_id** (string) *required*
  - This path parameter specifies the unique eBay assigned identifier for the email campaign associated with the preview being retrieved.  
  
Use the [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) method to retrieve a list of email campaign IDs for a seller.

### getEmailReport

#### GET /email_campaign/report
**Description:** This method returns the seller's email campaign performance report for a time period specified by the **startDate** and **endDate** path parameters. The maximum date range for a report retrieved by this method is one year.  
  
**Note:** The **startDate** and **endDate** must be given in UTC format, as shown in the following example:  
`sell/marketing/v1/email_campaign/report?startDate=2022-11-01T19:09:02.768Z&endDate=2022-12-28T19:09:02.768Z`  
The email report returns a list of metrics, such as the number of times an email report has been opened and resulted in clicks.
**Parameters:**
- **endDate** (string) *required*
  - The end date for the report, given in UTC format. The maximum date range for a report retrieved by this method is one year.
- **startDate** (string) *required*
  - The start date for the report, given in UTC format. The maximum date range for a report retrieved by this method is one year.

### updateEmailCampaign

#### PUT /email_campaign/{email_campaign_id}
**Description:** This method lets users update an existing email campaign. Pass the **emailCampaignId** in the request URL and specify the changes to field values in the request payload.  
  
**Note:** You can only update the custom fields of an email campaign. Fixed values, such as the **emailCampaignType**, cannot be changed. For full specifications of fixed values for each email campaign type, see the [createEmailCampaign](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-createemailcampaign) method documentation.
**Parameters:**
- **email_campaign_id** (string) *required*
  - This path parameter specifies the unique eBay assigned identifier for the email campaign being updated.  
  
Use the [getEmailCampaigns](/develop/api/sell/marketing_api#sell-marketing_api-email_campaign-getemailcampaigns) method to retrieve a list of email campaign IDs for a seller.
- **Content-Type** (string) *required*
  - 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](/api-docs/static/rest-request-components.html#HTTP).

## Error Codes

The following error codes may be returned by this API:

### REQUEST Errors

#### 35007 - API_MARKETING
**Description:** The 'bidPercentage' {bidPercentage} is not valid. The bid percentage should be a single precision value. Minimum value: {minBidPercent} , Maximum value:{maxBidPercent}.

#### 35010 - API_MARKETING
**Description:** The bidPercentage should not be provided when selected adRateStrategy is DYNAMIC for the campaign.

#### 35012 - API_MARKETING
**Description:** The inventory reference ID {inventoryReferenceId} is not valid.

#### 35018 - API_MARKETING
**Description:** There are duplicate listing IDs or inventoryReference IDs in this request. You must remove the duplicate.

#### 35033 - API_MARKETING
**Description:** At least one request is required for bulk requests.

#### 35035 - API_MARKETING
**Description:** The campaign with campaign id {campaign\_id} has ended.

#### 35040 - API_MARKETING
**Description:** The inventory reference type is not valid. Valid values are: {inventoryReferenceTypeValues}.

#### 35045 - API_MARKETING
**Description:** No campaign found for campaign id {campaign\_id}.

#### 36106 - API_MARKETING
**Description:** The 'adGroupId' is not supported for CPS funding model.

#### 36108 - API_MARKETING
**Description:** The 'adGroupId' is required for CPC funding model.

#### 36210 - API_MARKETING
**Description:** No adgroup found for adgroup id {ad\_group\_id}.

#### 36219 - API_MARKETING
**Description:** The ad group with ad group id {ad\_group\_id} has been archived.

#### 35013 - API_MARKETING
**Description:** The listing ID {listingId} is not valid.

#### 35014 - API_MARKETING
**Description:** The listing Id is required for this call.

#### 35036 - API_MARKETING
**Description:** An ad for listing ID {listingId} already exists.

#### 35048 - API_MARKETING
**Description:** The listing ID {listingId} is invalid or has ended.

#### 35080 - API_MARKETING
**Description:** The 'bidPercentage' is not supported for CPC funding model.

#### 36412 - API_MARKETING
**Description:** Campaigns where the 'campaignTargetingType' is 'SMART' do not support ad groups. Please remove the {adGroupFieldName} and try again.

#### 36101 - API_MARKETING
**Description:** This functionality is not supported for the CPC funding model.

#### 35044 - API_MARKETING
**Description:** No Ad found for 'ad\_id' {ad\_id}. Please correct the 'ad\_id' and try again.

#### 35083 - API_MARKETING
**Description:** The requested 'adStatus' is not valid.

#### 35029 - API_MARKETING
**Description:** The 'limit' has to be greater than zero and less than {maxLimitValue}.

#### 35030 - API_MARKETING
**Description:** The 'offset' cannot be less than zero.

#### 36201 - API_MARKETING
**Description:** An ad group with name {name} already exists for this campaign.

#### 36202 - API_MARKETING
**Description:** The ad group name cannot be more than {maxAdGroupNameLength} characters.

#### 36203 - API_MARKETING
**Description:** The 'defaultBid' value {defaultBidValue} is not valid. The default bid value should be a double precision value.

#### 36204 - API_MARKETING
**Description:** The 'defaultBid' currency {defaultBidCurrency} is not valid or missing.

#### 36205 - API_MARKETING
**Description:** The 'defaultBid' value {defaultBidValue} is below floor value {bidFloorValue}.

#### 36206 - API_MARKETING
**Description:** The 'defaultBid' value {defaultBidValue} is above max value {bidMaxValue}.

#### 36207 - API_MARKETING
**Description:** The 'defaultBid' value {defaultBidValue} is more than daily budget.

#### 36212 - API_MARKETING
**Description:** The 'defaultBid' currency {defaultBidCurrency} should be the same as the daily budget.

#### 36214 - API_MARKETING
**Description:** Ad Group name is required for this call.

#### 36215 - API_MARKETING
**Description:** The 'defaultBid' is required for this call.

#### 36216 - API_MARKETING
**Description:** The 'defaultBid' value is required for this call.

#### 36217 - API_MARKETING
**Description:** The Ad Group name contains invalid characters. {notAllowedCharacters} are not allowed.

#### 35041 - API_MARKETING
**Description:** The 'marketplaceId' is required.

#### 35091 - API_MARKETING
**Description:** You have exceeded the maximum number of requests. Only {maxSupportedNumber} are supported per call.

#### 36301 - API_MARKETING
**Description:** The provided keyword match type is not supported. Valid values are: {matchTypeValues}.

#### 36304 - API_MARKETING
**Description:** The keywordText {keywordText} cannot be more than {maxKeywordTextLength} characters.

#### 36311 - API_MARKETING
**Description:** The keywordText cannot be null or empty.

#### 36312 - API_MARKETING
**Description:** The keywordText contains invalid characters {invalidCharacters}

#### 70006 - API_MARKETING
**Description:** The provided exclusion is not supported. Valid values are {supportedExclusions}.

#### 70007 - API_MARKETING
**Description:** The provided additionalInfo is not supported. Valid values are {supportedAdditionalInfo}.

#### 36224 - API_MARKETING
**Description:** The 'defaultBid' or 'adGroupStatus' or 'name' value is required for this call.

#### 36225 - API_MARKETING
**Description:** 'ad\_group\_statuses' value is invalid. It should be either ACTIVE, PAUSED or ARCHIVED.

#### 35006 - API_MARKETING
**Description:** 'fundingStrategy' is required for this call.

#### 35019 - API_MARKETING
**Description:** Campaign name is required for this call.

#### 35020 - API_MARKETING
**Description:** The campaign name cannot be more than {maxCampaignNameLength} characters.

#### 35021 - API_MARKETING
**Description:** A campaign with the name of {campaignName} already exists. Please provide a different name.

#### 35023 - API_MARKETING
**Description:** The request contains invalid characters. {notAllowedCharacters} are not allowed.

#### 35024 - API_MARKETING
**Description:** The campaign start date {startDate} cannot be after the end date {endDate}.

#### 35025 - API_MARKETING
**Description:** A campaign start date is required.

#### 35026 - API_MARKETING
**Description:** A campaign start or end date {date} cannot be in the past.

#### 35003 - API_MARKETING
**Description:** 'campaignCriterion' is required for a criterion based campaign.

#### 35004 - API_MARKETING
**Description:** One of the selectionRule containers is empty. You must specify at least one rule in each selectionRule container. Note: 'categoryScope' is not a rule.

#### 35005 - API_MARKETING
**Description:** 'selectionRules' is required for criterion based campaigns.

#### 35008 - API_MARKETING
**Description:** The category ID {categoryId} is not valid.

#### 35009 - API_MARKETING
**Description:** The listing Condition ID {listingConditionId} is not valid. Refer to the API call documentation for a list of valid values.

#### 35015 - API_MARKETING
**Description:** The 'maxPrice' or 'minPrice' value is missing or invalid. The value cannot be less than or equal to zero.

#### 35016 - API_MARKETING
**Description:** The 'minPrice' {minPrice} cannot be greater than the 'maxPrice' {maxPrice}.

#### 35017 - API_MARKETING
**Description:** 'currency' is not valid or missing.

#### 35022 - API_MARKETING
**Description:** The brand name {brandName} is not valid.

#### 35038 - API_MARKETING
**Description:** The funding model is required. Valid values for 'fundingModel' are: {fundingModelValues}.

#### 35039 - API_MARKETING
**Description:** The 'categoryScope' is required for criterion based campaigns using category based listing selection rules. Valid values are: {categoryScopeValues}

#### 35042 - API_MARKETING
**Description:** The criterion type is required for criterion based campaigns. Valid values are: {criterionTypeValues}.

#### 35124 - API_MARKETING
**Description:** The 'maxCpc' {maxCpc} is not valid. Minimum value: {minMaxCpc} , Maximum value:{maxMaxCpc}.

#### 35125 - API_MARKETING
**Description:** The 'bidPreferences' list currently supports only one element. Please remove additional elements and try again.

#### 35134 - API_MARKETING
**Description:** A 'biddingStrategy' cannot be supplied for smart targeting campaigns. Please either remove 'biddingStrategy' from the request to create a smart targeting campaign or supply another value for 'campaignTargetingType'.

#### 36161 - API_MARKETING
**Description:** Smart targeting campaigns require a \`bidPreferences.maxCpc\` value.

#### 36162 - API_MARKETING
**Description:** The 'maxCpc' currency should be the same as the daily budget.

#### 36163 - API_MARKETING
**Description:** The 'maxCpc' value {maxCpcValue} is below minimum value {maxCpcMinimumValue}.

#### 36164 - API_MARKETING
**Description:** The 'maxCpc' value {maxCpcValue} is above maximum value {maxCpcMaximumValue}.

#### 36165 - API_MARKETING
**Description:** The 'maxCpc' value {maxCpcValue} is more than maximum daily budget {maxDailyBudget}.

#### 36166 - API_MARKETING
**Description:** The 'maxCpc' value {maxCpcValue} is invalid. Refer to the API call documentation for more information.

#### 36406 - API_MARKETING
**Description:** The 'channels' value {channel} can only be used with the {funding\_model} fundingModel.

#### 36407 - API_MARKETING
**Description:** The 'channels' value is invalid.

#### 35031 - API_MARKETING
**Description:** A 'listing\_id' or an 'inventory\_reference\_id' and 'inventory\_reference\_type' is required for this call.

#### 35032 - API_MARKETING
**Description:** A 'listing\_id' and an 'inventory\_reference\_id' cannot be used together in the same call. To use both in a campaign, you must submit two calls.

#### 35046 - API_MARKETING
**Description:** No campaign found with the name {campaign\_name}.

#### 35027 - API_MARKETING
**Description:** The date range {dateRange} is not valid. Ensure the beginning of the range is before the end of the range.

#### 35028 - API_MARKETING
**Description:** The format of the date range {dateRange} is invalid. The format for a date range is yyyy-MM-ddThh:mm:ss.sssZ..yyyy-MM-ddThh:mm:ss.sssZ or yyyy-MM-ddThh:mm:ss.sssZ.. or ..yyyy-MM-ddThh:mm:ss.sssZ.

#### 35043 - API_MARKETING
**Description:** The campaign status of {campaignStatus} is either invalid or not supported for this operation.

#### 35079 - API_MARKETING
**Description:** Funding strategy needs to be one of {fundingStrategy} types.

#### 35123 - API_MARKETING
**Description:** The 'campaignTargetingType' is not valid. Valid values for 'campaignTargetingType' are: {campaignTargetingTypeValues}.

#### 35090 - API_MARKETING
**Description:** Category ID limit exceeded. You can pass up to a maximum of {maxCategoryLimit} category IDs per request.

#### 35135 - API_MARKETING
**Description:** Please supply one or more values in the ‘listingIds’ field in the request.

#### 35136 - API_MARKETING
**Description:** The following values you supplied in the ‘listingIds’ field are invalid: {listingIds}

#### 35130 - API_MARKETING
**Description:** The 'biddingStrategy' is required

#### 36100 - API_MARKETING
**Description:** This functionality is not supported for CPS funding model.

#### 36303 - API_MARKETING
**Description:** A keyword with text {keywordText} and match type {matchType} already exists for this Ad Group.

#### 36305 - API_MARKETING
**Description:** The 'bid' value {bidValue} is not valid. The default bid value should be a double precision value.

#### 36306 - API_MARKETING
**Description:** The 'bid' value {bidValue} is below floor value {bidFloorValue}.

#### 36307 - API_MARKETING
**Description:** The 'bid' value {bidValue} is above max value {bidMaxValue}.

#### 36308 - API_MARKETING
**Description:** The 'bid' currency {bidCurrency} is not valid or missing.

#### 36309 - API_MARKETING
**Description:** The 'bid' currency {bidCurrency} should be the same as the daily budget.

#### 36313 - API_MARKETING
**Description:** The 'bid' value {bidValue} is more than maximum daily budget {maxDailyBudget}.

#### 36315 - API_MARKETING
**Description:** There are duplicate KeywordText and matchType combination in this request. You must remove the duplicate.

#### 36310 - API_MARKETING
**Description:** No keyword found for keyword id {keyword\_id}.

#### 36317 - API_MARKETING
**Description:** The 'bid' or 'keywordStatus' is missing, either one is required for update.

#### 36314 - API_MARKETING
**Description:** Ad Group Ids should be delimited by {adGroupIdsDelimiter}

#### 36318 - API_MARKETING
**Description:** The keyword with 'keyword\_id' {keyword\_Id} is already archived and cannot be updated.

#### 36323 - API_MARKETING
**Description:** 'negativeKeywordText' {negativeKeywordText} and 'negativeKeywordMatchType' {negativeKeywordMatchType} already exists for this Campaign.

#### 36330 - API_MARKETING
**Description:** The provided negative keyword match type is not supported. Valid values are: {negativeKeywordMatchTypeValues}.

#### 36331 - API_MARKETING
**Description:** 'negativeKeywordText' {negativeKeywordText} and 'negativeKeywordMatchType' {negativeKeywordMatchType} already exists for this Ad Group.

#### 36332 - API_MARKETING
**Description:** 'negativeKeywordText' {negativeKeywordText} cannot be more than {maxNegativeKeywordTextLength} characters.

#### 36333 - API_MARKETING
**Description:** 'negativeKeywordText' cannot be null or empty

#### 36334 - API_MARKETING
**Description:** 'negativeKeywordText' contains invalid characters {invalidCharacters}

#### 36335 - API_MARKETING
**Description:** You have exceeded the maximum number of negative keyword for an ad group. Only {maxSupportedNegativeKeywordNumber} Ids are supported per ad group.

#### 36336 - API_MARKETING
**Description:** 'negativeKeywordText' {negativeKeywordText} cannot have total number of words more than {maxWordsInNegativeKeyword} words.

#### 36337 - API_MARKETING
**Description:** You have exceeded the maximum number of negative keyword requests in a bulk. Only {maxSupportedNegativeKeywordRequestNumberInBulk} Ids are supported per call.

#### 36338 - API_MARKETING
**Description:** There are duplicate 'negativeKeywordText' and 'negativeKeywordMatchType' combination in this request. You must remove the duplicate(s).

#### 36339 - API_MARKETING
**Description:** Total negative keyword requests exceed the current AdGroup negative keyword capacity, which is {maxSupportedNegativeKeywordRequestNumber}.

#### 36345 - API_MARKETING
**Description:** 'campaignId' and 'adGroupId' are required.

#### 36346 - API_MARKETING
**Description:** You have exceeded the maximum number of negative keyword for a campaign. Only {maxSupportedNegativeKeywordNumberCampaign} Ids are supported per campaign.

#### 36340 - API_MARKETING
**Description:** No negative keyword found for negative keyword id {negativeKeywordId}.

#### 36341 - API_MARKETING
**Description:** There are duplicate negative keyword Ids in this request. You must remove the duplicate(s).

#### 36342 - API_MARKETING
**Description:** NegativeKeywordStatus is missing or invalid. It is required for update.

#### 36343 - API_MARKETING
**Description:** Negative keyword with negative keyword id {negativeKeywordId} is already archived and cannot be updated.

#### 36348 - API_MARKETING
**Description:** Negative keyword id 'negativeKeywordId' is required.

#### 36349 - API_MARKETING
**Description:** The 'negativeKeywordId' is invalid.

#### 36329 - API_MARKETING
**Description:** The ad group Id is required.

#### 36347 - API_MARKETING
**Description:** Currently only one value is supported for 'campaign\_ids'.

#### 36350 - API_MARKETING
**Description:** The 'negative\_keyword\_status' is invalid.

#### 35110 - API_MARKETING
**Description:** The 'report\_id' {report\_id} was not found. Correct the 'report\_id' and try the call again.

#### 35121 - API_MARKETING
**Description:** The 'fundingModel' is invalid. Valid values are: {supportedFundingModels}.

#### 35127 - API_MARKETING
**Description:** The 'channels' are not supported for the 'fundingModel' {fundingModel}.

#### 35116 - API_MARKETING
**Description:** Supplied 'report\_type' not found. Valid values are: {supportedReportTypes}.

#### 35132 - API_MARKETING
**Description:** The 'channels' {supportedChannels} are not supported for the 'report\_type' {reportType}.

#### 35133 - API_MARKETING
**Description:** The 'fundingModel' is not supported for the 'report\_type' {reportType}.

#### 35089 - API_MARKETING
**Description:** You are currently not authorized to access the Promoted Listings Advanced program. Please contact support.

#### 35100 - API_MARKETING
**Description:** Campaign ID is required for this call.

#### 35102 - API_MARKETING
**Description:** The {date\_key} date is required for this call.

#### 35103 - API_MARKETING
**Description:** The date cannot be in future.

#### 35104 - API_MARKETING
**Description:** The report start date {dateFrom} cannot be after the end date {dateTo}.

#### 35105 - API_MARKETING
**Description:** The report 'dateFrom' {dateFrom} is out of range. Reports are limited up to {maxDays} days in the past.

#### 35106 - API_MARKETING
**Description:** The 'dimensionKey' {dimensionKey} is not valid. To see the supported dimension keys for a report, use one of the 'Get Metadata' calls.

#### 35107 - API_MARKETING
**Description:** The 'dimensionKey' {dimensionKey} is not supported for the 'reportType' {reportType}. To see the supported dimension keys for a report, use one of the 'Get Metadata' calls.

#### 35108 - API_MARKETING
**Description:** The 'annotationKey' {annotationKey} is not supported for the 'dimensionKey' {dimensionKey}. To see the supported annotation and dimension keys for a report, use one of the 'Get Metadata' calls.

#### 35111 - API_MARKETING
**Description:** The 'inventoryReferenceId' {inventoryReferenceId} is not valid.

#### 35113 - API_MARKETING
**Description:** The listing ID is required for this call.

#### 35114 - API_MARKETING
**Description:** The 'reportType' is invalid. Valid values are: {supportedReportTypes}.

#### 35115 - API_MARKETING
**Description:** The 'metricKey' {metricKey} is not supported for the 'reportType' {reportType}. To see the supported metric keys for a report, use one of the 'Get Metadata' calls.

#### 35118 - API_MARKETING
**Description:** The 'reportFormat' is missing or invalid. Valid values are: {supportedReportFormats}

#### 35119 - API_MARKETING
**Description:** The minimum set of 'dimensionKey' is not provided for the 'reportType' {reportType}. Minimum required dimensionKeys are: {minimumDimensionKeys}

#### 35120 - API_MARKETING
**Description:** At least one 'metricKey' must be provided for 'reportType' {reportType}. Valid metricKeys are: {supportedMetricKeys}

#### 35122 - API_MARKETING
**Description:** The metric key is not supported for the funding model.

#### 35126 - API_MARKETING
**Description:** Multiple channels are not supported. Please use one of the following channels: {supportedChannels}

#### 35128 - API_MARKETING
**Description:** The 'dimensionKey' {dimensionKey} is not valid for the 'channels' {supportedChannels}

#### 35129 - API_MARKETING
**Description:** The 'metricKey' {metricKey} is not supported for the 'channels' {supportedChannels}

#### 35131 - API_MARKETING
**Description:** The 'annotationKey' {annotationKey} is not supported for the 'channels' {supportedChannels}

#### 35137 - API_MARKETING
**Description:** The {date\_key} date format is not valid.

#### 35140 - API_MARKETING
**Description:** No ReportTask found for 'report\_task\_id' {report\_task\_id}. Please correct the 'report\_task\_id' and try again.

#### 35109 - API_MARKETING
**Description:** The 'report\_task\_statuses' {invalid\_report\_task\_statuses} is invalid. Valid values are: {supportedReportTaskStatuses}.

#### 38204 - API_MARKETING
**Description:** 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
**Description:** A valid entry is required for {fieldName}.

#### 38219 - API_MARKETING
**Description:** The start date and time must be earlier than the end date and time.

#### 38220 - API_MARKETING
**Description:** The end date and time must be later than the current date and time.

#### 38228 - API_MARKETING
**Description:** The amount value of '{fieldName}' contains decimals, only integers are supported.

#### 38229 - API_MARKETING
**Description:** The start date and time should be later than the current date and time.

#### 38234 - API_MARKETING
**Description:** HTML is not allowed in the '{fieldName}' field.

#### 38235 - API_MARKETING
**Description:** Invalid input for the '{fieldName}' field. For help, see the documentation for this call.

#### 38238 - API_MARKETING
**Description:** The 'discountBenefit' data is missing, which is required by this call. For help, see the documentation for this call.

#### 38240 - API_MARKETING
**Description:** Invalid input for the 'promotionStatus' field. For help, see the documentation for this call.

#### 38242 - API_MARKETING
**Description:** The request can have only one of these fields: 'inventoryCriterion.inventoryItems' or 'inventoryCriterion.listingIds'.

#### 38255 - API_MARKETING
**Description:** The promotion description exceeds the maximum length, which is {promoDescriptionLength}.

#### 38256 - API_MARKETING
**Description:** The promotion name exceeds the maximum length, which is {promoNameLength}.

#### 38261 - API_MARKETING
**Description:** Promotions are currently limited to a maximum of {maxListingInclLimit} parent items, when entering item IDs or choosing from live inventory.

#### 38262 - API_MARKETING
**Description:** You can only include up to {maxSkuInclLimit} SKUs or custom labels in inventoryItems.

#### 38270 - API_MARKETING
**Description:** The currency type does not match what is used for the Marketplace ID submitted.

#### 345056 - API_MARKETING
**Description:** The request can have only one of these field types: 'inventoryItems' or 'listingIds'.

#### 345057 - API_MARKETING
**Description:** 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
**Description:** When using multiple selectedInventoryDiscounts containers, each must have a unique percentageoffitems value. For help, see the documentation for this call.

#### 345059 - API_MARKETING
**Description:** If using percentageoffitems you can have between 1 and 10 selectedInventoryDiscounts containers. For help, see the documentation for this call.

#### 345060 - API_MARKETING
**Description:** If using amountoffitems you can only have selectedInventoryDiscounts container. For help, see the documentation for this call.

#### 345061 - API_MARKETING
**Description:** The discount ID value is a read only value.

#### 345063 - API_MARKETING
**Description:** Priority is not supported for the item\_price\_markdown calls.

#### 345110 - API_MARKETING
**Description:** You can specify only one of Inventory Items, Listing IDs or Rules in the Inventory Criterion.

#### 345111 - API_MARKETING
**Description:** You cannot specify Rules when using the Inventory by Value Criterion.

#### 345114 - API_MARKETING
**Description:** A Category scope is required for the Rule. Please refer to API documentation for allowed values.

#### 345115 - API_MARKETING
**Description:** At least one Category is required. Please provide a valid input for this field and try again.

#### 345116 - API_MARKETING
**Description:** You can specify only Marketplace categories or Store categories when creating Rules.

#### 345120 - API_MARKETING
**Description:** Invalid Item condition. Please refer to API documentation for allowed values.

#### 345121 - API_MARKETING
**Description:** You can specify only one of Inventory Items or Listing IDs in the Exclusion Criterion.

#### 345122 - API_MARKETING
**Description:** category ids cannot be specified with the inventory of type any.

#### 345123 - API_MARKETING
**Description:** brands cannot be specified with inventory of type any or Store.

#### 345125 - API_MARKETING
**Description:** 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
**Description:** 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.

#### 38203 - API_MARKETING
**Description:** Resource not found. Check the ID and try the call again.

#### 345067 - API_MARKETING
**Description:** A promotion can only be deleted if it is ended.

#### 38225 - API_MARKETING
**Description:** You cannot update a promotion that has ended.

#### 38232 - API_MARKETING
**Description:** You cannot update the promotion discount for an active promotion.

#### 38260 - API_MARKETING
**Description:** To update the start date of a promotion, the promotion must be in draft or scheduled state.

#### 38269 - API_MARKETING
**Description:** The promotion ID does not match any of the seller's promotions.

#### 345065 - API_MARKETING
**Description:** You cannot change the status of aa SCHEDULED promotion to DRAFT. For help, see the documentation for this call.

#### 345070 - API_MARKETING
**Description:** The giving discount ID does not exist in the promotion. For help, see the documentation for this call.

#### 345071 - API_MARKETING
**Description:** The giving discount type is not consistent with existing active promotion. For help, see the documentation for this call.

#### 345072 - API_MARKETING
**Description:** The giving inventory criterion type is not consistent with existing active promotion. For help, see the documentation for this call.

#### 38205 - API_MARKETING
**Description:** The Marketplace ID is not recognized or is not eligible for promotions.

#### 38207 - API_MARKETING
**Description:** The promotion priority is invalid. Please check and try the call again.

#### 38236 - API_MARKETING
**Description:** The 'discountSpecification' data is missing, which is required by this call. For help, see the documentation for this call.

#### 38237 - API_MARKETING
**Description:** The request can have only one of these fields: 'minQuantity', 'forEachQuantity', 'minAmount', or 'forEachAmount' in 'discountSpecification'. For help, see the documentation for this call.

#### 38239 - API_MARKETING
**Description:** The request can have only one of these fields: 'percentageOffOrder', 'amountOffOrder', 'percentageOffItem', or 'amountOffItem' in 'discountBenefit'. For help, see the documentation for this call.

#### 38241 - API_MARKETING
**Description:** This discount rule combination is currently not supported. For help, see the documentation for this call.

#### 38253 - API_MARKETING
**Description:** The data combination of 'DiscountSpecification' and 'DiscountBenefit' is not valid for this promotion type. For help, see the documentation for this call.

#### 38257 - API_MARKETING
**Description:** This promotion type supports only one discount rule for the item promotion.

#### 38265 - API_MARKETING
**Description:** Number of discount items is greater than the quantity specified in 'DiscountSpecification'.

#### 38267 - API_MARKETING
**Description:** The '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.

#### 345118 - API_MARKETING
**Description:** You can specify only one of Inventory Items or Listing IDs in the Exclusion Criterion.

#### 345124 - API_MARKETING
**Description:** Exclusions are currently limited to a maximum of 100 parent items, when entering Inventory Items or Listing IDs, or choosing from live inventory.

#### 345127 - API_MARKETING
**Description:** Category aspects are not supported in this version.

#### 345128 - API_MARKETING
**Description:** The minimum discount rules required for volume discount promotions are {numOfDiscountRules}

#### 345129 - API_MARKETING
**Description:** The 'discountRules.ruleOrder' is missing or invalid for one of the discount rules for volume discount promotions. see the documentation for this call.

#### 345130 - API_MARKETING
**Description:** You can include up to a maximum of {numOfDiscountRules} discount rules in a volume discount promotion.

#### 345131 - API_MARKETING
**Description:** Each 'minQuantity' value should be one greater than the 'minQuantity' value of the previous discount rule.

#### 345132 - API_MARKETING
**Description:** The discount value is invalid for one of the discount rules for volume discount promotions. see the documentation for this call.

#### 345133 - API_MARKETING
**Description:** Each 'percentageOffOrder' or 'amountOffOrder' value should be greater than the 'percentageOffOrder' or 'amountOffOrder' value of the previous discount rule for volume discount promotions.

#### 345134 - API_MARKETING
**Description:** This promotionType is currently not supported. For help, see the documentation for this call.

#### 345136 - API_MARKETING
**Description:** The 'discountBenefit' specified is not supported for this promotion Type. For help, see the documentation for this call.

#### 345137 - API_MARKETING
**Description:** The 'couponCode' data is missing for coded coupon promotions. For help, see the documentation for this call.

#### 345138 - API_MARKETING
**Description:** The 'couponCode' value is invalid. For help, see the documentation for this call.

#### 345139 - API_MARKETING
**Description:** The 'couponType' data is missing for coded coupon promotions. For help, see the documentation for this call.

#### 345140 - API_MARKETING
**Description:** The 'couponType' value is invalid. For help, see the documentation for this call.

#### 345141 - API_MARKETING
**Description:** The 'maxDiscountAmount' data is missing for coded coupon promotions. For help, see the documentation for this call.

#### 345142 - API_MARKETING
**Description:** The 'maxDiscountAmount' value is invalid. For help, see the documentation for this call.

#### 345143 - API_MARKETING
**Description:** The 'maxCouponRedemptionPerUser' value is invalid. For help, see the documentation for this call.

#### 345144 - API_MARKETING
**Description:** The 'budget' value is invalid. For help, see the documentation for this call.

#### 345145 - API_MARKETING
**Description:** A coupon with this 'couponCode' already exists. Please try a different 'couponCode'.

#### 345146 - API_MARKETING
**Description:** The 'currency' for 'maxDiscountAmount' and 'budget' has to be same. For help, see the documentation for this call.

#### 345147 - API_MARKETING
**Description:** 'promotionType' CODED\_COUPON is currently not supported for this Marketplace ID. For help, see the documentation for this call.

#### 345148 - API_MARKETING
**Description:** The 'discountBenefit' value cannot exceed the 'maxDiscountAmount' value.

#### 38216 - API_MARKETING
**Description:** A promotion can only be deleted if it is paused or ended.

#### 345077 - API_MARKETING
**Description:** You cannot update a promotion that was not created through the API.

#### 345076 - API_MARKETING
**Description:** You cannot get the details of a promotion that was not created through the API.

#### 38210 - API_MARKETING
**Description:** You cannot change the priority of a promotion that is ended or deleted.

#### 38271 - API_MARKETING
**Description:** Only new or scheduled promotions can be saved as a draft.

#### 345135 - API_MARKETING
**Description:** You cannot update the promotion type for a promotion.

#### 345149 - API_MARKETING
**Description:** The 'currency' for 'maxDiscountAmount' and 'budget' has to be same. For help, see the documentation for this call.

#### 345150 - API_MARKETING
**Description:** 'promotionType' CODED\_COUPON is currently not supported for this Marketplace ID. For help, see the documentation for this call.

#### 345151 - API_MARKETING
**Description:** The 'discountBenefit' value cannot exceed the 'maxDiscountAmount' value.

#### 38211 - API_MARKETING
**Description:** The offset value must be an integer value greater than or equal to zero.

#### 38212 - API_MARKETING
**Description:** The sort value was not valid. For the valid values, see the documentation for this call.

#### 38213 - API_MARKETING
**Description:** You can query a limit of between 0 and 200 promotion records at a time. Update the request and resubmit the call.

#### 38214 - API_MARKETING
**Description:** A promotion can only be paused if it is scheduled or running.

#### 38209 - API_MARKETING
**Description:** You cannot resume a promotion that is not paused or has already ended.

#### 35201 - STORE_CRM
**Description:** 'marketplaceId' value is not supported. For the valid values, see the documentation for this call.

#### 35202 - STORE_CRM
**Description:** 'emailCampaignType' value is not supported. For the valid values, see the documentation for this call.

#### 35203 - STORE_CRM
**Description:** 'audiences' is required for this call.

#### 35204 - STORE_CRM
**Description:** 'subject' is required for this call.

#### 35205 - STORE_CRM
**Description:** 'personalizedMessage' is required for this call.

#### 35206 - STORE_CRM
**Description:** 'subject' length is too long. For maximum limits, see the documentation for this call.

#### 35207 - STORE_CRM
**Description:** 'audiences' value is not suitable for current email campaign type.

#### 35208 - STORE_CRM
**Description:** 'itemIds' is required for this call.

#### 35209 - STORE_CRM
**Description:** For 'WELCOME' type campaign, 'itemIds' should be empty.

#### 35210 - STORE_CRM
**Description:** The item {itemIds} size exceeds maximum. For maximum limits, see the documentation for this call.

#### 35211 - STORE_CRM
**Description:** No eligible items for current campaign.

#### 35212 - STORE_CRM
**Description:** 'promotionId' is required for this call.

#### 35213 - STORE_CRM
**Description:** 'promotionId' is invalid, promotion may be inactive or non-exist.

#### 35214 - STORE_CRM
**Description:** 'scheduleDate' is not required for this call.

#### 35215 - STORE_CRM
**Description:** 'scheduleDate' is missing or invalid, please use a valid UTC format(yyyy-MM-ddThh:mm.sssZ) string.

#### 35216 - STORE_CRM
**Description:** Only one 'WELCOME' type email campaign is allowed for one marketplace.

#### 35217 - STORE_CRM
**Description:** Only one automated promotion email campaign is allowed for one campaign type per marketplace id.

#### 35218 - STORE_CRM
**Description:** 'personalizedMessage' length is too long. For maximum limits, see the documentation for this call.

#### 35219 - STORE_CRM
**Description:** The email campaign schedule date {scheduleDate} must be in the future.

#### 35220 - STORE_CRM
**Description:** 'itemIds' contains ineligible item id, please check the item list

#### 35221 - STORE_CRM
**Description:** 'itemSelectMode' is invalid for this campaign, please see the documentation for this call.

#### 35401 - STORE_CRM
**Description:** No email campaign found for email campaign ID {email\_campaign\_id}.

#### 35101 - STORE_CRM
**Description:** The paginated query limit {limit} value is missing or invalid. The value cannot be less than or equal to zero.

#### 35501 - STORE_CRM
**Description:** No email campaign found for email campaign ID {email\_campaign\_id}.

#### 35301 - STORE_CRM
**Description:** The paginated query limit {limit} value is missing or invalid. The value cannot be less than or equal to zero and also cannot be greater than maximum value.

#### 35302 - STORE_CRM
**Description:** The paginated query offset {offset} value is missing or invalid. The value cannot be less zero and also cannot be greater than maximum value.

#### 35303 - STORE_CRM
**Description:** The query string {q} is malformed. For the valid format, see the documentation for this call.

#### 35304 - STORE_CRM
**Description:** The email campaign type {campaignType} in query string {q} is not supported. For the valid values, see the documentation for this call.

#### 35305 - STORE_CRM
**Description:** The 'marketplaceId' in query string {q} is not supported. For the valid values, see the documentation for this call.

#### 35306 - STORE_CRM
**Description:** The email campaign status {status} in query string {q} is not supported. For the valid values, see the documentation for this call.

#### 35307 - STORE_CRM
**Description:** The campaign type {campaignType} in query string {q} is required.

#### 35601 - STORE_CRM
**Description:** No email campaign found for email campaign ID {email\_campaign\_id}.

#### 35701 - STORE_CRM
**Description:** 'startDate' value is missing or invalid, please use a valid UTC format(yyyy-MM-ddThh:mm:sssZ) string.

#### 35702 - STORE_CRM
**Description:** 'endDate' value is missing or invalid, please use a valid UTC format(yyyy-MM-ddThh:mm:sssZ) string.

#### 35703 - STORE_CRM
**Description:** The query start date {startDate} cannot be later than query end date {endDate}.

#### 35704 - STORE_CRM
**Description:** The time interval between start date and end date exceeds maximum limit. For maximum limits, please see the documentation for this call.

#### 35705 - STORE_CRM
**Description:** 'currency' value is not supported. For the valid values, see the documentation for this call.

#### 35801 - STORE_CRM
**Description:** 'audiences' is required for this call.

#### 35802 - STORE_CRM
**Description:** No email campaign found for email campaign ID {email\_campaign\_id}.

#### 35803 - STORE_CRM
**Description:** 'subject' is required for this call.

#### 35804 - STORE_CRM
**Description:** 'personalizedMessage' is required for this call.

#### 35805 - STORE_CRM
**Description:** 'subject' length is too long. For maximum limits, see the documentation for this call.

#### 35806 - STORE_CRM
**Description:** 'audiences' value is not suitable for current email campaign type.

#### 35807 - STORE_CRM
**Description:** 'itemIds' is required for this call.

#### 35808 - STORE_CRM
**Description:** For 'WELCOME' type campaign, 'itemIds' should be empty.

#### 35809 - STORE_CRM
**Description:** The item {itemIds} size exceeds maximum. For maximum limits, see the documentation for this call.

#### 35810 - STORE_CRM
**Description:** No eligible items for current campaign.

#### 35811 - STORE_CRM
**Description:** 'promotionId' is required for this call.

#### 35812 - STORE_CRM
**Description:** 'promotionId' is invalid, promotion may be inactive or non-exist.

#### 35813 - STORE_CRM
**Description:** 'scheduleDate' is not required for this call.

#### 35814 - STORE_CRM
**Description:** 'scheduleDate' is missing or invalid, please use a valid UTC format(yyyy-MM-ddThh:mm:sssZ) string.

#### 35815 - STORE_CRM
**Description:** 'email\_campaign\_id' is not eligible for editing.

#### 35816 - STORE_CRM
**Description:** 'personalizedMessage' length is too long. For maximum limits, see the documentation for this call.

#### 35817 - STORE_CRM
**Description:** The email campaign schedule date {scheduleDate} must be in the future.

#### 35818 - STORE_CRM
**Description:** 'itemIds' contains ineligible item id, please check the item list

#### 35819 - STORE_CRM
**Description:** 'itemSelectMode' is invalid for this campaign, please see the documentation for this call.

### BUSINESS Errors

#### 35061 - API_MARKETING
**Description:** The campaign with 'campaign\_id' {campaign\_id} is being synced to match the specifications of the campaign. Please wait a few minutes and try the call again.

#### 35063 - API_MARKETING
**Description:** The campaign with 'campaign\_id' {campaign\_id} is ending soon. No update operations are allowed on this campaign until it ends.

#### 35064 - API_MARKETING
**Description:** This operation is only supported for key based campaigns.

#### 35071 - API_MARKETING
**Description:** You have exceeded the maximum number of listing IDs or inventory reference IDs. Only {maxSupportedNumber} IDs are supported per call.

#### 35072 - API_MARKETING
**Description:** InventoryReferenceId {inventoryReferenceId} is not eligible for Promoted Listings because it is a variation and variations can only be promoted using the parent ID to which it belongs. Replace this ID with the InventoryReferenceId of the parent and set 'inventoryReferenceType' to 'INVENTORY\_ITEM\_GROUP'.

#### 35077 - API_MARKETING
**Description:** To use Promoted Listings, you need to improve your seller level to Top Rated or Above Standard and have enough recent sales activity.

#### 35078 - API_MARKETING
**Description:** To gain access to Promoted Listings, you must be in good standing with recent sales activity.

#### 35052 - API_MARKETING
**Description:** The category {categoryId} is not supported by the Promoted Listing service for multi-quantity listings.

#### 35054 - API_MARKETING
**Description:** The listing ID {listingId} was created on a different marketplace than the campaign. The listing and campaign must reside on the same marketplace.

#### 35057 - API_MARKETING
**Description:** The listing ID {listingId} does not belong to the seller making this call.

#### 35058 - API_MARKETING
**Description:** The listing ID {listingId} is not a fixed price item. This is a requirement for a promoted listing.

#### 35059 - API_MARKETING
**Description:** The listing ID {listingId} is not a multi-quantity item. This is a requirement for a promoted listing.

#### 35068 - API_MARKETING
**Description:** You have exceeded the maximum number of listing Ids. Only {maxSupportedNumber} listings are supported per call.

#### 35075 - API_MARKETING
**Description:** The category {categoryId} is not supported by the Promoted Listing service for single-quantity listings.

#### 35089 - API_MARKETING
**Description:** We are currently testing a premium ads product with a small invite-only group. We will share more information when we are ready to expand.

#### 36152 - API_MARKETING
**Description:** The 'bidPercentage' is not supported for CPC funding model.

#### 36221 - API_MARKETING
**Description:** You have exceeded the maximum number of ads supported in a ad group with this request. Only {maxItemsLimit} ads are allowed per ad group.

#### 35113 - API_MARKETING
**Description:** This operation is not supported when selected adRateStratergy is DYNAMIC for the campaign.

#### 36160 - API_MARKETING
**Description:** This functionality is only supported for CPC funding model.

#### 35084 - API_MARKETING
**Description:** The Ad associated with listing Id {listingId} is archived.

#### 35085 - API_MARKETING
**Description:** The 'adGroupId' {ad\_group\_id} does not exist under campaign {campaign\_id}.

#### 35129 - API_MARKETING
**Description:** This method is not supported for campaigns with smart targeting type.

#### 36213 - API_MARKETING
**Description:** The campaign funding model should be CPC. Please check funding model for provided campaign id.

#### 35051 - API_MARKETING
**Description:** 'marketplaceId' {marketplaceId} is not supported. Promoted Listings is supported only on these marketplaces: {supportedMarketplaces}.

#### 36320 - API_MARKETING
**Description:** The keywordText {keywordText} cannot have total number of words more than {maxWordsInKeyword} words

#### 35062 - API_MARKETING
**Description:** The campaign with 'campaign\_id' {campaign\_id} has not ended yet. cloneCampaign is supported only for criterion based campaigns that have ended.

#### 35065 - API_MARKETING
**Description:** This operation is only supported for criterion based campaigns.

#### 35106 - API_MARKETING
**Description:** 'BidPercentage' should be provided when selected 'adRateStrategy' is 'FIXED'.

#### 35107 - API_MARKETING
**Description:** 'dynamicAdRatePreferences' can be provided only when selected 'adRateStrategy' is 'DYNAMIC'.

#### 35108 - API_MARKETING
**Description:** The 'adRateAdjustmentPercent' {adRateAdjustmentPercent} is not valid. Please set 'adRateAdjustmentPercent' {adRateAdjustmentPercent} between {minAllowedAdRateAdjustmentPercent}% - {maxAllowedAdRateAdjustmentPercent}%.

#### 35109 - API_MARKETING
**Description:** The 'adRateCapPercent' {adRateCapPercent} is not valid. Please set 'adRateCapPercent' between {minAllowedAdRateCapPercent}% - {maxAllowedAdRateCapPercent}%.

#### 35110 - API_MARKETING
**Description:** The 'adRateStrategy' is not supported for CPC funding model.

#### 35111 - API_MARKETING
**Description:** The 'dynamicAdRatePreferences' is not supported for CPC funding model.

#### 35112 - API_MARKETING
**Description:** The 'adRateStrategy' is currently only supported for criterion based campaign with 'autoselectFutureInventory' as True.

#### 35114 - API_MARKETING
**Description:** The 'dynamicAdRatePreferences' list currently can only support one element containing dynamicAdRatePreference. Please remove additional elements and try again.

#### 35304 - API_MARKETING
**Description:** Another campaign cannot be created at this time, as the user is currently using a feature that only supports one campaign at a time.

#### 35053 - API_MARKETING
**Description:** MarketplaceId: {marketplaceId} and Currency: {currency} for the listing selection rule do not match.

#### 35067 - API_MARKETING
**Description:** The seller must accept the Promoted Listing terms and conditions. For the requirements to use the Promoted Listing API, refer to the documentation.

#### 35069 - API_MARKETING
**Description:** No more than {maxNumberOfSelectionRules} listing selection rules are allowed in a campaign.

#### 35074 - API_MARKETING
**Description:** There were no eligible listings found for the selection rules provided. Please check the rules and submit the call again.

#### 35094 - API_MARKETING
**Description:** Maximum number of campaigns allowed with the 'channels' value {channel} is exceeded.

#### 35095 - API_MARKETING
**Description:** 'marketplaceId' {marketplaceId} is not supported. Offsite Ads is supported only on these marketplaces: {supportedMarketplaces}.

#### 35104 - API_MARKETING
**Description:** 'categoryScope' STORE can not be found. Please define the store categories first or use 'categoryScope' MARKETPLACE to select categories.

#### 35127 - API_MARKETING
**Description:** 'maxCPC' is only supported for CPC funding model campaigns with on-site channels and smart targeting type.

#### 35128 - API_MARKETING
**Description:** 'campaignTargetingType' is only supported for CPC funding model campaigns with on-site channels.

#### 35132 - API_MARKETING
**Description:** The 'biddingStrategy' field is not supported for CPS funding model.

#### 36151 - API_MARKETING
**Description:** 'campaignCriterion' {campaignCriterion} is not supported for CPC funding model.

#### 36153 - API_MARKETING
**Description:** The daily budget currency {currency} is not supported for {fieldName}. The supported currency for the {marketplaceId} marketplace is {supportedCurrencyCode}.

#### 36154 - API_MARKETING
**Description:** The daily budget below minimum allowed {minAllowed}.

#### 36155 - API_MARKETING
**Description:** The daily budget above maximum allowed {maxAllowed}.

#### 36156 - API_MARKETING
**Description:** campaignBudget is not supported for CPS funding model.

#### 36157 - API_MARKETING
**Description:** The daily budget is required for campaigns with CPC funding model.

#### 36158 - API_MARKETING
**Description:** The daily budget value format {dailyBudgetValue} cannot have more than 2 decimal places.

#### 36159 - API_MARKETING
**Description:** 'marketplaceId' {marketPlaceId} is not supported. Promoted Listings with CPC funding model is supported only on these marketplaces: {supportedMarketplaces}.

#### 35056 - API_MARKETING
**Description:** The state of the campaign cannot be changed as requested.

#### 35303 - API_MARKETING
**Description:** The status of this campaign cannot be modified through this API. Refer to the API call documentation for more information.

#### 35308 - API_MARKETING
**Description:** The 'adRateStrategy' of this campaign cannot be modified through this API. Refer to the API call documentation for more information.

#### 35126 - API_MARKETING
**Description:** The 'biddingStrategy' isn't applicable for campaigns with smart targeting type.

#### 35134 - API_MARKETING
**Description:** A 'biddingStrategy' cannot be supplied for smart targeting campaigns. Please either remove 'biddingStrategy' from the request to create a smart targeting campaign or supply another value for 'campaignTargetingType'.

#### 36167 - API_MARKETING
**Description:** The daily budget change must be at least 0.50 {currencyCode}.

#### 36168 - API_MARKETING
**Description:** You have exceeded the allowed limit on daily budget changes for this campaign.

#### 36408 - API_MARKETING
**Description:** The seller must accept the new pricing policy before the campaign can be updated.

#### 35055 - API_MARKETING
**Description:** The start date cannot be modified for an active campaign.

#### 35306 - API_MARKETING
**Description:** The 'endDate' of this campaign cannot be modified through this API. Refer to the API call documentation for more information.

#### 35307 - API_MARKETING
**Description:** The 'campaignName' of this campaign cannot be modified through this API. Refer to the API call documentation for more information.

#### 36316 - API_MARKETING
**Description:** You have exceeded the maximum number of Keyword requests in a bulk request. Only {maxSupportedRequestNumberInBulk} Ids are supported per call.

#### 36319 - API_MARKETING
**Description:** You have exceeded the maximum number of create Keyword for an Ad Group. Only {maxSupportedNumber} Ids are supported per Ad Group.

#### 36322 - API_MARKETING
**Description:** Total keyword requests exceed the current AdGroup keyword capacity, which is {maxSupportedRequestNumber}.

#### 35101 - API_MARKETING
**Description:** You have exceeded the maximum number of campaign IDs. Only {maxSupportedCampaigns} campaigns are supported per call.

#### 35141 - API_MARKETING
**Description:** The Report Task with 'report\_task\_id' {report\_task\_id} is being modified. Please wait a few minutes and try the call again.

#### 38248 - API_MARKETING
**Description:** The 'percentOffItem' value is invalid. For help, see the documentation for this call.

#### 38250 - API_MARKETING
**Description:** The 'amountOffItem' value is invalid. For help, see the documentation for this call.

#### 38243 - API_MARKETING
**Description:** The 'minQuantity' value is invalid. This value must be an integer.

#### 38244 - API_MARKETING
**Description:** The 'forEachQuantity' value is invalid. This value must be an integer.

#### 38245 - API_MARKETING
**Description:** The 'minAmount' value is invalid. For help, see the documentation for this call.

#### 38246 - API_MARKETING
**Description:** The 'forEachAmount' value is invalid. For help, see the documentation for this call.

#### 38247 - API_MARKETING
**Description:** The 'numberOfDiscountedItems' value is invalid. This value must be an integer.

#### 38249 - API_MARKETING
**Description:** The 'percentOffOrder' value is invalid. For help, see the documentation for this call.

#### 38251 - API_MARKETING
**Description:** The 'amountOffOrder' value is invalid. For help, see the documentation for this call.

#### 38266 - API_MARKETING
**Description:** The 'discountBenefit' value cannot exceed {maxDiscPercent}% of the 'discountSpecification.maxAmount' value.

#### 38268 - API_MARKETING
**Description:** The 'discountBenefit' value cannot exceed {maxDiscPercent}% of the 'discountSpecification'.

#### 35001 - STORE_CRM
**Description:** A store subscription is required for this call, please check the store subscription status for current seller.

### APPLICATION Errors

#### 35001 - API_MARKETING
**Description:** There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.

#### 35002 - API_MARKETING
**Description:** Internal error. Please wait a few minutes and try the call again.

#### 38201 - API_MARKETING
**Description:** Internal server error encountered. If this problem persists, contact the eBay Developers Program for support.

#### 35000 - STORE_CRM
**Description:** Internal server error encountered. If this problem persists, contact the eBay Developers Program for support.

## Rate Limits

See [API Call Limits](https://developer.ebay.com/develop/get-started/api-call-limits) on the eBay Developer Program.

## Resources

### Documentation

- [eBay Developer Program](https://developer.ebay.com/)
- [API Documentation](https://developer.ebay.com/develop/api/)
- [SDKs and Widgets](https://developer.ebay.com/develop/sdks-and-widgets)
- [Developer Community Forum](https://community.ebay.com/t5/Developer-Groups/ct-p/developergroup)

### Tools

- [API Explorer](https://developer.ebay.com/my/api_test_tool)
- [GraphQL Explorer](https://developer.ebay.com/my/graphql_explorer)

### Support

- [Developer Support](https://developer.ebay.com/support/)
- [API Status](https://developer.ebay.com/support/api-status)
- [Release Notes](https://developer.ebay.com/develop/api/release_notes/)

---
*Generated on 2026-07-08T04:28:09.355Z*