# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-07T15:11:49+00:00
import argparse
import os
from typing import *
from typing import Optional, Union
from autogen.mcp.mcp_proxy import MCPProxy
from autogen.mcp.mcp_proxy.security import BaseSecurity, UnsuportedSecurityStub
from models import (
Ad,
AdCampaignCampaignIdAdGroupPostResponse,
AdCampaignCampaignIdAdPostResponse,
AdCampaignCampaignIdClonePostResponse,
AdCampaignCampaignIdKeywordPostResponse,
AdCampaignPostResponse,
AdGroup,
AdGroupPagedCollectionResponse,
AdIds,
AdPagedCollectionResponse,
AdReferences,
AdReportReportIdGetResponse,
Ads,
BaseResponse,
BulkAdResponse,
BulkAdUpdateResponse,
BulkAdUpdateStatusByListingIdResponse,
BulkAdUpdateStatusResponse,
BulkCreateAdRequest,
BulkCreateAdsByInventoryReferenceRequest,
BulkCreateAdsByInventoryReferenceResponse,
BulkCreateKeywordRequest,
BulkCreateKeywordResponse,
BulkCreateNegativeKeywordRequest,
BulkCreateNegativeKeywordResponse,
BulkDeleteAdRequest,
BulkDeleteAdResponse,
BulkDeleteAdsByInventoryReferenceRequest,
BulkDeleteAdsByInventoryReferenceResponse,
BulkUpdateAdsByInventoryReferenceResponse,
BulkUpdateAdStatusByListingIdRequest,
BulkUpdateAdStatusRequest,
BulkUpdateKeywordRequest,
BulkUpdateKeywordResponse,
BulkUpdateNegativeKeywordRequest,
BulkUpdateNegativeKeywordResponse,
Campaign,
CampaignPagedCollectionResponse,
Campaigns,
CloneCampaignRequest,
CreateAdGroupRequest,
CreateAdRequest,
CreateAdsByInventoryReferenceRequest,
CreateCampaignRequest,
CreateKeywordRequest,
CreateNegativeKeywordRequest,
CreateReportTask,
DeleteAdsByInventoryReferenceRequest,
ItemPriceMarkdown,
ItemPriceMarkdownPostResponse,
ItemPriceMarkdownPromotionIdPutResponse,
ItemPromotion,
ItemPromotionResponse,
ItemsPagedCollection,
Keyword,
KeywordPagedCollectionResponse,
NegativeKeyword,
NegativeKeywordPagedCollectionResponse,
NegativeKeywordPostResponse,
PromotionsPagedCollection,
PromotionsReportPagedCollection,
ReportMetadata,
ReportMetadatas,
ReportTask,
ReportTaskPagedCollection,
SummaryReportResponse,
TargetedAdsPagedCollection,
TargetedBidRequest,
TargetedBidsPagedCollection,
TargetedKeywordRequest,
TargetedKeywordsPagedCollection,
UpdateAdGroupRequest,
UpdateAdrateStrategyRequest,
UpdateBidPercentageRequest,
UpdateCampaignBudgetRequest,
UpdateCampaignIdentificationRequest,
UpdateKeywordRequest,
UpdateNegativeKeywordRequest,
)
app = MCPProxy(
contact={'name': 'eBay Inc,', 'x-twitter': 'ebay'},
description='<p>The <i>Marketing API </i> offers two platforms that sellers can use to promote and advertise their products:</p> <ul><li><b>Promoted Listings</b> is an eBay ad service that lets sellers set up <i>ad campaigns </i> for the products they want to promote. eBay displays the ads in search results and in other marketing modules as <b>SPONSORED</b> listings. If an item in a Promoted Listings campaign sells, the seller is assessed a Promoted Listings fee, which is a seller-specified percentage applied to the sales price. For complete details, refer to the <a href="/api-docs/sell/static/marketing/pl-landing.html">Promoted Listings playbook</a>.</li><li><b>Promotions Manager</b> gives sellers a way to offer discounts on specific items as a way to attract buyers to their inventory. Sellers can set up discounts (such as "20% off" and other types of offers) on specific items or on an entire customer order. To further attract buyers, eBay prominently displays promotion <i>teasers</i> throughout buyer flows. For complete details, see <a href="/api-docs/sell/static/marketing/promotions-manager.html">Promotions Manager</a>.</li></ul> <p><b>Marketing reports</b>, on both the Promoted Listings and Promotions Manager platforms, give sellers information that shows the effectiveness of their marketing strategies. The data gives sellers the ability to review and fine tune their marketing efforts.</p> <p class="tablenote"><b>Important!</b> Sellers must have an active eBay Store subscription, and they must accept the <b>Terms and Conditions</b> before they can make requests to these APIs in the Production environment. There are also site-specific listings requirements and restrictions associated with these marketing tools, as listed in the "requirements and restrictions" sections for <a href="/api-docs/sell/marketing/static/overview.html#PL-requirements">Promoted Listings</a> and <a href="/api-docs/sell/marketing/static/overview.html#PM-requirements">Promotions Manager</a>.</p> <p>The table below lists all the Marketing API calls grouped by resource.</p>',
license={
'name': 'eBay API License Agreement',
'url': 'https://go.developer.ebay.com/api-license-agreement',
},
title='Marketing API',
version='v1.14.0',
servers=[
{
'description': 'Production',
'url': 'https://api.ebay.com{basePath}',
'variables': {'basePath': {'default': '/sell/marketing/v1'}},
}
],
)
@app.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 status, and the funding model (Cost Per Sale (CPS) or Cost Per Click (CPC). <p>You can filter the result set by a campaign name, end date range, start date range, or campaign status. You can also paginate the records returned from the result set using the <b>limit</b> query parameter, and control which records to return using the <b>offset</b> parameter.</p> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_campaigns(
campaign_name: Optional[str] = None,
campaign_status: Optional[str] = None,
end_date_range: Optional[str] = None,
funding_strategy: Optional[str] = None,
limit: Optional[str] = None,
offset: Optional[str] = None,
start_date_range: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign',
description=""" This method creates a Promoted Listings ad campaign. <p>A Promoted Listings <i>campaign</i> is the structure into which you place the ads or ad group for the listings you want to promote.</p> <p>Identify the items you want to place into a campaign either by "key" or by "rule" as follows:</p> <ul><li><b>Rules-based campaigns</b> – A rules-based campaign adds items to the campaign according to the <i>criteria</i> you specify in your call to <b>createCampaign</b>. You can set the <b>autoSelectFutureInventory</b> request field to <code>true</code> so that after your campaign launches, eBay will regularly assess your new, revised, or newly-eligible listings to determine whether any should be added or removed from your campaign according to the rules you set. If there are, eBay will add or remove them automatically on a daily basis.</li> <li><b>Key-based campaigns</b> – Add items to an existing campaign using either listing ID values or Inventory Reference values: <ul><li>Add <b>listingId</b> values to an existing campaign by calling either <b>createAdByListingID</b> or <b>bulkCreateAdsByListingId</b>.</li> <li>Add <b>inventoryReference</b> values to an existing campaign by calling either <b>createAdByInventoryReference</b> or <b>bulkCreateAdsByInventoryReference</b>.</li><li>Add an <b>ad group</b> to an existing campaign by calling <b>createAdGroup</b>.</li></ul><p class="tablenote"><b>Note:</b> No matter how you add items to a Promoted Listings campaign, each campaign can contain ads for a maximum of 50,000 items. <br><br>If a rules-based campaign identifies more than 50,000 items, ads are created for only the first 50,000 items identified by the specified criteria, and ads are not created for the remaining items.</p> <p><b>Creating a campaign</b></p> <p>To create a basic campaign, supply:</p> <ul><li>The user-defined campaign name</li> <li>The start date (and optionally the end date) of the campaign</li> <li>The eBay marketplace on which the campaign is hosted</li> <li>Details on the campaign funding model</li></ul> <p>The campaign funding model specifies how the Promoted Listings fee is calculated. Currently, the supported funding models are <code>COST_PER_SALE</code> and <code>COST_PER_CLICK</code>. For complete information on how the fee is calculated and when it applies, see <a href="/api-docs/sell/static/marketing/pl-overview.html#pl-fees">Promoted Listings fees</a>.</p> <p>If you populate the <b>campaignCriterion</b> object in your <b>createCampaign</b> request, campaign "ads" are created by "rule" for the listings that meet the criteria you specify, and these ads are associated with the newly created campaign.</p> <p>For details on creating Promoted Listings campaigns and how to select the items to be included in your campaigns, see <a href="/api-docs/sell/static/marketing/pl-create-campaign.html">Promoted Listings campaign creation</a>.</p> <p>For recommendations on which listings are prime for a Promoted Listings ad campaign and to get guidance on how to set the <b>bidPercentage</b> field, see <a href="/api-docs/sell/static/marketing/pl-reco-api.html">Using the Recommendation API to help configure campaigns</a>.</p> <p class="tablenote"><b>Tip:</b> See <a href="/api-docs/sell/marketing/static/overview.html#PL-requirements">Promoted Listings requirements and restrictions</a> for the details on the marketplaces that support Promoted Listings via the API. See <a href="/api-docs/sell/static/marketing/pl-restrictions">Promoted Listings restrictions</a> for details about campaign limitations and restrictions.</p> """,
tags=['campaign_lifecycle_management', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_campaign(body: CreateCampaignRequest):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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 <b>listing_id</b>, <i>or</i> an <b>inventory_reference_id</b> and <b>inventory_reference_type</b> pair, as used in the Inventory API.<br /><br />eBay <i>listing IDs</i> are generated by either the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods">Inventory API</a> when you create a listing.<br /><br />An <i>inventory reference ID</i> can be either a seller-defined <b>SKU</b> or <b>inventoryItemGroupKey</b>, as specified in the Inventory API.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['advertisement_management', 'item_promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def find_campaign_by_ad_reference(
inventory_reference_id: Optional[str] = None,
inventory_reference_type: Optional[str] = None,
listing_id: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/get_campaign_by_name',
description=""" This method retrieves the details of a single campaign, as specified with the <b>campaign_name</b> 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.</p><p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a list of the seller's campaign names.</p> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_campaign_by_name(campaign_name: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.delete(
'/ad_campaign/{campaign_id}',
description=""" This method deletes the campaign specified by the <code>campaign_id</code> query parameter.<br /><br /><span class="tablenote"><b>Note: </b> You can only delete campaigns that have ended.</span><br /><br />Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve the <b>campaign_id</b> and the campaign status (<code>RUNNING</code>, <code>PAUSED</code>, <code>ENDED</code>, and so on) for all the seller's campaigns. """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def delete_campaign(campaign_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}',
description=""" This method retrieves the details of a single campaign, as specified with the <b>campaign_id</b> query parameter. <p>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 <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a>.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a list of the seller's campaign IDs.</p> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_campaign(campaign_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/ad',
description=""" This method retrieves Promoted Listings ads that are associated with listings created with either the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>. <p>The method retrieves ads related to the specified campaign. Specify the Promoted Listings campaign to target with the <b>campaign_id</b> path parameter.</p> <p>Because of the large number of possible results, you can use query parameters to paginate the result set by specifying a <b>limit</b>, 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 <b>offset</b> path parameter.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve the current campaign IDs for the seller.</p> """,
tags=['ad_group_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_ads(
ad_group_ids: Optional[str] = None,
ad_status: Optional[str] = None,
campaign_id: str = ...,
limit: Optional[str] = None,
listing_ids: Optional[str] = None,
offset: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/ad',
description=""" This method adds a listing to an existing Promoted Listings campaign using a <b>listingId</b> value generated by the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>, or using a value generated by an ad group ID. <p>For Promoted Listings Standard (PLS) campaigns using the Cost Per Sale (CPS) funding model, an ad may be directly created for the listing.</p><p>For the listing ID specified in the request, this method:</p> <ul><li>Creates an ad for the listing.</li> <li>Sets the bid percentage (also known as the <i>ad rate</i>) for the ad.</li> <li>Associates the ad with the specified campaign.</li></ul> <p>To create an ad for a listing, specify its <b>listingId</b>, plus the <b>bidPercentage</b> for the ad in the payload of the request. Specify the campaign to associate the ad with using the <b>campaign_id</b> path parameter. Listing IDs are generated by eBay when a seller creates listings with the Trading API.</p><p>For Promoted Listings Advanced (PLA) 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, an ad cannot be created.</p><p>For the ad group specified in the request, this method associates the ad with the specified ad group.</p><p>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 <b>campaign_id</b> path parameter. Ad groups are generated using the <a href="/api-docs/sell/marketing/resources/adgroup/methods/createAdGroup">createAdGroup</a> method.</p> <p>You can specify one or more ad groups per campaign.</p><p>Use <a href="/api-docs/sell/marketing/resources/campaign/methods/createCampaign">createCampaign</a> to create a new campaign and use <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to get a list of existing campaigns.</p><p>This call has no response payload. If the ad is successfully created, a <code>201 Created</code> HTTP status code and the <a href="/api-docs/sell/marketing/resources/ad/methods/getAd">getAd</a> URI of the ad are returned in the location header.</p> """,
tags=['advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_ad_by_listing_id(campaign_id: str, body: CreateAdRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.delete(
'/ad_campaign/{campaign_id}/ad/{ad_id}',
description=""" This method removes the specified ad from the specified campaign.<br /><br />Pass the ID of the ad to delete with the ID of the campaign associated with the ad as path parameters to the call.<br /><br />Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to get the current list of the seller's campaign IDs.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span><br /><br />When using the CPC funding model, use the <b>bulkUpdateAdsStatusByListingId</b> method to change the status of ads to ARCHIVED. """,
tags=['advertisement_management', 'campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def delete_ad(ad_id: str, campaign_id: str = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/ad/{ad_id}',
description=""" This method retrieves the specified ad from the specified campaign. <p>In the request, supply the <b>campaign_id</b> and <b>ad_id</b> as path parameters.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a list of the seller's current campaign IDs and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to retrieve their current ad IDs.</p> """,
tags=['advertisement_management', 'campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_ad(ad_id: str, campaign_id: str = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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. <p>In the request, supply the <b>campaign_id</b> and <b>ad_id</b> as path parameters, and supply the new <b>bidPercentage</b> value in the payload of the call.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a seller's current campaign IDs and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to get their ad IDs.</p><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['bid_strategy_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_bid(
ad_id: str, campaign_id: str = ..., body: UpdateBidPercentageRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/ad_group',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method retrieves ad groups for the specified campaigns.<br /><br />Each campaign can only have <b>one</b> ad group.<br /><br />In the request, supply the <b>campaign_ids</b> as path parameters.<br /><br />Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a list of the current campaign IDs for a seller. """,
tags=['ad_group_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_ad_groups(
ad_group_status: Optional[str] = None,
campaign_id: str = ...,
limit: Optional[str] = None,
offset: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/ad_group',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method adds an ad group to an existing PLA campaign that uses the Cost Per Click (CPC) funding model.<br /><br />To create an ad group for a campaign, specify the <b>defaultBid</b> for the ad group in the payload of the request. Then specify the campaign to which the ad group should be associated using the <b>campaign_id</b> path parameter.<br /><br />Each campaign can have one or more associated ad groups. """,
tags=['ad_group_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_ad_group(campaign_id: str, body: CreateAdGroupRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/ad_group/{ad_group_id}',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method retrieves the details of a specified ad group, such as the ad group’s default bid and status.<br /><br />In the request, specify the <b>campaign_id</b> and <b>ad_group_id</b> as path parameters.<br /><br />Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a list of the current campaign IDs for a seller and call <a href="/api-docs/sell/marketing/resources/adgroup/methods/getAdGroups">getAdGroups</a> for the ad group ID of the ad group you wish to retrieve. """,
tags=['ad_group_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_ad_group(ad_group_id: str, campaign_id: str = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.put(
'/ad_campaign/{campaign_id}/ad_group/{ad_group_id}',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method updates the ad group associated with a campaign.<br /><br />With this method, you can modify the <b>default bid</b> for the ad group, change the state of the ad group, or change the name of the ad group. Pass the <b>ad_group_id</b> you want to update as a URI parameter, and configure the <b>adGroupStatus</b> and <b>defaultBid</b> in the request payload.<br /><br />Call <a href="/api-docs/sell/marketing/resources/adgroup/methods/getAdGroup">getAdGroup</a> to retrieve the current default bid and status of the ad group that you would like to update. """,
tags=['ad_group_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_ad_group(
ad_group_id: str, campaign_id: str = ..., body: UpdateAdGroupRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/ad_group/{ad_group_id}/suggest_bids',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method allows sellers to retrieve the suggested bids for input keywords and match type. """,
tags=['ad_group_operations', 'bid_strategy_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def suggest_bids(
ad_group_id: str, campaign_id: str = ..., body: TargetedBidRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/ad_group/{ad_group_id}/suggest_keywords',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method allows sellers to retrieve a list of keyword ideas to be targeted for Promoted Listings campaigns. """,
tags=['ad_group_operations', 'keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def suggest_keywords(
ad_group_id: str, campaign_id: str = ..., body: TargetedKeywordRequest = None
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_create_ads_by_inventory_reference',
description=""" This method adds multiple listings that are managed with the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a> to an existing Promoted Listings campaign.<br /><br />For Promoted Listings Standard (PLS) campaigns using the Cost Per Sale (CPS) model, bulk ads may be directly created for the listing.<br /><br />For each listing specified in the request, this method:<br /><ul><li>Creates an ad for the listing.</li> <li>Sets the bid percentage (also known as the <i>ad rate</i>) for the ads created.</li> <li>Associates the ads created with the specified campaign.</li></ul><br />To create ads for a listing, specify their <b>inventoryReferenceId</b> and <b>inventoryReferenceType</b>, plus the <b>bidPercentage</b> for the ad in the payload of the request. Specify the campaign to which you want to associate the ads using the <b>campaign_id</b> path parameter.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span><br /><br />Use <a href="/api-docs/sell/marketing/resources/campaign/methods/createCampaign">createCampaign</a> to create a new campaign and use <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to get a list of existing campaigns. """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_create_ads_by_inventory_reference(
campaign_id: str, body: BulkCreateAdsByInventoryReferenceRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_create_ads_by_listing_id',
description=""" This method adds multiple listings to an existing Promoted Listings campaign using <b>listingId</b> values generated by the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>, or using values generated by an ad group ID.<p>For Promoted Listings Standard (PLS) campaigns using the Cost Per Sale (CPS) funding model, bulk ads may be directly created for the listing.</p><p>For each listing ID specified in the request, this method:</p> <ul><li>Creates an ad for the listing.</li> <li>Sets the bid percentage (also known as the <i>ad rate</i>) for the ad.</li> <li>Associates the ad with the specified campaign.</li></ul><p>To create an ad for a listing, specify its <b>listingId</b>, plus the <b>bidPercentage</b> for the ad in the payload of the request. Specify the campaign to associate the ads with using the <b>campaign_id</b> path parameter. Listing IDs are generated by eBay when a seller creates listings with the Trading API.</p><p>You can specify a maximum of <b>500 listings per call</b> 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.</p><p>For Promoted Listings Advanced (PLA) 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.</p><p>For the ad group specified in the request, this method associates the ad with the specified ad group.</p><p>To create an ad for an ad group, specify the name of the ad group plus the <b>defaultBid</b> for the ad in the payload of the request. Specify the campaign to associate the ads with using the <b>campaign_id</b> path parameter. Ad groups are generated using the <a href="/api-docs/sell/marketing/resources/adgroup/methods/createAdGroup">createAdGroup</a> method.</p> <p>You can specify one or more ad groups per campaign.</p><p>Use <a href="/api-docs/sell/marketing/resources/campaign/methods/createCampaign">createCampaign</a> to create a new campaign and use <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to get a list of existing campaigns.</p> """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_create_ads_by_listing_id(campaign_id: str, body: BulkCreateAdRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_create_keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method adds keywords, in bulk, to an existing PLA ad group in a campaign that uses the Cost Per Click (CPC) funding model.<br /><br />This method also sets the CPC rate for each keyword.<br /><br />In the request, supply the <b>campaign_id</b> as a path parameter.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a specified seller. """,
tags=['bulk_ad_operations', 'keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_create_keyword(campaign_id: str, body: BulkCreateKeywordRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_delete_ads_by_inventory_reference',
description=""" This method works with listings created with the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>.<br /><br />The method deletes a set of ads, as specified by a list of inventory reference IDs, from the specified campaign. <i>Inventory reference IDs</i> are seller-defined IDs that are used with the Inventory API</a>.<br /><br />Pass the <b>campaign_id</b> as a path parameter and populate the payload with a list of <b>inventoryReferenceId</b> and <b>inventoryReferenceType</b> pairs that you want to delete.<br /><br />Get the campaign IDs for a seller by calling <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to get a list of the seller's inventory reference IDs.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_delete_ads_by_inventory_reference(
campaign_id: str, body: BulkDeleteAdsByInventoryReferenceRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_delete_ads_by_listing_id',
description=""" This method works with listing IDs created with either the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>.<br /><br />The method deletes a set of ads, as specified by a list of <b>listingID</b> 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.<br /><br />Pass the <b>campaign_id</b> as a path parameter and populate the payload with the set of listing IDs that you want to delete.<br /><br />Get the campaign IDs for a seller by calling <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to get a list of the seller's inventory reference IDs.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span><br /><br />When using the CPC funding model, use the <a href="/api-docs/sell/marketing/resources/ad/methods/bulkUpdateAdsStatusByListingId">bulkUpdateAdsStatusByListingId</a> method to change the status of ads to ARCHIVED. """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_delete_ads_by_listing_id(campaign_id: str, body: BulkDeleteAdRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_update_ads_bid_by_inventory_reference',
description=""" This method works with listings created with either the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>. <p>The method updates the <b>bidPercentage</b> values for a set of ads associated with the specified campaign.</p> <p>Specify the <b>campaign_id</b> as a path parameter and supply a set of listing IDs with their associated updated <b>bidPercentage</b> values in the request body. An eBay listing ID is generated when a listing is created with the Trading API.</p> <p>Get the campaign IDs for a seller by calling <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to get a list of the seller's inventory reference IDs.</p><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_update_ads_bid_by_inventory_reference(
campaign_id: str, body: BulkCreateAdsByInventoryReferenceRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_update_ads_bid_by_listing_id',
description=""" This method works with listings created with either the <a href="/Devzone/XML/docs/Reference/eBay/index.html" title="Trading API Reference">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>. <p>The method updates the <b>bidPercentage</b> values for a set of ads associated with the specified campaign.</p> <p>Specify the <b>campaign_id</b> as a path parameter and supply a set of listing IDs with their associated updated <b>bidPercentage</b> values in the request body. An eBay listing ID is generated when a listing is created with the Trading API.</p> <p>Get the campaign IDs for a seller by calling <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to get a list of the seller's inventory reference IDs.</p><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_update_ads_bid_by_listing_id(
campaign_id: str, body: BulkCreateAdRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_update_ads_status',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method works with listings created with either the <a href= "/Devzone/XML/docs/Reference/eBay/index.html">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods">Inventory API</a>.<br /><br />This method updates the status of ads in bulk.<br /><br />Specify the <b>campaign_id</b> you want to update as a URI parameter, and configure the <b>adGroupStatus</b> in the request payload. """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_update_ads_status(campaign_id: str, body: BulkUpdateAdStatusRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_update_ads_status_by_listing_id',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method works with listings created with either the <a href="/Devzone/XML/docs/Reference/eBay/index.html">Trading API</a> or the <a href="/api-docs/sell/inventory/resources/methods">Inventory API</a>.<br /><br />The method updates the status of ads in bulk, based on listing ID values.<br /><br />Specify the <b>campaign_id</b> as a path parameter and supply a set of listing IDs with their updated <b>adStatus</b> values in the request body. An eBay listing ID is generated when a listing is created with the Trading API.<br /><br />Get the campaign IDs for a seller by calling <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> and call <a href="/api-docs/sell/marketing/resources/ad/methods/getAds">getAds</a> to retrieve a list of seller inventory reference IDs. """,
tags=['bulk_ad_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_update_ads_status_by_listing_id(
campaign_id: str, body: BulkUpdateAdStatusByListingIdRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/bulk_update_keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method updates the bids and statuses of keywords, in bulk, for an existing PLA campaign.<br /><br />In the request, supply the <b>campaign_id</b> as a path parameter.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a specified seller. """,
tags=['bulk_ad_operations', 'keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_update_keyword(campaign_id: str, body: BulkUpdateKeywordRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/clone',
description=""" This method clones (makes a copy of) the specified campaign's <b>campaign criterion</b>. The <b>campaign criterion</b> is a container for the fields that define the criteria for a rule-based campaign.<p>To clone a campaign, supply the <b>campaign_id</b> as a path parameter in your call. There is no request payload.</p> <p>The ID of the newly-cloned campaign is returned in the <b>Location</b> response header.</p><p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a seller's current campaign IDs.</p> <p><b>Requirement: </b>In order to clone a campaign, the <b>campaignStatus</b> must be <code>ENDED</code> and the campaign must define a set of selection rules (it must be a rules-based campaign).</p><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def clone_campaign(campaign_id: str, body: CloneCampaignRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/create_ads_by_inventory_reference',
description=""" This method adds a listing that is managed with the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a> to an existing Promoted Listings campaign.<br /><br />For Promoted Listings Standard (PLS) campaigns using the Cost Per Sale (CPS) funding model, an ad may be directly created for the listing.<br /><br />For each listing specified in the request, this method:<br /><ul><li>Creates an ad for the listing.</li> <li>Sets the bid percentage (also known as the <i>ad rate</i>) for the ads created.</li> <li>Associates the created ad with the specified campaign.</li></ul><br />To create an ad for a listing, specify its <b>inventoryReferenceId</b> and <b>inventoryReferenceType</b>, plus the <b>bidPercentage</b> for the ad in the payload of the request. Specify the campaign to associate the ad with using the <b>campaign_id</b> path parameter.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span><br /><br />Use <a href="/api-docs/sell/marketing/resources/campaign/methods/createCampaign">createCampaign</a> to create a new campaign and use <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to get a list of existing campaigns. """,
tags=['advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_ads_by_inventory_reference(
campaign_id: str, body: CreateAdsByInventoryReferenceRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/delete_ads_by_inventory_reference',
description=""" This method works with listings that are managed with the <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a>. <p>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.</p> <p>Specify the campaign ID (as a path parameter) and a list of <b>inventoryReferenceId</b> and <b>inventoryReferenceType</b> pairs to be deleted.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to get a list of the seller's current campaign IDs.</p><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span><br /><br />When using the CPC funding model, use the bulkUpdateAdsStatusByInventoryReference method to change the status of ads to ARCHIVED. """,
tags=['advertisement_management', 'bulk_ad_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def delete_ads_by_inventory_reference(
campaign_id: str, body: DeleteAdsByInventoryReferenceRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/end',
description=""" This method ends an active (<code>RUNNING</code>) or paused campaign. Specify the campaign you want to end by supplying its campaign ID in a query parameter. <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve the <b>campaign_id</b> and the campaign status (<code>RUNNING</code>, <code>PAUSED</code>, <code>ENDED</code>, and so on) for all the seller's campaigns.</p> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def end_campaign(campaign_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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 <a href="/api-docs/sell/inventory/resources/methods" title="Inventory API Reference">Inventory API</a> from the specified campaign.<br /><br />Supply the <b>campaign_id</b> as a path parameter and use query parameters to specify the <b>inventory_reference_id</b> and <b>inventory_reference_type</b> pairs.<br /><br />In the Inventory API, an <i>inventory reference ID</i> is either a seller-defined <b>SKU</b> value or an <b>inventoryItemGroupKey</b> (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 <b>inventory_reference_id</b> and the associated <b>inventory_reference_type</b>.<br /><br />Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve all of the seller's the current campaign IDs.<br /><br /><span class="tablenote"><b>Note:</b> 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 <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['campaign_lifecycle_management', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_ads_by_inventory_reference(
campaign_id: str,
inventory_reference_id: str = ...,
inventory_reference_type: str = ...,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method can be used to retrieve all of the keywords for ad groups in PLA campaigns that use the Cost Per Click (CPC) funding model.<br /><br />In the request, specify the <b>campaign_id</b> as a path parameter. If one or more <b>ad_group_ids</b> are passed in the request body, the keywords for those ad groups will be returned. If <b>ad_group_ids</b> are not passed in the response body, the call will return all the keywords in the campaign.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a seller. """,
tags=['ad_group_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_keywords(
ad_group_ids: Optional[str] = None,
campaign_id: str = ...,
keyword_status: Optional[str] = None,
limit: Optional[str] = None,
offset: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method creates keywords using a specified campaign ID for an existing PLA campaign.<br /><br />In the request, supply the <b>campaign_id</b> as a path parameter.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/suggestKeywords">suggestKeywords</a> method to retrieve a list of keyword ideas to be targeted for PLA campaigns, and call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a seller. """,
tags=['keyword_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_keyword(campaign_id: str, body: CreateKeywordRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/keyword/{keyword_id}',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method retrieves details on a specific keyword from an ad group within a PLA campaign that uses the Cost Per Click (CPC) funding model.<br /><br />In the request, specify the <b>campaign_id</b> and <b>keyword_id</b> as path parameters.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a seller and call the <a href="/api-docs/sell/marketing/resources/keyword/methods/getKeywords">getKeywords</a> method to retrieve their keyword IDs. """,
tags=['keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_keyword(campaign_id: str, keyword_id: str = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.put(
'/ad_campaign/{campaign_id}/keyword/{keyword_id}',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method updates keywords using a campaign ID and keyword ID for an existing PLA campaign.<br /><br />In the request, specify the <b>campaign_id</b> and <b>keyword_id</b> as path parameters.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a seller and call the <a href="/api-docs/sell/marketing/resources/keyword/methods/getKeywords">getKeywords</a> method to retrieve their keyword IDs. """,
tags=['keyword_operations', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_keyword(
campaign_id: str, keyword_id: str = ..., body: UpdateKeywordRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/pause',
description=""" This method pauses an active (RUNNING) campaign. <p>You can restart the campaign by calling <a href="/api-docs/sell/marketing/resources/campaign/methods/resumeCampaign">resumeCampaign</a>, as long as the campaign's end date is in the future.</p> <p><b>Note: </b> The listings associated with a paused campaign cannot be added into another campaign.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve the <b>campaign_id</b> and the campaign status (<code>RUNNING</code>, <code>PAUSED</code>, <code>ENDED</code>, and so on) for all the seller's campaigns.</p> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def pause_campaign(campaign_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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 <b>campaign_id</b> for the campaign you want to restart as a query parameter in the request. <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve the <b>campaign_id</b> and the campaign status (<code>RUNNING</code>, <code>PAUSED</code>, <code>ENDED</code>, and so on) for all the seller's campaigns.</p> """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def resume_campaign(campaign_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_campaign/{campaign_id}/suggest_items',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method allows sellers to obtain ideas for listings, which can be targeted for Promoted Listings campaigns. """,
tags=['campaign_lifecycle_management', 'advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def suggest_items(
campaign_id: str,
category_ids: Optional[str] = None,
limit: Optional[str] = None,
offset: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/update_ad_rate_strategy',
description=""" This method updates the ad rate strategy for an existing Promoted Listings Standard (PLS) rules-based ad campaign that uses the Cost Per Sale (CPS) funding model.<br /><br />Specify the <b>campaign_id</b> as a path parameter. You can retrieve the campaign IDs for a seller by calling the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method.<br /><br /><span class="tablenote"><b>Note:</b> This method only applies to the CPS funding model; it does not apply to the Cost Per Click (CPC) funding model. See <a href="/api-docs/sell/static/marketing/pl-overview.html#funding-model">Funding Models</a> in the <i>Promoted Listings Playbook</i> for more information.</span> """,
tags=['bid_strategy_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_ad_rate_strategy(campaign_id: str, body: UpdateAdrateStrategyRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_campaign/{campaign_id}/update_campaign_budget',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method updates the daily budget for a PLA campaign that uses the Cost Per Click (CPC) funding model.<br /><br />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.<br /><br />Specify the <b>campaign_id</b> as a path parameter. You can retrieve the campaign IDs for a seller by calling the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method. """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_campaign_budget(campaign_id: str, body: UpdateCampaignBudgetRequest = ...):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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. <p>Specify the <b>campaign_id</b> you want to update as a URI parameter, and configure the <b>campaignName</b> and <b>startDate</b> in the request payload. <p>If you want to change only the end date of the campaign, specify the current campaign name and set <b>startDate</b> to the current date (you cannot use a start date that is in the past), and set the <b>endDate</b> as desired. Note that if you do not set a new end date in this call, any current <b>endDate</b> value will be set to <code>null</code>. To preserve the currently-set end date, you must specify the value again in your request.</p> <p>Call <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> to retrieve a seller's campaign details, including the campaign ID, campaign name, and the start and end dates of the campaign. """,
tags=['campaign_lifecycle_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_campaign_identification(
campaign_id: str, body: UpdateCampaignIdentificationRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_report/{report_id}',
description=""" This call downloads the report as specified by the <b>report_id</b> path parameter. <br><br>Call <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/createReportTask" title="createReportTask API docs">createReportTask</a> to schedule and generate a Promoted Listings report. All date values are returned in UTC format (<code>yyyy-MM-ddThh:mm:ss.sssZ</code>).<br/><br/><span class="tablenote"><b>Note:</b> The reporting of some data related to sales and ad-fees may require a 72-hour (<b>maximum</b>) adjustment period which is often referred to as the <i>Reconciliation Period</i>. Such adjustment periods should, on average, be minimal. However, at any given time, the <b>payments</b> tab may be used to view those amounts that have actually been charged.</span> """,
tags=['reporting_functions'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_report(report_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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.</br></br>The request for this method does not use a payload or any URI parameters.<br/><br/><span class="tablenote"><b>Note:</b> The reporting of some data related to sales and ad-fees may require a 72-hour (<b>maximum</b>) adjustment period which is often referred to as the <i>Reconciliation Period</i>. Such adjustment periods should, on average, be minimal. However, at any given time, the <b>payments</b> tab may be used to view those amounts that have actually been charged.</span> """,
tags=[
'campaign_lifecycle_management',
'advertisement_management',
'ad_group_operations',
'bulk_ad_operations',
'bid_strategy_management',
'keyword_operations',
'reporting_functions',
'item_promotion_operations',
'negative_keyword_operations',
'promotion_operations',
],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_report_metadata():
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.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 <b>report_type</b> path parameter to indicate metadata to retrieve.<br/><br/>This method does not use a request payload.<br/><br/><span class="tablenote"><b>Note:</b> The reporting of some data related to sales and ad-fees may require a 72-hour (<b>maximum</b>) adjustment period which is often referred to as the <i>Reconciliation Period</i>. Such adjustment periods should, on average, be minimal. However, at any given time, the <b>payments</b> tab may be used to view those amounts that have actually been charged.</span> """,
tags=['reporting_functions'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_report_metadata_for_report_type(report_type: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_report_task',
description=""" This method returns information on all the existing report tasks related to a seller. <p>Use the <b>report_task_statuses</b> query parameter to control which reports to return. You can paginate the result set by specifying a <b>limit</b>, which dictates how many report tasks to return on each page of the response. Use the <b>offset</b> parameter to specify how many reports to skip in the result set before returning the first result.</p> """,
tags=['reporting_functions'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_report_tasks(
limit: Optional[str] = None,
offset: Optional[str] = None,
report_task_statuses: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/ad_report_task',
description=""" <span class="tablenote"><b>Note:</b> Using multiple funding models in one report is deprecated. If multiple funding models are used, a Warning will be returned in a header. This functionality will be decommissioned on April 3, 2023. See <a href="/develop/apis/api-deprecation-status">API Deprecation Status</a> for details.</span><br /><br />This method creates a <i>report task</i>, which generates a Promoted Listings report based on the values specified in the call.<br /><br />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. <i>Metrics </i>are the quantitative measurements in the report while <i>dimensions</i> specify the attributes of the data included in the reports.<br /><br />When creating a report task, you can specify the items you want included in the report. The items you specify, using either <b>listingId</b> or <b>inventoryReference</b> values, must be in a Promoted Listings campaign for them to be included in the report.<br /><br />For details on the required and optional fields for each report type, see <a href="/api-docs/sell/static/marketing/pl-reports.html">Promoted Listings reporting</a>.<br /><br />This call returns the URL to the report task in the <b>Location</b> response header, and the URL includes the report-task ID.<br /><br />Reports often take time to generate and it's common for this call to return an HTTP status of <code>202</code>, which indicates the report is being generated. Call <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/getReportTasks">getReportTasks</a> (or <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/getReportTask">getReportTask</a> with the report-task ID) to determine the status of a Promoted Listings report. When a report is complete, eBay sets its status to <b>SUCCESS</b> and you can download it using the URL returned in the <b>reportHref</b> field of the <b>getReportTask</b> call. Report files are tab-separated value gzip files with a file extension of <code>.tsv.gz</code>.<br/><br/><span class="tablenote"><b>Note:</b> The reporting of some data related to sales and ad-fees may require a 72-hour (<b>maximum</b>) adjustment period which is often referred to as the <i>Reconciliation Period</i>. Such adjustment periods should, on average, be minimal. However, at any given time, the <b>payments</b> tab may be used to view those amounts that have actually been charged.</span><br /><br /><span class="tablenote"><span style="color:#004680"><strong>Note:</strong></span> 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 <a href="/api-docs/sell/marketing/resources/ad_report_metadata/methods/getReportMetadata">getReportMetadata</a> to retrieve a list of the fields you need to configure for each Promoted Listings report type.</span> """,
tags=['reporting_functions'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_report_task(body: CreateReportTask):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.delete(
'/ad_report_task/{report_task_id}',
description=""" This call deletes the report task specified by the <b>report_task_id</b> path parameter. This method also deletes any reports generated by the report task. <p>Report task IDs are generated by eBay when you call <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/createReportTask">createReportTask</a>. Get a complete list of a seller's report-task IDs by calling <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/getReportTasks">getReportTasks</a>.</p> """,
tags=['reporting_functions'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def delete_report_task(report_task_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/ad_report_task/{report_task_id}',
description=""" This call returns the details of a specific Promoted Listings report task, as specified by the <b>report_task_id</b> path parameter. <p>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).</p> <p>Report-task IDs are generated by eBay when you call <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/createReportTask">createReportTask</a>. Get a complete list of a seller's report-task IDs by calling <a href="/api-docs/sell/marketing/resources/ad_report_task/methods/getReportTasks">getReportTasks</a>.</p> """,
tags=['reporting_functions'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_report_task(report_task_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/bulk_create_negative_keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method adds negative keywords, in bulk, to an existing ad group in a PLA campaign that uses the Cost Per Click (CPC) funding model.<br /><br />Specify the <b>campaignId</b> and <b>adGroupId</b> in the request body, along with the <b>negativeKeywordText</b> and <b>negativeKeywordMatchType</b>.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a specified seller. """,
tags=['bulk_ad_operations', 'negative_keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_create_negative_keyword(body: BulkCreateNegativeKeywordRequest):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/bulk_update_negative_keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method updates the statuses of existing negative keywords, in bulk.<br /><br />Specify the <b>negativeKeywordId</b> and <b>negativeKeywordStatus</b> in the request body. """,
tags=['negative_keyword_operations', 'bulk_ad_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def bulk_update_negative_keyword(body: BulkUpdateNegativeKeywordRequest):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/item_price_markdown',
description=""" This method creates an <b>item price markdown promotion</b> (know simply as a "markdown promotion") where a discount amount is applied directly to the items included the promotion. Discounts can be specified as either a monetary amount or a percentage off the standard sales price. eBay highlights promoted items by placing teasers for the items throughout the online sales flows. <p>Unlike an <a href="/api-docs/sell/marketing/resources/item_promotion/methods/createItemPromotion">item promotion</a>, a markdown promotion does not require the buyer meet a "threshold" before the offer takes effect. With markdown promotions, all the buyer needs to do is purchase the item to receive the promotion benefit.</p> <p class="tablenote"><b>Important:</b> There are some restrictions for which listings are available for price markdown promotions. For details, see <a href="/api-docs/sell/marketing/static/overview.html#PM-requirements">Promotions Manager requirements and restrictions</a>. <br><br>In addition, we recommend you list items at competitive prices before including them in your markdown promotions. For an extensive list of pricing recommendations, see the <b>Growth</b> tab in Seller Hub.</p> <p>There are two ways to add items to markdown promotions:</p> <ul><li><b>Key-based promotions</b> select items using either the listing IDs or inventory reference IDs of the items you want to promote. Note that if you use inventory reference IDs, you must specify both the <b>inventoryReferenceId</b> and the associated <b>inventoryReferenceType</b> of the item(s) you want to include the promotion.</li> <li><b>Rule-based promotions</b> select items using a list of eBay category IDs or seller Store category IDs. Rules can further constrain items in a promotion by minimum and maximum prices, brands, and item conditions.</li></ul> <p>New promotions must be created in either a <code>DRAFT</code> or a <code>SCHEDULED</code> state. Use the DRAFT state when you are initially creating a promotion and you want to be sure it's correctly configured before scheduling it to run. When you create a promotion, the promotion ID is returned in the <b>Location</b> response header. Use this ID to reference the promotion in subsequent requests (such as to schedule a promotion that's in a DRAFT state).</p> <p class="tablenote"><b>Tip:</b> Refer to <a href="/api-docs/sell/static/marketing/promotions-manager.html">Promotions Manager</a> in the <i>Selling Integration Guide</i> for details and examples showing how to create and manage seller promotions.</p> <p>Markdown promotions are available on all eBay marketplaces. For more information, see <a href="/api-docs/sell/marketing/static/overview.html#PM-requirements">Promotions Manager requirements and restrictions</a>.</p> """,
tags=['item_promotion_operations', 'promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_item_price_markdown_promotion(body: ItemPriceMarkdown = None):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.delete(
'/item_price_markdown/{promotion_id}',
description=""" This method deletes the item price markdown promotion specified by the <b>promotion_id</b> path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions. <br><br>You can delete any promotion with the exception of those that are currently active (RUNNING). To end a running promotion, call <a href="/api-docs/sell/marketing/resources/item_price_markdown/methods/updateItemPriceMarkdownPromotion">updateItemPriceMarkdownPromotion</a> and adjust the <b>endDate</b> field as appropriate. """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def delete_item_price_markdown_promotion(promotion_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/item_price_markdown/{promotion_id}',
description=""" This method returns the complete details of the item price markdown promotion that's indicated by the <b>promotion_id</b> path parameter. <br><br>Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions. """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_item_price_markdown_promotion(promotion_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.put(
'/item_price_markdown/{promotion_id}',
description=""" This method updates the specified item price markdown promotion with the new configuration that you supply in the payload of the request. Specify the promotion you want to update using the <b>promotion_id</b> path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions. <br><br>When updating a promotion, supply all the fields that you used to configure the original promotion (and not just the fields you are updating). eBay replaces the specified promotion with the values you supply in the update request and if you don't pass a field that currently has a value, the update request fails. <br><br>The parameters you are allowed to update with this request depend on the status of the promotion you're updating: <ul><li>DRAFT or SCHEDULED promotions: You can update any of the parameters in these promotions that have not yet started to run, including the <b>discountRules</b>.</li> <li>RUNNING promotions: You can change the <b>endDate</b> and the item's inventory but you cannot change the promotional discount or the promotion's start date.</li> <li>ENDED promotions: Nothing can be changed.</li></ul> """,
tags=['promotion_operations', 'item_promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_item_price_markdown_promotion(
promotion_id: str, body: ItemPriceMarkdown = None
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/item_promotion',
description=""" This method creates an <b>item promotion</b>, where the buyer receives a discount when they meet the buying criteria that's set for the promotion. Known here as "threshold promotions", these promotions trigger when a threshold is met. <p>eBay highlights promoted items by placing teasers for the promoted items throughout the online buyer flows.</p> <p><i>Discounts</i> 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".</p> <p><i>Volume pricing</i> promotions increase the value of the discount as the buyer increases the quantity they purchase.</p> <p><i>Coded Coupons</i> 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).</p> <p class="tablenote"><b>Note</b>: Coded Coupons are currently available in the US, UK, DE, FR, IT, ES, and AU marketplaces.</p><p>There are two ways to add items to a threshold promotion:</p> <ul><li><b>Key-based promotions</b> select items using either the listing IDs or inventory reference IDs of the items you want to promote. Note that if you use inventory reference IDs, you must specify both the <b>inventoryReferenceId</b> and the associated <b>inventoryReferenceType</b> of the item(s) you want to include the promotion.</li> <li><b>Rule-based promotions</b> select items using a list of eBay category IDs or seller Store category IDs. Rules can further constrain items in a promotion by minimum and maximum prices, brands, and item conditions.</li></ul> <p>You must create a new promotion in either a <code>DRAFT</code> or <code>SCHEDULED</code> state. Use the DRAFT state when you are initially creating a promotion and you want to be sure it's correctly configured before scheduling it to run. When you create a promotion, the promotion ID is returned in the <b>Location</b> response header. Use this ID to reference the promotion in subsequent requests.</p> <p class="tablenote"><b>Tip:</b> Refer to the <a href="/api-docs/sell/static/marketing/promotions-manager.html">Selling Integration Guide</a> for details and examples showing how to create and manage threshold promotions using the Promotions Manager.</p> <p>For information on the eBay marketplaces that support item promotions, see <a href="/api-docs/sell/marketing/static/overview.html#PM-requirements">Promotions Manager requirements and restrictions</a>.</p> """,
tags=['item_promotion_operations', 'promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_item_promotion(body: ItemPromotion = None):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.delete(
'/item_promotion/{promotion_id}',
description=""" This method deletes the threshold promotion specified by the <b>promotion_id</b> path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions. <br><br>You can delete any promotion with the exception of those that are currently active (RUNNING). To end a running threshold promotion, call <a href="/api-docs/sell/marketing/resources/item_promotion/methods/updateItemPromotion">updateItemPromotion</a> and adjust the <b>endDate</b> field as appropriate. """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def delete_item_promotion(promotion_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/item_promotion/{promotion_id}',
description=""" This method returns the complete details of the threshold promotion specified by the <b>promotion_id</b> path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions. """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_item_promotion(promotion_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.put(
'/item_promotion/{promotion_id}',
description=""" This method updates the specified threshold promotion with the new configuration that you supply in the request. Indicate the promotion you want to update using the <b>promotion_id</b> path parameter. <p>Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions.</p> <p>When updating a promotion, supply all the fields that you used to configure the original promotion (and not just the fields you are updating). eBay replaces the specified promotion with the values you supply in the update request and if you don't pass a field that currently has a value, the update request will fail.</p> <p>The parameters you are allowed to update with this request depend on the status of the promotion you're updating: <ul><li>DRAFT or SCHEDULED promotions: You can update any of the parameters in these promotions that have not yet started to run, including the <b>discountRules</b>.</li> <li>RUNNING or PAUSED promotions: You can change the <b>endDate</b> and the item's inventory but you cannot change the promotional discount or the promotion's start date.</li> <li>ENDED promotions: Nothing can be changed.</li></ul> <p class="tablenote"><b>Tip:</b> When updating a <code>RUNNING</code> or <code>PAUSED</code> promotion, set the <b>status</b> field to <code>SCHEDULED</code> for the update request. When the promotion is updated, the previous status (either <code>RUNNING</code> or <code>PAUSED</code>) is retained.</p> """,
tags=['item_promotion_operations', 'promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_item_promotion(promotion_id: str, body: ItemPromotion = None):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/negative_keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method can be used to retrieve all of the negative keywords for ad groups in PLA campaigns that use the Cost Per Click (CPC) funding model.<br /><br />The results can be filtered using the <b>campaign_ids</b>, <b>ad_group_ids</b>, and <b>negative_keyword_status</b> query parameters.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a seller. """,
tags=['ad_group_operations', 'negative_keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_negative_keywords(
ad_group_ids: Optional[str] = None,
campaign_ids: Optional[str] = None,
limit: Optional[str] = None,
negative_keyword_status: Optional[str] = None,
offset: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/negative_keyword',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method adds a negative keyword to an existing ad group in a PLA campaign that uses the Cost Per Click (CPC) funding model.<br /><br />Specify the <b>campaignId</b> and <b>adGroupId</b> in the request body, along with the <b>negativeKeywordText</b> and <b>negativeKeywordMatchType</b>.<br /><br />Call the <a href="/api-docs/sell/marketing/resources/campaign/methods/getCampaigns">getCampaigns</a> method to retrieve a list of current campaign IDs for a specified seller. """,
tags=['negative_keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def create_negative_keyword(body: CreateNegativeKeywordRequest):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/negative_keyword/{negative_keyword_id}',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method retrieves details on a specific negative keyword.<br /><br />In the request, specify the <b>negative_keyword_id</b> as a path parameter. """,
tags=['negative_keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_negative_keyword(negative_keyword_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.put(
'/negative_keyword/{negative_keyword_id}',
description=""" <span class="tablenote"><b>Note:</b> This method is only available for select partners who have been approved for the eBay Promoted Listings Advanced (PLA) program. For information about how to request access to this program, refer to <a href="/api-docs/sell/static/marketing/pl-verify-eligibility.html#access-requests " target="_blank "> Promoted Listings Advanced Access Requests</a> in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the <a href="/api-docs/sell/account/resources/advertising_eligibility/methods/getAdvertisingEligibility " target="_blank ">getAdvertisingEligibility</a> method in Account API.</span><br />This method updates the status of an existing negative keyword.<br /><br />Specify the <b>negative_keyword_id</b> as a path parameter, and specify the <b>negativeKeywordStatus</b> in the request body. """,
tags=['negative_keyword_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def update_negative_keyword(
negative_keyword_id: str, body: UpdateNegativeKeywordRequest = ...
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/promotion',
description=""" This method returns a list of a seller's undeleted promotions. <p>The call returns up to 200 currently-available promotions on the specified marketplace. While the response body does not include the promotion's <b>discountRules</b> or <b>inventoryCriterion</b> containers, it does include the <b>promotionHref</b> (which you can use to retrieve the complete details of the promotion).</p> <p>Use query parameters to sort and filter the results by the number of promotions to return, the promotion state or type, and the eBay marketplace. You can also supply keywords to limit the response to the promotions that contain that keywords in the title of the promotion.</p> <p><b>Maximum returned:</b> 200</p> """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_promotions(
limit: Optional[str] = None,
marketplace_id: str = ...,
offset: Optional[str] = None,
promotion_status: Optional[str] = None,
promotion_type: Optional[str] = None,
q: Optional[str] = None,
sort: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/promotion/{promotion_id}/get_listing_set',
description=""" This method returns the set of listings associated with the <b>promotion_id</b> specified in the path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of a seller's promotions. <p>The listing details are returned in a paginated set and you can control and results returned using the following query parameters: <b>limit</b>, <b>offset</b>, <b>q</b>, <b>sort</b>, and <b>status</b>.</p> <ul><li><b>Maximum associated listings returned:</b> 200</li> <li><b>Default number of listings returned:</b> 200</li></ul> """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_listing_set(
limit: Optional[str] = None,
offset: Optional[str] = None,
promotion_id: str = ...,
q: Optional[str] = None,
sort: Optional[str] = None,
status: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/promotion/{promotion_id}/pause',
description=""" This method pauses a currently-active (RUNNING) threshold promotion and changes the state of the promotion from <code>RUNNING</code> to <code>PAUSED</code>. Pausing a promotion makes the promotion temporarily unavailable to buyers and any currently-incomplete transactions will not receive the promotional offer until the promotion is resumed. Also, promotion teasers are not displayed when a promotion is paused. <br><br>Pass the ID of the promotion you want to pause using the <b>promotion_id</b> path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of the seller's promotions. <br><br><b>Note:</b> You can only pause threshold promotions (you cannot pause markdown promotions). """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def pause_promotion(promotion_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.post(
'/promotion/{promotion_id}/resume',
description=""" This method restarts a threshold promotion that was previously paused and changes the state of the promotion from <code>PAUSED</code> to <code>RUNNING</code>. Only promotions that have been previously paused can be resumed. Resuming a promotion reinstates the promotional teasers and any transactions that were in motion before the promotion was paused will again be eligible for the promotion. <br><br>Pass the ID of the promotion you want to resume using the <b>promotion_id</b> path parameter. Call <a href="/api-docs/sell/marketing/resources/promotion/methods/getPromotions">getPromotions</a> to retrieve the IDs of the seller's promotions. """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def resume_promotion(promotion_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/promotion_report',
description=""" This method generates a report that lists the seller's running, paused, and ended promotions for the specified eBay marketplace. The result set can be filtered by the promotion status and the number of results to return. You can also supply <i>keywords</i> to limit the report to promotions that contain the specified keywords. <br><br>Specify the eBay marketplace for which you want the report run using the <b>marketplace_id</b> query parameter. Supply additional query parameters to control the report as needed. """,
tags=['promotion_operations'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_promotion_reports(
limit: Optional[str] = None,
marketplace_id: str = ...,
offset: Optional[str] = None,
promotion_status: Optional[str] = None,
promotion_type: Optional[str] = None,
q: Optional[str] = None,
):
raise RuntimeError("Should be patched by MCPProxy and never executed")
@app.get(
'/promotion_summary_report',
description=""" This method generates a report that summarizes the seller's promotions for the specified eBay marketplace. The report returns information on <code>RUNNING</code>, <code>PAUSED</code>, and <code>ENDED</code> promotions (deleted reports are not returned) and summarizes the seller's campaign performance for all promotions on a given site. <br><br>For information about summary reports, see <a href="/api-docs/sell/static/marketing/pm-summary-report.html">Reading the item promotion Summary report</a>. """,
tags=['advertisement_management'],
security=[
UnsuportedSecurityStub(name="None"),
],
)
def get_promotion_summary_report(marketplace_id: str):
raise RuntimeError("Should be patched by MCPProxy and never executed")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="MCP Server")
parser.add_argument(
"transport", choices=["stdio", "sse"], help="Transport mode (stdio or sse)"
)
args = parser.parse_args()
if "CONFIG_PATH" in os.environ:
config_path = os.environ["CONFIG_PATH"]
app.load_configuration(config_path)
if "CONFIG" in os.environ:
config = os.environ["CONFIG"]
app.load_configuration_from_string(config)
if "SECURITY" in os.environ:
security_params = BaseSecurity.parse_security_parameters_from_env(
os.environ,
)
app.set_security_params(security_params)
app.mcp.run(transport=args.transport)