{
  "$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-ad-group-keywords-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateKeywordPlanAdGroupKeywordsRequest",
  "description": "Request message for KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-keywordplanadgroupkeywords-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateKeywordPlanAdGroupKeywordsRequest",
  "type": "object",
  "properties": {
    "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."
    },
    "operations": {
      "type": "array",
      "description": "Required. The list of operations to perform on individual Keyword Plan ad group keywords.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__KeywordPlanAdGroupKeywordOperation"
      }
    },
    "validateOnly": {
      "type": "boolean",
      "description": "If true, the request is validated but not executed. Only errors are returned, not results."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroupKeyword": {
      "type": "object",
      "properties": {
        "keywordPlanAdGroup": {
          "description": "The Keyword Plan ad group to which this keyword belongs.",
          "type": "string"
        },
        "id": {
          "description": "Output only. The ID of the Keyword Plan keyword.",
          "type": "string",
          "format": "int64"
        },
        "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"
          ],
          "description": "The keyword match type.",
          "type": "string"
        },
        "cpcBidMicros": {
          "description": "A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.",
          "type": "string",
          "format": "int64"
        },
        "negative": {
          "description": "Immutable. If true, the keyword is negative.",
          "type": "boolean"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`"
        },
        "text": {
          "type": "string",
          "description": "The keyword text."
        }
      },
      "description": "A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000."
    },
    "GoogleAdsGoogleadsV25Services__KeywordPlanAdGroupKeywordOperation": {
      "description": "A single operation (create, update, remove) on a Keyword Plan ad group keyword.",
      "type": "object",
      "properties": {
        "update": {
          "description": "Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroupKeyword"
        },
        "updateMask": {
          "format": "google-fieldmask",
          "description": "The FieldMask that determines which resource fields are modified in an update.",
          "type": "string"
        },
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanAdGroupKeyword",
          "description": "Create operation: No resource name is expected for the new Keyword Plan ad group keyword."
        },
        "remove": {
          "type": "string",
          "description": "Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`"
        }
      }
    }
  }
}