Google Ads · Schema

GoogleAdsGoogleadsV25Services__MutateSharedCriteriaRequest

Request message for SharedCriterionService.MutateSharedCriteria.

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
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 shared criteria.
View JSON Schema on GitHub

JSON Schema

google-ads-google-ads-googleads-v25-services-mutate-shared-criteria-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-shared-criteria-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateSharedCriteriaRequest",
  "description": "Request message for SharedCriterionService.MutateSharedCriteria.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-sharedcriteria-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateSharedCriteriaRequest",
  "type": "object",
  "properties": {
    "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."
    },
    "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": {
      "description": "Required. The list of operations to perform on individual shared criteria.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__SharedCriterionOperation"
      },
      "type": "array"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common__BrandInfo": {
      "description": "Represents a Brand Criterion used for targeting based on commercial knowledge graph.",
      "type": "object",
      "properties": {
        "entityId": {
          "type": "string",
          "description": "The Commercial KG MID for the brand."
        },
        "status": {
          "description": "Output only. The status of a brand.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "DEPRECATED",
            "UNVERIFIED",
            "APPROVED",
            "CANCELLED",
            "REJECTED"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Brand is verified and globally available for selection",
            "Brand was globally available in past but is no longer a valid brand (based on business criteria)",
            "Brand is unverified and customer scoped, but can be selected by customer (only who requested for same) for targeting",
            "Was a customer-scoped (unverified) brand, which got approved by business and added to the global list. Its assigned CKG MID should be used instead of this",
            "Was a customer-scoped (unverified) brand, but the request was canceled by customer and this brand id is no longer valid",
            "Was a customer-scoped (unverified) brand, but the request was rejected by internal business team and this brand id is no longer valid"
          ]
        },
        "rejectionReason": {
          "description": "Output only. The rejection reason when a brand status is REJECTED.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXISTING_BRAND",
            "EXISTING_BRAND_VARIANT",
            "INCORRECT_INFORMATION",
            "NOT_A_BRAND"
          ],
          "x-enumDescriptions": [
            "No value has been specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Brand is already present in the commercial brand set.",
            "Brand is already present in the commercial brand set, but is a variant.",
            "Brand information is not correct (eg: URL and name don't match).",
            "Not a valid brand as per Google policy."
          ]
        },
        "primaryUrl": {
          "type": "string",
          "description": "Output only. The primary url of a brand."
        },
        "displayName": {
          "description": "Output only. A text representation of a brand.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__KeywordInfo": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "The text of the keyword (at most 80 characters and 10 words)."
        },
        "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 match type of the keyword."
        }
      },
      "description": "A keyword criterion."
    },
    "GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo": {
      "description": "A mobile app category criterion.",
      "type": "object",
      "properties": {
        "mobileAppCategoryConstant": {
          "type": "string",
          "description": "The mobile app category constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__MobileApplicationInfo": {
      "type": "object",
      "properties": {
        "appId": {
          "description": "A string that uniquely identifies a mobile application to Google Ads API. The format of this string is \"{platform}-{platform_native_id}\", where platform is \"1\" for iOS apps and \"2\" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, \"476943146\" for \"Flood-It! 2\" whose App Store link is \"http://itunes.apple.com/us/app/flood-it!-2/id476943146\"). For Android, this native identifier is the application's package name (for example, \"com.labpixies.colordrips\" for \"Color Drips\" given Google Play link \"https://play.google.com/store/apps/details?id=com.labpixies.colordrips\"). A well formed app id for Google Ads API would thus be \"1-476943146\" for iOS and \"2-com.labpixies.colordrips\" for Android. This field is required and must be set in CREATE operations.",
          "type": "string"
        },
        "name": {
          "description": "Name of this mobile application.",
          "type": "string"
        }
      },
      "description": "A mobile application criterion."
    },
    "GoogleAdsGoogleadsV25Common__PlacementInfo": {
      "description": "A placement criterion. This can be used to modify bids for sites when targeting the content network.",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "URL of the placement. For example, \"http://www.domain.com\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__RetailFilter": {
      "type": "object",
      "properties": {
        "expression": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailFilterExpression",
          "description": "An expression node. At this time, this can only be an OR node."
        },
        "tag": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailTag",
          "description": "A tag node."
        }
      },
      "description": "Represents a Retail Filter."
    },
    "GoogleAdsGoogleadsV25Common__RetailFilterExpression": {
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the expression. This name is used for grouping Retail Tags into one logical expression with OR operator. The name can contain at most 20 characters. Only lowercase latin letters, underscores, and numbers are allowed. This field is required and must be unique within the shared set.",
          "type": "string"
        }
      },
      "description": "Represents a Retail Filter Expression. Tags grouped within an expression are joined with OR operator. A product needs to have any of these tags to satisfy expression condition."
    },
    "GoogleAdsGoogleadsV25Common__RetailTag": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "The value of the tag. It can contain at most 50 characters. All Unicode characters except comma and newline are allowed. This field is required."
        },
        "expressionName": {
          "description": "The name of the expression this tag belongs to. If empty, the tag is a top-level condition.",
          "type": "string"
        }
      },
      "description": "Represents a Retail Filter Tag."
    },
    "GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleInfo": {
      "description": "A criterion to represent a single item group rule in Vertical Ads.",
      "type": "object",
      "properties": {
        "itemCode": {
          "type": "string",
          "description": "The id specifying a particular Vertical Ad listing."
        },
        "hotelClass": {
          "format": "int64",
          "description": "Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.",
          "type": "string"
        },
        "venue": {
          "type": "string",
          "description": "A name for a specific location, like the venue for a concert event."
        },
        "countryCriterionId": {
          "type": "string",
          "description": "The resource name of the Geo Target Constant for the country."
        },
        "userRating": {
          "format": "int64",
          "description": "Integer value specifying the user rating for a Vertical Ad listing. Ranges from 1 to 5, where 5 is the best.",
          "type": "string"
        },
        "eventParticipantDisplayName": {
          "type": "string",
          "description": "The name of an associated participant for a given event. For example, headliner for a concert event."
        },
        "cityCriterionId": {
          "description": "The resource name of the Geo Target Constant for the city.",
          "type": "string"
        },
        "regionCriterionId": {
          "type": "string",
          "description": "The resource name of the Geo Target Constant for the region."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__WebpageConditionInfo": {
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "Operator of webpage targeting condition.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The argument web condition is equal to the compared web condition.",
            "The argument web condition is part of the compared web condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EQUALS",
            "CONTAINS"
          ]
        },
        "operand": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Operand denoting a webpage URL targeting condition.",
            "Operand denoting a webpage category targeting condition.",
            "Operand denoting a webpage title targeting condition.",
            "Operand denoting a webpage content targeting condition.",
            "Operand denoting a webpage custom label targeting condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "URL",
            "CATEGORY",
            "PAGE_TITLE",
            "PAGE_CONTENT",
            "CUSTOM_LABEL"
          ],
          "description": "Operand of webpage targeting condition.",
          "type": "string"
        },
        "argument": {
          "description": "Argument of webpage targeting condition.",
          "type": "string"
        }
      },
      "description": "Logical expression for targeting webpages of an advertiser's website."
    },
    "GoogleAdsGoogleadsV25Common__WebpageInfo": {
      "type": "object",
      "properties": {
        "criterionName": {
          "description": "The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string"
        },
        "coveragePercentage": {
          "description": "Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.",
          "type": "number",
          "format": "double"
        },
        "conditions": {
          "description": "Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageConditionInfo"
          },
          "type": "array"
        },
        "sample": {
          "description": "List of sample urls that match the website target. This field is read-only.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageSampleInfo"
        }
      },
      "description": "Represents a criterion for targeting webpages of an advertiser's website."
    },
    "GoogleAdsGoogleadsV25Common__WebpageSampleInfo": {
      "type": "object",
      "properties": {
        "sampleUrls": {
          "type": "array",
          "description": "Webpage sample urls",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "List of sample urls that match the website target"
    },
    "GoogleAdsGoogleadsV25Common__YouTubeChannelInfo": {
      "type": "object",
      "properties": {
        "channelId": {
          "type": "string",
          "description": "The YouTube uploader channel id or the channel code of a YouTube channel."
        }
      },
      "description": "A YouTube Channel criterion."
    },
    "GoogleAdsGoogleadsV25Common__YouTubeVideoInfo": {
      "description": "A YouTube Video criterion.",
      "type": "object",
      "properties": {
        "videoId": {
          "type": "string",
          "description": "YouTube video id as it appears on the YouTube watch page."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__SharedCriterion": {
      "type": "object",
      "properties": {
        "youtubeChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeChannelInfo",
          "description": "Immutable. YouTube Channel."
        },
        "criterionId": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The ID of the criterion. This field is ignored for mutates."
        },
        "sharedSet": {
          "description": "Immutable. The shared set to which the shared criterion belongs.",
          "type": "string"
        },
        "mobileAppCategory": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo",
          "description": "Immutable. Mobile App Category."
        },
        "brand": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BrandInfo",
          "description": "Immutable. Brand."
        },
        "youtubeVideo": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoInfo",
          "description": "Immutable. YouTube Video."
        },
        "retailFilter": {
          "description": "Immutable. Retail Filter.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__RetailFilter"
        },
        "verticalAdsItemGroupRule": {
          "description": "Immutable. Vertical ads item group rule.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VerticalAdsItemGroupRuleInfo"
        },
        "webpage": {
          "description": "Immutable. Webpage.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageInfo"
        },
        "negative": {
          "description": "Immutable. If true, the criterion is excluded. If false, the criterion is targeted.",
          "type": "boolean"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`",
          "type": "string"
        },
        "placement": {
          "description": "Immutable. Placement.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementInfo"
        },
        "type": {
          "description": "Output only. The type of the criterion.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "KEYWORD",
            "PLACEMENT",
            "MOBILE_APP_CATEGORY",
            "MOBILE_APPLICATION",
            "DEVICE",
            "LOCATION",
            "LISTING_GROUP",
            "AD_SCHEDULE",
            "AGE_RANGE",
            "GENDER",
            "INCOME_RANGE",
            "PARENTAL_STATUS",
            "YOUTUBE_VIDEO",
            "YOUTUBE_CHANNEL",
            "USER_LIST",
            "PROXIMITY",
            "TOPIC",
            "LISTING_SCOPE",
            "LANGUAGE",
            "IP_BLOCK",
            "CONTENT_LABEL",
            "CARRIER",
            "USER_INTEREST",
            "WEBPAGE",
            "OPERATING_SYSTEM_VERSION",
            "APP_PAYMENT_MODEL",
            "MOBILE_DEVICE",
            "CUSTOM_AFFINITY",
            "CUSTOM_INTENT",
            "LOCATION_GROUP",
            "CUSTOM_AUDIENCE",
            "COMBINED_AUDIENCE",
            "KEYWORD_THEME",
            "AUDIENCE",
            "NEGATIVE_KEYWORD_LIST",
            "LOCAL_SERVICE_ID",
            "SEARCH_THEME",
            "BRAND",
            "BRAND_LIST",
            "LIFE_EVENT",
            "WEBPAGE_LIST",
            "VIDEO_LINEUP",
            "PLACEMENT_LIST",
            "VERTICAL_ADS_ITEM_GROUP_RULE_LIST",
            "VERTICAL_ADS_ITEM_GROUP_RULE",
            "RETAIL_FILTER_BUNDLE",
            "RETAIL_FILTER"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword, for example, 'mars cruise'.",
            "Placement, also known as Website, for example, 'www.flowers4sale.com'",
            "Mobile application categories to target.",
            "Mobile applications to target.",
            "Devices to target.",
            "Locations to target.",
            "Listing groups to target.",
            "Ad Schedule.",
            "Age range.",
            "Gender.",
            "Income Range.",
            "Parental status.",
            "YouTube Video.",
            "YouTube Channel.",
            "User list.",
            "Proximity.",
            "A topic target on the display network (for example, \"Pets & Animals\").",
            "Listing scope to target.",
            "Language.",
            "IpBlock.",
            "Content Label for category exclusion.",
            "Carrier.",
            "A category the user is interested in.",
            "Webpage criterion for dynamic search ads.",
            "Operating system version.",
            "App payment model.",
            "Mobile device.",
            "Custom affinity.",
            "Custom intent.",
            "Location group.",
            "Custom audience",
            "Combined audience",
            "Smart Campaign keyword theme",
            "Audience",
            "Negative Keyword List",
            "Local Services Ads Service ID.",
            "Search Theme.",
            "Brand",
            "Brand List",
            "Life Event",
            "Webpage List",
            "Video lineup",
            "Placement List",
            "A list of rules for item groups in Vertical Ads.",
            "A rule for an item group in Vertical Ads.",
            "Retail Filter Bundle for linking a retail filter shared set to an ad group.",
            "Retail Filter for defining individual tag rules or expressions within a shared set."
          ]
        },
        "keyword": {
          "description": "Immutable. Keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        },
        "mobileApplication": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileApplicationInfo",
          "description": "Immutable. Mobile application."
        }
      },
      "description": "A criterion belonging to a shared set."
    },
    "GoogleAdsGoogleadsV25Services__SharedCriterionOperation": {
      "type": "object",
      "properties": {
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedCriterion",
          "description": "Create operation: No resource name is expected for the new shared criterion."
        },
        "remove": {
          "type": "string",
          "description": "Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`"
        }
      },
      "description": "A single operation (create, remove) on an shared criterion."
    }
  }
}

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-shared-criteria-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.