{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-mutate-keyword-plan-campaign-keywords-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordsRequest",
  "description": "Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-keywordplancampaignkeywords-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordsRequest",
  "type": "object",
  "properties": {
    "validateOnly": {
      "description": "If true, the request is validated but not executed. Only errors are returned, not results.",
      "type": "boolean"
    },
    "operations": {
      "type": "array",
      "description": "Required. The list of operations to perform on individual Keyword Plan campaign keywords.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__KeywordPlanCampaignKeywordOperation"
      }
    },
    "partialFailure": {
      "type": "boolean",
      "description": "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."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword": {
      "description": "A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`"
        },
        "text": {
          "type": "string",
          "description": "The keyword text."
        },
        "negative": {
          "description": "Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.",
          "type": "boolean"
        },
        "matchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exact match.",
            "Phrase match.",
            "Broad match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT",
            "PHRASE",
            "BROAD"
          ],
          "type": "string",
          "description": "The keyword match type."
        },
        "keywordPlanCampaign": {
          "type": "string",
          "description": "The Keyword Plan campaign to which this negative keyword belongs."
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the Keyword Plan negative keyword.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__KeywordPlanCampaignKeywordOperation": {
      "type": "object",
      "properties": {
        "updateMask": {
          "type": "string",
          "description": "The FieldMask that determines which resource fields are modified in an update.",
          "format": "google-fieldmask"
        },
        "create": {
          "description": "Create operation: No resource name is expected for the new Keyword Plan campaign keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword"
        },
        "update": {
          "description": "Update operation: The Keyword Plan campaign keyword expected to have a valid resource name.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword"
        },
        "remove": {
          "description": "Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`",
          "type": "string"
        }
      },
      "description": "A single operation (create, update, remove) on a Keyword Plan campaign keyword."
    }
  }
}