Google Ads · Schema
MutateAdGroupAdsRequest
AdvertisingCampaign ManagementDigital AdvertisingGoogleMarketingPPCGoogle AdsAdTech
Properties
| Name | Type | Description |
|---|---|---|
| operations | array | |
| partialFailure | boolean | |
| validateOnly | boolean |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-mutate-ad-group-ads-request-schema.json",
"title": "MutateAdGroupAdsRequest",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/google-ads-ads-api-openapi.yml#/components/schemas/MutateAdGroupAdsRequest",
"type": "object",
"required": [
"operations"
],
"properties": {
"operations": {
"type": "array",
"items": {
"$ref": "#/$defs/AdGroupAdOperation"
}
},
"partialFailure": {
"type": "boolean"
},
"validateOnly": {
"type": "boolean"
}
},
"$defs": {
"Ad": {
"type": "object",
"description": "The creative content of an ad.",
"properties": {
"resourceName": {
"type": "string",
"description": "Resource name of the ad."
},
"id": {
"type": "integer",
"format": "int64",
"description": "The unique ID of the ad."
},
"finalUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"description": "The list of landing page URLs for the ad."
},
"finalMobileUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"description": "Landing page URLs for mobile devices."
},
"trackingUrlTemplate": {
"type": "string",
"description": "URL template for tracking clicks."
},
"type": {
"type": "string",
"enum": [
"RESPONSIVE_SEARCH_AD",
"EXPANDED_TEXT_AD",
"RESPONSIVE_DISPLAY_AD",
"IMAGE_AD",
"VIDEO_AD",
"CALL_AD",
"APP_AD",
"SHOPPING_PRODUCT_AD",
"UNKNOWN",
"UNSPECIFIED"
],
"description": "The type of ad."
},
"responsiveSearchAd": {
"$ref": "#/$defs/ResponsiveSearchAdInfo"
},
"responsiveDisplayAd": {
"$ref": "#/$defs/ResponsiveDisplayAdInfo"
}
}
},
"AdGroupAd": {
"type": "object",
"description": "An ad within an ad group.",
"properties": {
"resourceName": {
"type": "string",
"description": "Resource name of the ad group ad."
},
"status": {
"type": "string",
"enum": [
"ENABLED",
"PAUSED",
"REMOVED",
"UNKNOWN",
"UNSPECIFIED"
],
"description": "The status of the ad."
},
"adGroup": {
"type": "string",
"description": "Resource name of the ad group this ad belongs to."
},
"ad": {
"$ref": "#/$defs/Ad"
},
"policySummary": {
"$ref": "#/$defs/PolicySummary"
},
"adStrength": {
"type": "string",
"enum": [
"EXCELLENT",
"GOOD",
"AVERAGE",
"POOR",
"NO_ADS",
"UNKNOWN",
"UNSPECIFIED"
],
"description": "Overall ad strength rating for responsive search ads."
}
}
},
"AdGroupAdOperation": {
"type": "object",
"properties": {
"create": {
"$ref": "#/$defs/AdGroupAd"
},
"update": {
"$ref": "#/$defs/AdGroupAd"
},
"remove": {
"type": "string"
},
"updateMask": {
"type": "string"
}
}
},
"AdTextAsset": {
"type": "object",
"description": "A text asset used in responsive ads.",
"properties": {
"text": {
"type": "string",
"description": "The text content of the asset."
},
"pinnedField": {
"type": "string",
"enum": [
"HEADLINE_1",
"HEADLINE_2",
"HEADLINE_3",
"DESCRIPTION_1",
"DESCRIPTION_2",
"UNSPECIFIED"
],
"description": "Pin position for this text asset in ad rendering."
}
}
},
"PolicySummary": {
"type": "object",
"description": "Policy review status and approval information.",
"properties": {
"approvalStatus": {
"type": "string",
"enum": [
"APPROVED",
"APPROVED_LIMITED",
"AREA_OF_INTEREST_ONLY",
"DISAPPROVED",
"UNKNOWN",
"UNSPECIFIED"
],
"description": "Overall approval status of the ad."
},
"reviewStatus": {
"type": "string",
"enum": [
"REVIEW_IN_PROGRESS",
"REVIEWED",
"UNDER_APPEAL",
"ELIGIBLE_MAY_SERVE",
"UNKNOWN",
"UNSPECIFIED"
],
"description": "Current review status of the ad."
},
"policyTopicEntries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The policy topic type."
},
"topic": {
"type": "string",
"description": "The policy topic name."
}
}
}
}
}
},
"ResponsiveDisplayAdInfo": {
"type": "object",
"description": "A responsive display ad that automatically adjusts size, appearance, and format.",
"properties": {
"headlines": {
"type": "array",
"items": {
"$ref": "#/$defs/AdTextAsset"
}
},
"longHeadline": {
"$ref": "#/$defs/AdTextAsset"
},
"descriptions": {
"type": "array",
"items": {
"$ref": "#/$defs/AdTextAsset"
}
},
"businessName": {
"type": "string",
"description": "The advertiser business name."
}
}
},
"ResponsiveSearchAdInfo": {
"type": "object",
"description": "A responsive search ad composed of multiple headlines and descriptions that Google optimizes.",
"properties": {
"headlines": {
"type": "array",
"description": "List of headline assets (minimum 3, maximum 15).",
"items": {
"$ref": "#/$defs/AdTextAsset"
}
},
"descriptions": {
"type": "array",
"description": "List of description assets (minimum 2, maximum 4).",
"items": {
"$ref": "#/$defs/AdTextAsset"
}
},
"path1": {
"type": "string",
"description": "First part of the display URL path appended to the domain."
},
"path2": {
"type": "string",
"description": "Second part of the display URL path."
}
}
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-ads-mutate-ad-group-ads-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.