Google Ads · Schema

GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordsRequest

Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.

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.
operations array Required. The list of operations to perform on individual Keyword Plan campaign keywords.
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-keyword-plan-campaign-keywords-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-keyword-plan-campaign-keywords-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordsRequest",
  "description": "Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-keywordplancampaignkeywords-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateKeywordPlanCampaignKeywordsRequest",
  "type": "object",
  "properties": {
    "validateOnly": {
      "description": "If true, the request is validated but not executed. Only errors are returned, not results.",
      "type": "boolean"
    },
    "operations": {
      "type": "array",
      "description": "Required. The list of operations to perform on individual Keyword Plan campaign keywords.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__KeywordPlanCampaignKeywordOperation"
      }
    },
    "partialFailure": {
      "type": "boolean",
      "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."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword": {
      "description": "A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.",
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`"
        },
        "text": {
          "type": "string",
          "description": "The keyword text."
        },
        "negative": {
          "description": "Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.",
          "type": "boolean"
        },
        "matchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exact match.",
            "Phrase match.",
            "Broad match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT",
            "PHRASE",
            "BROAD"
          ],
          "type": "string",
          "description": "The keyword match type."
        },
        "keywordPlanCampaign": {
          "type": "string",
          "description": "The Keyword Plan campaign to which this negative keyword belongs."
        },
        "id": {
          "format": "int64",
          "description": "Output only. The ID of the Keyword Plan negative keyword.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__KeywordPlanCampaignKeywordOperation": {
      "type": "object",
      "properties": {
        "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 campaign keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword"
        },
        "update": {
          "description": "Update operation: The Keyword Plan campaign keyword expected to have a valid resource name.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__KeywordPlanCampaignKeyword"
        },
        "remove": {
          "description": "Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`",
          "type": "string"
        }
      },
      "description": "A single operation (create, update, remove) on a Keyword Plan campaign keyword."
    }
  }
}

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-keyword-plan-campaign-keywords-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.