---
title: "POST /v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate"
method: POST
path: "/v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate

`POST /v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate`

Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateKeywordPlanCampaignKeywordsRequest — Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.
  - `partialFailure` boolean — If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesKeywordPlanCampaignKeywordOperation[] — Required. The list of operations to perform on individual Keyword Plan campaign keywords.
    - `remove` string — Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
    - `updateMask` string, google-fieldmask — The FieldMask that determines which resource fields are modified in an update.
    - `create` GoogleAdsSearchads360V23ResourcesKeywordPlanCampaignKeyword — A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.
      - `resourceName` string — Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
      - `keywordPlanCampaign` string — The Keyword Plan campaign to which this negative keyword belongs.
      - `text` string — The keyword text.
      - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD' — The keyword match type.
      - `negative` boolean — Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
      - `id` string, int64 — Output only. The ID of the Keyword Plan negative keyword.
    - `update` GoogleAdsSearchads360V23ResourcesKeywordPlanCampaignKeyword — A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.
      - `resourceName` string — Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
      - `keywordPlanCampaign` string — The Keyword Plan campaign to which this negative keyword belongs.
      - `text` string — The keyword text.
      - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD' — The keyword match type.
      - `negative` boolean — Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
      - `id` string, int64 — Output only. The ID of the Keyword Plan negative keyword.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/revisions/40d087435afd/schema)
