---
title: "POST /bulk_create_negative_keyword"
method: POST
path: "/bulk_create_negative_keyword"
tags: ["negative_keyword"]
---

# POST /bulk_create_negative_keyword

`POST /bulk_create_negative_keyword`

<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.

## Request body

- BulkCreateNegativeKeywordRequest — A type that contains the fields for the bulk request to create negative keywords.
  - `requests` 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.
    - `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.<br /><br /><span class="tablenote"><b>Note:</b> You can call the <a href="/api-docs/sell/marketing/resources/adgroup/methods/getAdGroups">getAdGroups</a> method to retrieve the ad group IDs for a seller.</span><br /><br /><i>Required if</i> the negative keyword is being created at the ad group level.
    - `campaignId` string — A unique eBay-assigned ID for a campaign. This ID is generated when a campaign is created.<br /><br /><i>Required if</i> the negative keyword is being created at the ad group level.
    - `negativeKeywordMatchType` string — A field that defines the match type for the negative keyword.<br /><br /><span class="tablenote"><span style="color:#004680"><strong>Note:</strong></span> Broad matching of negative keywords is not currently supported.</span><br /><b>Valid Values:</b><ul><li><code>EXACT</code></li><li><code>PHRASE</code></li></ul> For implementation help, refer to <a href='https://developer.ebay.com/api-docs/sell/marketing/types/pls:NegativeKeywordMatchTypeEnum'>eBay API documentation</a>
    - `negativeKeywordText` string — The negative keyword text.

## Response `200`

Success

- BulkCreateNegativeKeywordResponse — A type that contains the response fields for the bulk request to create negative keywords.
  - `responses` NegativeKeywordResponse[] — A list of negative keywords that have been processed by the request.
    - `adGroupId` string — A unique identifier for an ad group that is generated when an ad group is first created and associated with a campaign.
    - `campaignId` string — A unique eBay-assigned ID for a campaign. This ID is generated when a campaign is created.
    - `errors` Error[] — This container will be returned if there is an issue creating the corresponding negative keyword.
      - `category` string — The category type for this error or warning. It takes an ErrorCategory object which can have one of three values:<ul><li><code>Application</code>: Indicates an exception or error occurred in the application code or at runtime. Examples include catching an exception in a service's business logic, system failures, or request errors from a dependency.</li><li><code>Business</code>: Used when your service or a dependent service refused to continue processing on the resource because of a business rule violation such as "Seller does not ship item to Antarctica" or "Buyer ineligible to purchase an alcoholic item". Business errors are not syntactical input errors.</li><li><code>Request</code>: Used when there is anything wrong with the request, such as authentication, syntactical errors, rate limiting or missing headers, bad HTTP header values, and so on.</li></ul>
      - `domain` string — Name of the domain containing the service or application.
      - `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.
      - `inputRefIds` string[] — Identifies specific request elements associated with the error, if any. inputRefId's response is format specific. For JSON, use <i>JSONPath</i> notation.
      - `longMessage` string — An expanded version of message that should be around 100-200 characters long, but is not required to be such.
      - `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.
      - `outputRefIds` string[] — Identifies specific response elements associated with the error, if any. Path format is the same as <code>inputRefId</code>.
      - `parameters` ErrorParameter[] — This optional complex field type contains a list of one or more context-specific <code>ErrorParameter</code> objects, with each item in the list entry being a parameter (or input field name) that caused an error condition. Each <code>ErrorParameter</code> object consists of two fields, a <code>name</code> and a <code>value</code>.
        - `name` string — Name of the entity that threw the error.
        - `value` string — A description of the error.
      - `subdomain` string — Name of the domain's subsystem or subdivision. For example, checkout is a subdomain in the buying domain.
    - `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.
    - `negativeKeywordId` string — A unique eBay-assigned ID for a negative keyword. This negative keyword ID will be generated for each successfully created negative keyword.
    - `negativeKeywordMatchType` string — The match type for the negative keyword.<br /><br /><span class="tablenote"><span style="color:#004680"><strong>Note:</strong></span> Broad matching of negative keywords is not currently supported.</span><br /><b>Valid Values:</b><ul><li><code>EXACT</code></li><li><code>PHRASE</code></li></ul> For implementation help, refer to <a href='https://developer.ebay.com/api-docs/sell/marketing/types/pls:NegativeKeywordMatchTypeEnum'>eBay API documentation</a>
    - `negativeKeywordText` string — The text for the negative keyword.
    - `statusCode` integer — The status of the request to create a negative keyword. This field indicates whether the process was successful or not.

## Other responses

- `207` — Multi Status
- `400` — Bad Request
- `403` — Forbidden
- `409` — Business error
- `500` — Internal Server error

---

[API](https://skmtc.net/ebay/apis/sell-marketing.md) · [All operations](https://skmtc.net/ebay/apis/sell-marketing/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ebay/sell-marketing/versions/de10a5d47510/schema)
