Google Ads · Schema
GoogleAdsGoogleadsV25Services__MutateKeywordPlansRequest
Request message for KeywordPlanService.MutateKeywordPlans.
AdvertisingCampaign ManagementDigital AdvertisingGoogleMarketingPPCGoogle AdsAdTech
Properties
| Name | Type | Description |
|---|---|---|
| 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 |
| operations | array | Required. The list of operations to perform on individual keyword plans. |
| validateOnly | boolean | If true, the request is validated but not executed. Only errors are returned, not results. |
JSON Schema
{
"$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-plans-request-schema.json",
"title": "GoogleAdsGoogleadsV25Services__MutateKeywordPlansRequest",
"description": "Request message for KeywordPlanService.MutateKeywordPlans.",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/google-ads-customers-keywordplans-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateKeywordPlansRequest",
"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"
},
"operations": {
"type": "array",
"description": "Required. The list of operations to perform on individual keyword plans.",
"items": {
"$ref": "#/$defs/GoogleAdsGoogleadsV25Services__KeywordPlanOperation"
}
},
"validateOnly": {
"type": "boolean",
"description": "If true, the request is validated but not executed. Only errors are returned, not results."
}
},
"$defs": {
"GoogleAdsGoogleadsV25Common__DateRange": {
"type": "object",
"properties": {
"startDate": {
"type": "string",
"description": "The start date, in yyyy-mm-dd format. This date is inclusive."
},
"endDate": {
"description": "The end date, in yyyy-mm-dd format. This date is inclusive.",
"type": "string"
}
},
"description": "A date range."
},
"GoogleAdsGoogleadsV25Resources__KeywordPlan": {
"description": "A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached.",
"type": "object",
"properties": {
"resourceName": {
"type": "string",
"description": "Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`"
},
"forecastPeriod": {
"description": "The date period used for forecasting the plan.",
"$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanForecastPeriod"
},
"id": {
"format": "int64",
"description": "Output only. The ID of the keyword plan.",
"type": "string"
},
"name": {
"description": "The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.",
"type": "string"
}
}
},
"GoogleAdsGoogleadsV25Resources__KeywordPlanForecastPeriod": {
"description": "The forecasting period associated with the keyword plan.",
"type": "object",
"properties": {
"dateInterval": {
"type": "string",
"description": "A future date range relative to the current date used for forecasting.",
"x-enumDescriptions": [
"Not specified.",
"The value is unknown in this version.",
"The next week date range for keyword plan. The next week is based on the default locale of the user's account and is mostly SUN-SAT or MON-SUN. This can be different from next-7 days.",
"The next month date range for keyword plan.",
"The next quarter date range for keyword plan."
],
"enum": [
"UNSPECIFIED",
"UNKNOWN",
"NEXT_WEEK",
"NEXT_MONTH",
"NEXT_QUARTER"
]
},
"dateRange": {
"description": "The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.",
"$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DateRange"
}
}
},
"GoogleAdsGoogleadsV25Services__KeywordPlanOperation": {
"type": "object",
"properties": {
"remove": {
"type": "string",
"description": "Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}`"
},
"update": {
"$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlan",
"description": "Update operation: The keyword plan is expected to have a valid resource name."
},
"updateMask": {
"type": "string",
"description": "The FieldMask that determines which resource fields are modified in an update.",
"format": "google-fieldmask"
},
"create": {
"description": "Create operation: No resource name is expected for the new keyword plan.",
"$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlan"
}
},
"description": "A single operation (create, update, remove) on a keyword plan."
}
}
}
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-google-ads-googleads-v25-services-mutate-keyword-plans-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.