POST/bulk_create_negative_keyword
Note: This method is only available for select partners who have been approved for the eBay priority strategy program. For information about how to request access to this program, refer to Priority Strategy Access Requests in the Promoted Listings Playbook. To determine if a seller qualifies for priority strategy, use the getAdvertisingEligibility method in Account API.
This method adds negative keywords, in bulk, to an existing ad group in a priority strategy campaign that uses manual targeting.
Specify the campaignId and adGroupId in the request body, along with the negativeKeywordText and negativeKeywordMatchType.
Call the getCampaigns method to retrieve a list of current campaign IDs for a specified seller.
Input
Resource URI
This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com
root URI with api.sandbox.ebay.com
URI parameters
This method has no URI parameters.
HTTP request headers
All requests made to eBay REST operations require you to provide the Authorization
HTTP header for authentication authorization.
The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.
Header | Type | Description |
---|---|---|
Content-Type | string | This header indicates the format of the request body provided by the client. Its value should be set to application/json. For more information, refer to HTTP request headers. Occurrence: Required |
OAuth scope
This request requires an access token created with the 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 clipboardRequest fields
Input container/field | Type | Description |
---|---|---|
requests | array of CreateNegativeKeywordRequest | This array is used to pass in multiple negative keywords for one or more ad groups that belong to a campaign that uses the Cost Per Click (CPC) funding model. Occurrence: Required |
requests.adGroupId | string | This adGroupId is created when an ad group is first created and associated with a campaign. This is the ad group to which the corresponding negative keyword will be added. Occurrence: Conditional |
requests.campaignId | string | This path parameter specifies the unique eBay-assigned identifier of the ad campaign associated with the set of negative keywords being created. Occurrence: Conditional |
requests.negativeKeywordMatchType | NegativeKeywordMatchTypeEnum | A field that defines the match type for the negative keyword.
Occurrence: Required |
requests.negativeKeywordText | string | The negative keyword text. Occurrence: Required |
Output
HTTP response headers
This call has no response headers.
Response payload
Response fields
Output container/field | Type | Description |
---|---|---|
responses | array of NegativeKeywordResponse | A list of negative keywords that have been processed by the request. Occurrence: Conditional |
responses.adGroupId | string | A unique identifier for an ad group that is generated when an ad group is first created and associated with a campaign. Occurrence: Conditional |
responses.campaignId | string | A unique eBay-assigned ID for a campaign. This ID is generated when a campaign is created. Occurrence: Conditional |
responses.errors | array of ErrorDetailV3 | This container will be returned if there is an issue creating the corresponding negative keyword. Occurrence: Conditional |
responses.errors.category | string | The category type for this error or warning. It takes an ErrorCategory object which can have one of three values:
Occurrence: Conditional |
responses.errors.domain | string | Name of the domain containing the service or application. Occurrence: Conditional |
responses.errors.errorId | integer | A positive integer that uniquely identifies the specific error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms. Occurrence: Conditional |
responses.errors.inputRefIds | array of string | Identifies specific request elements associated with the error, if any. inputRefId's response is format specific. For JSON, use JSONPath notation. Occurrence: Conditional |
responses.errors.longMessage | string | An expanded version of message that should be around 100-200 characters long, but is not required to be such. Occurrence: Conditional |
responses.errors.message | string | An end user and app developer friendly device agnostic message. It explains what the error or warning is, and how to fix it (in a general sense). Its value is at most 50 characters long. If applicable, the value is localized in the end user's requested locale. Occurrence: Conditional |
responses.errors.outputRefIds | array of string | Identifies specific response elements associated with the error, if any. Path format is the same as Occurrence: Conditional |
responses.errors.parameters | array of ErrorParameterV3 | This optional complex field type contains a list of one or more context-specific Occurrence: Conditional |
responses.errors.parameters.name | string | Name of the entity that threw the error. Occurrence: Conditional |
responses.errors.parameters.value | string | A description of the error. Occurrence: Conditional |
responses.errors.subdomain | string | Name of the domain's subsystem or subdivision. For example, checkout is a subdomain in the buying domain. Occurrence: Conditional |
responses.href | string | The URI for the negative keyword, which is used to retrieve the negative keyword. This URI will be returned for each successfully created negative keyword. Occurrence: Conditional |
responses.negativeKeywordId | string | A unique eBay-assigned ID for a negative keyword. This negative keyword ID will be generated for each successfully created negative keyword. Occurrence: Conditional |
responses.negativeKeywordMatchType | NegativeKeywordMatchTypeEnum | The match type for the negative keyword.
Occurrence: Conditional |
responses.negativeKeywordText | string | The text for the negative keyword. Occurrence: Conditional |
responses.statusCode | integer | The status of the request to create a negative keyword. This field indicates whether the process was successful or not. Occurrence: Conditional |
HTTP status codes
This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.
Status | Meaning |
---|---|
200 | Success |
207 | Multi Status |
400 | Bad Request |
403 | Forbidden |
409 | Business error |
500 | Internal Server error |
Error codes
For more on errors, plus the codes of other common errors, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
35001 | API_MARKETING | APPLICATION | There was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance. |
35033 | API_MARKETING | REQUEST | At least one request is required for bulk requests. |
35035 | API_MARKETING | REQUEST | The campaign with campaign id {campaign_id} has ended. |
35045 | API_MARKETING | REQUEST | No campaign found for campaign id {campaign_id}. |
35089 | API_MARKETING | BUSINESS | We are currently testing a premium ads product with a small invite-only group. We will share more information when we are ready to expand. |
35129 | API_MARKETING | BUSINESS | This method is not supported for campaigns with smart targeting type. |
36210 | API_MARKETING | REQUEST | No ad group found for ad group id {ad_group_id}. |
36219 | API_MARKETING | REQUEST | The ad group with ad group id {ad_group_id} has been archived. |
36323 | API_MARKETING | REQUEST | 'negativeKeywordText' {negativeKeywordText} and 'negativeKeywordMatchType' {negativeKeywordMatchType} already exists for this Campaign. |
36330 | API_MARKETING | REQUEST | The provided negative keyword match type is not supported. Valid values are: {negativeKeywordMatchTypeValues}. |
36331 | API_MARKETING | REQUEST | 'negativeKeywordText' {negativeKeywordText} and 'negativeKeywordMatchType' {negativeKeywordMatchType} already exists for this Ad Group. |
36332 | API_MARKETING | REQUEST | 'negativeKeywordText' {negativeKeywordText} cannot be more than {maxNegativeKeywordTextLength} characters. |
36333 | API_MARKETING | REQUEST | 'negativeKeywordText' cannot be null or empty |
36334 | API_MARKETING | REQUEST | 'negativeKeywordText' contains invalid characters {invalidCharacters} |
36335 | API_MARKETING | REQUEST | You have exceeded the maximum number of negative keyword for an ad group. Only {maxSupportedNegativeKeywordNumber} Ids are supported per ad group. |
36336 | API_MARKETING | REQUEST | 'negativeKeywordText' {negativeKeywordText} cannot have total number of words more than {maxWordsInNegativeKeyword} words. |
36337 | API_MARKETING | REQUEST | You have exceeded the maximum number of negative keyword requests in a bulk. Only {maxSupportedNegativeKeywordRequestNumberInBulk} Ids are supported per call. |
36338 | API_MARKETING | REQUEST | There are duplicate 'negativeKeywordText' and 'negativeKeywordMatchType' combination in this request. You must remove the duplicate(s). |
36339 | API_MARKETING | REQUEST | Total negative keyword requests exceed the current AdGroup negative keyword capacity, which is {maxSupportedNegativeKeywordRequestNumber}. |
36345 | API_MARKETING | REQUEST | 'campaignId' and 'adGroupId' are required. |
36346 | API_MARKETING | REQUEST | You have exceeded the maximum number of negative keyword for a campaign. Only {maxSupportedNegativeKeywordNumberCampaign} Ids are supported per campaign. |
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: Create Negative Keywords in Bulk
This example creates negative keywords, in bulk, for a Promoted Listings priority strategy ad campaign.
Input
The inputs for this sample are the campaignId, adGroupId, negativeKeywordText, and negativeKeywordMatchType, all passed in the request body.
POSThttps://api.ebay.com/sell/marketing/v1/bulk_create_negative_keyword
Output
If the call is successful, the details for the newly-created negative keywords (such as the negative keyword IDs and statuses) are returned.