Google Ads · Schema

GoogleAdsGoogleadsV25Services__MutateCampaignsRequest

Request message for CampaignService.MutateCampaigns.

AdvertisingCampaign ManagementDigital AdvertisingGoogleMarketingPPCGoogle AdsAdTech

Properties

Name Type Description
validateOnly boolean If true, the request is validated but not executed. Only errors are returned, not results.
responseContentType string The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
operations array Required. The list of operations to perform on individual campaigns.
partialFailure boolean 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
View JSON Schema on GitHub

JSON Schema

google-ads-google-ads-googleads-v25-services-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-google-ads-googleads-v25-services-mutate-campaigns-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCampaignsRequest",
  "description": "Request message for CampaignService.MutateCampaigns.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-campaigns-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCampaignsRequest",
  "type": "object",
  "properties": {
    "validateOnly": {
      "description": "If true, the request is validated but not executed. Only errors are returned, not results.",
      "type": "boolean"
    },
    "responseContentType": {
      "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.",
      "type": "string",
      "x-enumDescriptions": [
        "Not specified. Will return the resource name only in the response.",
        "The mutate response will be the resource name.",
        "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned."
      ],
      "enum": [
        "UNSPECIFIED",
        "RESOURCE_NAME_ONLY",
        "MUTABLE_RESOURCE"
      ]
    },
    "operations": {
      "type": "array",
      "description": "Required. The list of operations to perform on individual campaigns.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CampaignOperation"
      }
    },
    "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"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandLiftIntegrationPartner": {
      "description": "Container for third party Brand Lift integration data for Campaign.",
      "type": "object",
      "properties": {
        "brandLiftIntegrationPartner": {
          "description": "Allowed third party integration partners for Brand Lift verification.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Kantar",
            "Dynata",
            "Intage",
            "Macromill"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KANTAR_MILLWARD_BROWN",
            "DYNATA",
            "INTAGE",
            "MACROMILL"
          ]
        },
        "brandLiftIntegrationPartnerData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData",
          "description": "Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns."
        },
        "shareCost": {
          "type": "boolean",
          "description": "If true, then cost data will be shared with this vendor."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandSafetyIntegrationPartner": {
      "type": "object",
      "properties": {
        "brandSafetyIntegrationPartnerData": {
          "description": "Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData"
        },
        "brandSafetyIntegrationPartner": {
          "type": "string",
          "description": "Allowed third party integration partners for brand safety verification.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Zefr."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DOUBLE_VERIFY",
            "INTEGRAL_AD_SCIENCE",
            "ZEFR"
          ]
        }
      },
      "description": "Container for third party brand safety integration data for Campaign."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyConversionAttributionIntegrationPartner": {
      "description": "Container for third party YouTube conversion attribution integration data for Campaign.",
      "type": "object",
      "properties": {
        "conversionAttributionIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Transunion."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "TRANSUNION"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for YouTube conversion attribution verification."
        },
        "conversionAttributionIntegrationPartnerData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData",
          "description": "Third party partner data for YouTube conversion attribution verification."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyIntegrationPartners": {
      "type": "object",
      "properties": {
        "brandSafetyIntegrationPartners": {
          "type": "array",
          "description": "Third party integration partners for brand safety verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandSafetyIntegrationPartner"
          }
        },
        "conversionAttributionIntegrationPartners": {
          "type": "array",
          "description": "Third party integration partners for YouTube conversion attribution verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyConversionAttributionIntegrationPartner"
          }
        },
        "brandLiftIntegrationPartners": {
          "description": "Third party integration partners for Brand Lift verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyBrandLiftIntegrationPartner"
          },
          "type": "array"
        },
        "viewabilityIntegrationPartners": {
          "type": "array",
          "description": "Third party integration partners for YouTube viewability verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyViewabilityIntegrationPartner"
          }
        },
        "reachIntegrationPartners": {
          "description": "Third party integration partners for reach verification for this Campaign.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CampaignThirdPartyReachIntegrationPartner"
          },
          "type": "array"
        }
      },
      "description": "Container for Campaign level third party integration partners."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyReachIntegrationPartner": {
      "type": "object",
      "properties": {
        "reachIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Nielsen.",
            "Comscore.",
            "Kantar.",
            "Video Research.",
            "Gemius.",
            "MediaScope.",
            "AudienceProject",
            "VideoAmp",
            "iSpot.tv"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NIELSEN",
            "COMSCORE",
            "KANTAR_MILLWARD_BROWN",
            "VIDEO_RESEARCH",
            "GEMIUS",
            "MEDIA_SCOPE",
            "AUDIENCE_PROJECT",
            "VIDEO_AMP",
            "ISPOT_TV"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for reach verification."
        },
        "reachIntegrationPartnerData": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData",
          "description": "Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns."
        },
        "shareCost": {
          "description": "If true, then cost data will be shared with this vendor.",
          "type": "boolean"
        }
      },
      "description": "Container for third party reach integration data for Campaign."
    },
    "GoogleAdsGoogleadsV25Common__CampaignThirdPartyViewabilityIntegrationPartner": {
      "type": "object",
      "properties": {
        "viewabilityIntegrationPartner": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Zefr."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DOUBLE_VERIFY",
            "INTEGRAL_AD_SCIENCE",
            "ZEFR"
          ],
          "type": "string",
          "description": "Allowed third party integration partners for YouTube viewability verification."
        },
        "shareCost": {
          "description": "If true, then cost data will be shared with this vendor.",
          "type": "boolean"
        },
        "viewabilityIntegrationPartnerData": {
          "description": "Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ThirdPartyIntegrationPartnerData"
        }
      },
      "description": "Container for third party viewability integration data for Campaign."
    },
    "GoogleAdsGoogleadsV25Common__Commission": {
      "description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.",
      "type": "object",
      "properties": {
        "commissionRateMicros": {
          "type": "string",
          "description": "Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomParameter": {
      "type": "object",
      "properties": {
        "key": {
          "description": "The key matching the parameter tag name.",
          "type": "string"
        },
        "value": {
          "type": "string",
          "description": "The value to be substituted."
        }
      },
      "description": "A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`."
    },
    "GoogleAdsGoogleadsV25Common__FixedCpm": {
      "type": "object",
      "properties": {
        "goal": {
          "type": "string",
          "description": "Fixed CPM bidding goal. Determines the exact bidding optimization parameters.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Maximize reach, that is the number of users who saw the ads in this campaign.",
            "Target Frequency CPM bidder. Optimize bidding to reach a single user with the requested frequency."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REACH",
            "TARGET_FREQUENCY"
          ]
        },
        "targetFrequencyInfo": {
          "description": "Target frequency bidding goal details.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FixedCpmTargetFrequencyGoalInfo"
        }
      },
      "description": "Fixed CPM (cost per thousand impression) bidding strategy. A manual bidding strategy with a fixed CPM."
    },
    "GoogleAdsGoogleadsV25Common__FixedCpmTargetFrequencyGoalInfo": {
      "type": "object",
      "properties": {
        "targetCount": {
          "description": "Target frequency count represents the number of times an advertiser wants to show the ad to target a single user.",
          "type": "string",
          "format": "int64"
        },
        "timeUnit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Optimize bidding to reach target frequency in 30 days."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MONTHLY"
          ],
          "description": "Time window expressing the period over which you want to reach the specified target_count.",
          "type": "string"
        }
      },
      "description": "Target frequency bidding goal details for Fixed CPM bidding strategy. Only relevant if the goal of the bidding strategy is `TARGET_FREQUENCY`."
    },
    "GoogleAdsGoogleadsV25Common__FrequencyCapEntry": {
      "description": "A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.",
      "type": "object",
      "properties": {
        "key": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__FrequencyCapKey",
          "description": "The key of a particular frequency cap. There can be no more than one frequency cap with the same key."
        },
        "cap": {
          "type": "integer",
          "description": "Maximum number of events allowed during the time range by this cap.",
          "format": "int32"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__FrequencyCapKey": {
      "description": "A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key.",
      "type": "object",
      "properties": {
        "level": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The cap is applied at the ad group ad level.",
            "The cap is applied at the ad group level.",
            "The cap is applied at the campaign level."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AD_GROUP_AD",
            "AD_GROUP",
            "CAMPAIGN"
          ],
          "description": "The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.",
          "type": "string"
        },
        "eventType": {
          "description": "The type of event that the cap applies to (for example, impression).",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The cap applies on ad impressions.",
            "The cap applies on video ad views."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "IMPRESSION",
            "VIDEO_VIEW"
          ]
        },
        "timeLength": {
          "format": "int32",
          "type": "integer",
          "description": "Number of time units the cap lasts."
        },
        "timeUnit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The cap would define limit per one day.",
            "The cap would define limit per one week.",
            "The cap would define limit per one month."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DAY",
            "WEEK",
            "MONTH"
          ],
          "type": "string",
          "description": "Unit of time the cap is defined at (for example, day, week)."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LocalServicesPhoneNumber": {
      "type": "object",
      "properties": {
        "phoneNumberType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Provider-provided destination number to use for calls originating from a GLS ad unit. This is the default.",
            "Destination phone number that supports SMS.",
            "Destination phone number for a provider's WhatsApp account."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DESTINATION_PHONE_NUMBER_FOR_ADS",
            "DESTINATION_PHONE_NUMBER_FOR_SMS_ONLY",
            "DESTINATION_PHONE_NUMBER_FOR_WHATSAPP_ONLY"
          ],
          "description": "The type of the phone number.",
          "type": "string"
        },
        "phoneNumber": {
          "description": "The phone number.",
          "type": "string"
        },
        "countryCode": {
          "type": "string",
          "description": "Upper-case, two-letter codes as defined by ISO-3166."
        }
      },
      "description": "Phone number associated with the provider."
    },
    "GoogleAdsGoogleadsV25Common__ManualCpa": {
      "description": "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__ManualCpc": {
      "description": "Manual click-based bidding where user pays per click.",
      "type": "object",
      "properties": {
        "enhancedCpcEnabled": {
          "type": "boolean",
          "description": "Whether bids are to be enhanced based on conversion optimizer data."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ManualCpm": {
      "type": "object",
      "properties": {},
      "description": "Manual impression-based bidding where user pays per thousand impressions."
    },
    "GoogleAdsGoogleadsV25Common__ManualCpv": {
      "description": "View based bidding where user pays per video view.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__MaximizeConversionValue": {
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "format": "int64",
          "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.",
          "type": "string"
        },
        "targetRoas": {
          "type": "number",
          "description": "The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.",
          "format": "double"
        },
        "cpcBidFloorMicros": {
          "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.",
          "type": "string",
          "format": "int64"
        },
        "targetRoasTolerancePercentMillis": {
          "format": "int64",
          "description": "The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.",
          "type": "string"
        }
      },
      "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget."
    },
    "GoogleAdsGoogleadsV25Common__MaximizeConversions": {
      "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.",
      "type": "object",
      "properties": {
        "cpcBidFloorMicros": {
          "format": "int64",
          "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.",
          "type": "string"
        },
        "cpcBidCeilingMicros": {
          "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.",
          "type": "string",
          "format": "int64"
        },
        "targetCpaMicros": {
          "description": "The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__PercentCpc": {
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "description": "Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.",
          "type": "string",
          "format": "int64"
        },
        "enhancedCpcEnabled": {
          "description": "Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.",
          "type": "boolean"
        }
      },
      "description": "A bidding strategy where bids are a fraction of the advertised price for some good or service."
    },
    "GoogleAdsGoogleadsV25Common__RealTimeBiddingSetting": {
      "description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.",
      "type": "object",
      "properties": {
        "optIn": {
          "type": "boolean",
          "description": "Whether the campaign is opted in to real-time bidding."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpa": {
      "description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.",
      "type": "object",
      "properties": {
        "cpcBidFloorMicros": {
          "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.",
          "type": "string",
          "format": "int64"
        },
        "cpcBidCeilingMicros": {
          "format": "int64",
          "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.",
          "type": "string"
        },
        "targetCpaMicros": {
          "description": "Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpc": {
      "description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.",
      "type": "object",
      "properties": {
        "targetCpcMicros": {
          "description": "Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpm": {
      "type": "object",
      "properties": {
        "targetFrequencyGoal": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetCpmTargetFrequencyGoal",
          "description": "Target Frequency bidding goal details."
        }
      },
      "description": "Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set."
    },
    "GoogleAdsGoogleadsV25Common__TargetCpmTargetFrequencyGoal": {
      "description": "Target Frequency bidding goal details.",
      "type": "object",
      "properties": {
        "targetCount": {
          "format": "int64",
          "description": "Target Frequency count representing how many times you want to reach a single user.",
          "type": "string"
        },
        "timeUnit": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Optimize bidding to reach Target Frequency in a week.",
            "Optimize bidding to reach Target Frequency in a month."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "WEEKLY",
            "MONTHLY"
          ],
          "description": "Time window expressing the period over which you want to reach the specified target_count.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetCpv": {
      "description": "Target CPV (cost per view) bidding strategy. An automated bidding strategy that sets bids to optimize performance given the target CPV you set.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common__TargetImpressionShare": {
      "description": "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).",
      "type": "object",
      "properties": {
        "cpcBidCeilingMicros": {
          "format": "int64",
          "description": "The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.",
          "type": "string"
        },
        "locationFractionMicros": {
          "format": "int64",
          "description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.",
          "type": "string"
        },
        "location": {
          "description": "The targeted location on the search results page.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Any location on the web page.",
            "Top box of ads.",
            "Top slot in the top box of ads."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ANYWHERE_ON_PAGE",
            "TOP_OF_PAGE",
            "ABSOLUTE_TOP_OF_PAGE"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetRestriction": {
      "description": "The list of per-targeting-dimension targeting settings.",
      "type": "object",
      "properties": {
        "targetingDimension": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.",
            "Audience criteria, which include user list, user interest, custom affinity, and custom in market.",
            "Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.",
            "Criteria for targeting gender.",
            "Criteria for targeting age ranges.",
            "Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.",
            "Criteria for parental status targeting.",
            "Criteria for income range targeting."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KEYWORD",
            "AUDIENCE",
            "TOPIC",
            "GENDER",
            "AGE_RANGE",
            "PLACEMENT",
            "PARENTAL_STATUS",
            "INCOME_RANGE"
          ],
          "description": "The targeting dimension that these settings apply to.",
          "type": "string"
        },
        "bidOnly": {
          "type": "boolean",
          "description": "Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TargetRestrictionOperation": {
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "Type of list operation to perform.",
          "x-enumDescriptions": [
            "Unspecified.",
            "Used for return value only. Represents value unknown in this version.",
            "Add the restriction to the existing restrictions.",
            "Remove the restriction from the existing restrictions."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ADD",
            "REMOVE"
          ]
        },
        "value": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TargetRestriction",
          "description": "The target restriction being added to or removed from the list."
        }
      },
      "description": "Operation to be performed on a target restriction list in a mutate."
    },
    "GoogleAdsGoogleadsV25Common__TargetRoas": {
      "type": "object",
      "properties": {
        "targetRoas": {
          "type": "number",
          "description": "Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.",
          "format": "double"
        },
        "cpcBidFloorMicros": {
          "format": "int64",
          "type": "string",
          "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies."
        },
        "targetRoasTolerancePercentMillis": {
          "type": "string",
          "description": "The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.",
          "format": "int64"
        },
        "cpcBidCeilingMicros": {
          "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS)."
    },
    "GoogleAdsGoogleadsV25Common__TargetSpend": {
      "description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.",
      "typ

# --- truncated at 32 KB (131 KB total) ---
# Full source: https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-mutate-campaigns-request-schema.json

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-google-ads-googleads-v25-services-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.