Google Ads · Schema

MutateCampaignsRequest

AdvertisingCampaign ManagementDigital AdvertisingGoogleMarketingPPCGoogle AdsAdTech

Properties

Name Type Description
operations array
partialFailure boolean If true, successful operations are performed even when some fail.
validateOnly boolean If true, the request is validated but not executed.
View JSON Schema on GitHub

JSON Schema

google-ads-mutate-campaigns-request-schema.json Raw ↑
{
  "$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."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-ads-mutate-campaigns-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.