{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-mutate-campaigns-request-schema.json",
  "title": "MutateCampaignsRequest",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-campaigns-api-openapi.yml#/components/schemas/MutateCampaignsRequest",
  "type": "object",
  "required": [
    "operations"
  ],
  "properties": {
    "operations": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CampaignOperation"
      }
    },
    "partialFailure": {
      "type": "boolean",
      "description": "If true, successful operations are performed even when some fail."
    },
    "validateOnly": {
      "type": "boolean",
      "description": "If true, the request is validated but not executed."
    }
  },
  "$defs": {
    "Campaign": {
      "type": "object",
      "description": "A Google Ads campaign. Campaigns group ad groups and set budgets, bidding strategies, and targeting.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the campaign, e.g. customers/{customerId}/campaigns/{campaignId}."
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "description": "The unique ID of the campaign."
        },
        "name": {
          "type": "string",
          "description": "The name of the campaign. Must be unique within the account."
        },
        "status": {
          "type": "string",
          "enum": [
            "ENABLED",
            "PAUSED",
            "REMOVED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The status of the campaign."
        },
        "advertisingChannelType": {
          "type": "string",
          "enum": [
            "SEARCH",
            "DISPLAY",
            "SHOPPING",
            "VIDEO",
            "MULTI_CHANNEL",
            "LOCAL",
            "SMART",
            "PERFORMANCE_MAX",
            "DEMAND_GEN",
            "TRAVEL",
            "LOCAL_SERVICES",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The primary channel type for serving ads in this campaign."
        },
        "advertisingChannelSubType": {
          "type": "string",
          "description": "Optional refinement of the advertising channel type."
        },
        "biddingStrategyType": {
          "type": "string",
          "enum": [
            "TARGET_CPA",
            "TARGET_ROAS",
            "TARGET_SPEND",
            "MAXIMIZE_CONVERSIONS",
            "MAXIMIZE_CONVERSION_VALUE",
            "MANUAL_CPC",
            "MANUAL_CPM",
            "MANUAL_CPV",
            "TARGET_IMPRESSION_SHARE",
            "ENHANCED_CPC",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The type of bidding strategy used by the campaign."
        },
        "campaignBudget": {
          "type": "string",
          "description": "Resource name of the campaign budget."
        },
        "startDate": {
          "type": "string",
          "description": "Start date of the campaign in yyyy-MM-dd format."
        },
        "endDate": {
          "type": "string",
          "description": "End date of the campaign in yyyy-MM-dd format."
        },
        "networkSettings": {
          "$ref": "#/$defs/NetworkSettings"
        },
        "targetCpa": {
          "$ref": "#/$defs/TargetCpa"
        },
        "targetRoas": {
          "$ref": "#/$defs/TargetRoas"
        },
        "maximizeConversions": {
          "$ref": "#/$defs/MaximizeConversions"
        },
        "manualCpc": {
          "$ref": "#/$defs/ManualCpc"
        },
        "geoTargetTypeSetting": {
          "$ref": "#/$defs/GeoTargetTypeSetting"
        }
      }
    },
    "CampaignOperation": {
      "type": "object",
      "properties": {
        "create": {
          "$ref": "#/$defs/Campaign"
        },
        "update": {
          "$ref": "#/$defs/Campaign"
        },
        "remove": {
          "type": "string",
          "description": "Resource name of the campaign to remove."
        },
        "updateMask": {
          "type": "string",
          "description": "FieldMask specifying which fields to update."
        }
      }
    },
    "GeoTargetTypeSetting": {
      "type": "object",
      "description": "Geographic targeting settings for a campaign.",
      "properties": {
        "positiveGeoTargetType": {
          "type": "string",
          "enum": [
            "PRESENCE_OR_INTEREST",
            "SEARCH_INTEREST",
            "PRESENCE"
          ],
          "description": "How positive geo targeting is applied."
        },
        "negativeGeoTargetType": {
          "type": "string",
          "enum": [
            "PRESENCE_OR_INTEREST",
            "PRESENCE"
          ],
          "description": "How negative geo targeting is applied."
        }
      }
    },
    "ManualCpc": {
      "type": "object",
      "description": "Manual CPC (cost per click) bidding strategy configuration.",
      "properties": {
        "enhancedCpcEnabled": {
          "type": "boolean",
          "description": "Whether Enhanced CPC is enabled for automatic bid adjustments."
        }
      }
    },
    "MaximizeConversions": {
      "type": "object",
      "description": "Maximize Conversions bidding strategy configuration.",
      "properties": {
        "targetCpaMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Optional target CPA in micros when using maximize conversions."
        }
      }
    },
    "NetworkSettings": {
      "type": "object",
      "description": "Network targeting settings for a campaign.",
      "properties": {
        "targetGoogleSearch": {
          "type": "boolean",
          "description": "Whether ads are served on the Google Search Network."
        },
        "targetSearchNetwork": {
          "type": "boolean",
          "description": "Whether ads are served on Google search partner sites."
        },
        "targetContentNetwork": {
          "type": "boolean",
          "description": "Whether ads are served on the Google Display Network."
        },
        "targetPartnerSearchNetwork": {
          "type": "boolean",
          "description": "Whether ads are served on the Google Partner Network."
        }
      }
    },
    "TargetCpa": {
      "type": "object",
      "description": "Target CPA (cost per acquisition) bidding strategy configuration.",
      "properties": {
        "targetCpaMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Target CPA amount in micros (1,000,000 micros = 1 unit of currency)."
        }
      }
    },
    "TargetRoas": {
      "type": "object",
      "description": "Target ROAS (return on ad spend) bidding strategy configuration.",
      "properties": {
        "targetRoas": {
          "type": "number",
          "description": "Target return on ad spend as a ratio, e.g. 3.5 means 350% ROAS."
        }
      }
    }
  }
}