Skip to main content

PUT/ad_campaign/{campaign_id}/keyword/{keyword_id}

Note: 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 Promoted Listings Advanced Access Requests in the Promoted Listings Playbook. To determine if a seller qualifies for PLA, use the getAdvertisingEligibility method in Account API.
This method updates keywords using a campaign ID and keyword ID for an existing PLA campaign.

In the request, specify the campaign_id and keyword_id as path parameters.

Call the getCampaigns method to retrieve a list of current campaign IDs for a seller and call the getKeywords method to retrieve their keyword IDs.

Input

Resource URI

PUT https://api.ebay.com/sell/marketing/v1/ad_campaign/{campaign_id}/keyword/{keyword_id}

This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com root URI with api.sandbox.ebay.com

URI parameters

ParameterTypeDescription
campaign_idstringA unique eBay-assigned ID for an ad campaign that is generated when a campaign is created.

Note: You can retrieve the campaign IDs for a specified seller using the getCampaigns method.

Occurrence: Required

keyword_idstringA unique eBay-assigned ID that is generated when a keyword is created.

Occurrence: Required

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.

HeaderTypeDescription
Content-TypestringThis header indicates the format of the request body provided by the client. It's value should be set to application/json.

For more information, refer to HTTP request headers.

Occurrence: Required

OAuth scope

This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):

https://api.ebay.com/oauth/api_scope/sell.marketing

See OAuth access tokens for more information.

Request payload

Copy complete valid JSON to clipboard

Request fields

Input container/fieldTypeDescription
bidAmount

This container is used to set or change the bid for the keyword. Each time a listing is retrieved in search results using this keyword and clicked on, the seller will be charged this amount. Each click goes toward the daily budget set up for the CPC campaign. If the bid is not provided, then the default bid associated with the ad group is used.

Occurrence: Conditional

bid.currencyCurrencyCodeEnum

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

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

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

Occurrence: Optional

bid.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

keywordStatusKeywordStatusEnum

Include this field if you wish to change the status of the keyword. The status value specified here must be different than the keyword's current status. To confirm the current status of a keyword, you can use the getKeyword method.

If the status of the ad is currently ACTIVE, you can change status to PAUSED or ARCHIVED. If ad group is currently in PAUSED status, you can change the status back to ACTIVE. Ads that are currently in ARCHIVED status cannot be made ACTIVE again.

Occurrence: Conditional

Output

HTTP response headers

This call has no response headers.

Response payload

This call has no payload.

Response fields

This call has no field definitions.

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

StatusMeaning
204Success
400Bad Request
404Not Found
409Business error
500Internal Server error

Error codes

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

CodeDomainCategoryMeaning
35001API_MARKETINGAPPLICATIONThere was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
35002API_MARKETINGAPPLICATIONInternal error. Please wait a few minutes and try the call again.
35035API_MARKETINGREQUESTThe campaign with campaign id {campaign_id} has ended.
35045API_MARKETINGREQUESTNo campaign found for campaign id {campaign_id}.
35089API_MARKETINGBUSINESSWe are currently testing a premium ads product with a small invite-only group. We will share more information when we are ready to expand.
36305API_MARKETINGREQUESTThe 'bid' value {bidValue} is not valid. The default bid value should be a double precision value.
36306API_MARKETINGREQUESTThe 'bid' value {bidValue} is below floor value {bidFloorValue}.
36307API_MARKETINGREQUESTThe 'bid' value {bidValue} is above max value {bidMaxValue}.
36308API_MARKETINGREQUESTThe 'bid' currency {bidCurrency} is not valid or missing.
36309API_MARKETINGREQUESTThe 'bid' currency {bidCurrency} should be the same as the daily budget.
36310API_MARKETINGREQUESTNo keyword found for keyword id {keyword_id}.
36313API_MARKETINGREQUESTThe 'bid' value {bidValue} is more than maximum daily budget {maxDailyBudget}.
36317API_MARKETINGREQUESTThe 'bid' or 'keywordStatus' is missing, either one is required for update.
36318API_MARKETINGREQUESTThe keyword with 'keyword_id' {keyword_Id} is already archived and cannot be updated.

Warnings

This call has no warnings.

Samples

New to making API calls? Please see Making a Call.

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Update Keyword Details

This example updates the details for an existing keyword associated with an ad group within a Promoted Listings Advanced (PLA) campaign.

Input

The inputs for this sample are the campaign_id of the PLA ad campaign with which the keyword is associated, along with the keyword_id for the keyword that shall be updated. The updated details for the keyword (such as the bid data) are passed in the request body.

PUThttps://api.ebay.com/sell/marketing/v1/ad_campaign/1********4/keyword/1********9

Output

A successful call returns the HTTP status code 204 No content. This method has no response payload.