{
  "$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-labels-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCampaignLabelsRequest",
  "description": "Request message for CampaignLabelService.MutateCampaignLabels.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-campaignlabels-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCampaignLabelsRequest",
  "type": "object",
  "properties": {
    "operations": {
      "description": "Required. The list of operations to perform on campaign-label relationships.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CampaignLabelOperation"
      },
      "type": "array"
    },
    "validateOnly": {
      "description": "If true, the request is validated but not executed. Only errors are returned, not results.",
      "type": "boolean"
    },
    "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__CampaignLabel": {
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Immutable. The campaign to which the label is attached."
        },
        "label": {
          "description": "Immutable. The label assigned to the campaign.",
          "type": "string"
        },
        "resourceName": {
          "description": "Immutable. Name of the resource. Campaign label resource names have the form: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`",
          "type": "string"
        }
      },
      "description": "Represents a relationship between a campaign and a label."
    },
    "GoogleAdsGoogleadsV25Services__CampaignLabelOperation": {
      "type": "object",
      "properties": {
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignLabel",
          "description": "Create operation: No resource name is expected for the new campaign-label relationship."
        },
        "remove": {
          "description": "Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`",
          "type": "string"
        }
      },
      "description": "A single operation (create, remove) on a campaign-label relationship."
    }
  }
}