{
  "$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-sets-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateSharedSetsRequest",
  "description": "Request message for SharedSetService.MutateSharedSets.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-sharedsets-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateSharedSetsRequest",
  "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"
    },
    "validateOnly": {
      "type": "boolean",
      "description": "If true, the request is validated but not executed. Only errors are returned, not results."
    },
    "responseContentType": {
      "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"
      ],
      "type": "string",
      "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation."
    },
    "operations": {
      "description": "Required. The list of operations to perform on individual shared sets.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__SharedSetOperation"
      },
      "type": "array"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__SharedSet": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "A set of keywords that can be excluded from targeting.",
            "A set of placements that can be excluded from targeting.",
            "An account-level set of keywords that can be excluded from targeting.",
            "A set of brands can be included or excluded from targeting.",
            "A set of webpages that can be excluded from targeting. This shared set type is not publicly available.",
            "A set of vertical ads item group rules that can be included or excluded from targeting in Vertical Ads (e.g., for hotel ads).",
            "A set representing Retail Filter, which is used for filtering offers served in a campaign."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEGATIVE_KEYWORDS",
            "NEGATIVE_PLACEMENTS",
            "ACCOUNT_LEVEL_NEGATIVE_KEYWORDS",
            "BRANDS",
            "WEBPAGES",
            "VERTICAL_ADS_ITEM_GROUP_RULE_LIST",
            "RETAIL_FILTER"
          ],
          "type": "string",
          "description": "Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable."
        },
        "referenceCount": {
          "type": "string",
          "description": "Output only. The number of campaigns associated with this shared set. Read only.",
          "format": "int64"
        },
        "id": {
          "description": "Output only. The ID of this shared set. Read only.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "description": "Output only. The status of this shared set. Read only.",
          "type": "string",
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The shared set is enabled.",
            "The shared set is removed and can no longer be used."
          ]
        },
        "memberCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of shared criteria within this shared set. Read only."
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`"
        },
        "name": {
          "description": "The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.",
          "type": "string"
        },
        "verticalAdsItemVerticalType": {
          "description": "Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Hotels travel vertical.",
            "Vacation rentals travel vertical.",
            "Rental cars travel vertical.",
            "Events travel vertical.",
            "Things to do travel vertical.",
            "Flights travel vertical."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HOTELS",
            "VACATION_RENTALS",
            "RENTAL_CARS",
            "EVENTS",
            "THINGS_TO_DO",
            "FLIGHTS"
          ]
        }
      },
      "description": "SharedSets are used for sharing criterion exclusions across multiple campaigns."
    },
    "GoogleAdsGoogleadsV25Services__SharedSetOperation": {
      "type": "object",
      "properties": {
        "update": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedSet",
          "description": "Update operation: The shared set is expected to have a valid resource name."
        },
        "updateMask": {
          "description": "FieldMask that determines which resource fields are modified in an update.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__SharedSet",
          "description": "Create operation: No resource name is expected for the new shared set."
        },
        "remove": {
          "description": "Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id}/sharedSets/{shared_set_id}`",
          "type": "string"
        }
      },
      "description": "A single operation (create, update, remove) on an shared set."
    }
  }
}