{
  "$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-campaign-shared-sets-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCampaignSharedSetsRequest",
  "description": "Request message for CampaignSharedSetService.MutateCampaignSharedSets.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-campaignsharedsets-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCampaignSharedSetsRequest",
  "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": {
      "type": "boolean",
      "description": "If true, the request is validated but not executed. Only errors are returned, not results."
    },
    "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 campaign shared sets.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CampaignSharedSetOperation"
      },
      "type": "array"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__CampaignSharedSet": {
      "description": "CampaignSharedSets are used for managing the shared sets associated with a campaign.",
      "type": "object",
      "properties": {
        "resourceName": {
          "description": "Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`",
          "type": "string"
        },
        "sharedSet": {
          "type": "string",
          "description": "Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns."
        },
        "campaign": {
          "description": "Immutable. The campaign to which the campaign shared set belongs.",
          "type": "string"
        },
        "status": {
          "description": "Output only. The status of this campaign 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 campaign shared set is enabled.",
            "The campaign shared set is removed and can no longer be used."
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__CampaignSharedSetOperation": {
      "description": "A single operation (create, remove) on a campaign shared set.",
      "type": "object",
      "properties": {
        "create": {
          "description": "Create operation: No resource name is expected for the new campaign shared set.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignSharedSet"
        },
        "remove": {
          "description": "Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`",
          "type": "string"
        }
      }
    }
  }
}