{
  "$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-campaigns-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignsRequest",
  "description": "Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-keywordplancampaigns-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignsRequest",
  "type": "object",
  "properties": {
    "partialFailure": {
      "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.",
      "type": "boolean"
    },
    "validateOnly": {
      "description": "If true, the request is validated but not executed. Only errors are returned, not results.",
      "type": "boolean"
    },
    "operations": {
      "description": "Required. The list of operations to perform on individual Keyword Plan campaigns.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__KeywordPlanCampaignOperation"
      },
      "type": "array"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__KeywordPlanCampaign": {
      "description": "A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.",
      "type": "object",
      "properties": {
        "languageConstants": {
          "type": "array",
          "description": "The languages targeted for the Keyword Plan campaign. Max allowed: 1.",
          "items": {
            "type": "string"
          }
        },
        "keywordPlanNetwork": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Google Search.",
            "Google Search + Search partners."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "GOOGLE_SEARCH",
            "GOOGLE_SEARCH_AND_PARTNERS"
          ],
          "type": "string",
          "description": "Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`"
        },
        "name": {
          "description": "The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.",
          "type": "string"
        },
        "cpcBidMicros": {
          "type": "string",
          "description": "A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.",
          "format": "int64"
        },
        "keywordPlan": {
          "description": "The keyword plan this campaign belongs to.",
          "type": "string"
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the Keyword Plan campaign.",
          "type": "string"
        },
        "geoTargets": {
          "description": "The geo targets. Max number allowed: 20.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanGeoTarget"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__KeywordPlanGeoTarget": {
      "type": "object",
      "properties": {
        "geoTargetConstant": {
          "description": "Required. The resource name of the geo target.",
          "type": "string"
        }
      },
      "description": "A geo target."
    },
    "GoogleAdsGoogleadsV25Services__KeywordPlanCampaignOperation": {
      "description": "A single operation (create, update, remove) on a Keyword Plan campaign.",
      "type": "object",
      "properties": {
        "remove": {
          "type": "string",
          "description": "Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`"
        },
        "update": {
          "description": "Update operation: The Keyword Plan campaign is expected to have a valid resource name.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaign"
        },
        "updateMask": {
          "format": "google-fieldmask",
          "type": "string",
          "description": "The FieldMask that determines which resource fields are modified in an update."
        },
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaign",
          "description": "Create operation: No resource name is expected for the new Keyword Plan campaign."
        }
      }
    }
  }
}