{
  "$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-customer-labels-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCustomerLabelsRequest",
  "description": "Request message for CustomerLabelService.MutateCustomerLabels. A single `MutateCustomerLabelsRequest` can only modify labels for the single customer account specified in the request. To apply a label to multiple different accounts, separate `MutateCustomerLabelsRequest` calls must be made.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-customerlabels-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCustomerLabelsRequest",
  "type": "object",
  "properties": {
    "validateOnly": {
      "type": "boolean",
      "description": "If true, the request is validated but not executed. Only errors are returned, not results."
    },
    "operations": {
      "description": "Required. The list of operations to perform on customer-label relationships.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CustomerLabelOperation"
      },
      "type": "array"
    },
    "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"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__CustomerLabel": {
      "type": "object",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`"
        },
        "customer": {
          "type": "string",
          "description": "Output only. The resource name of the customer to which the label is attached. This field should not be set when creating a new `CustomerLabel`."
        },
        "label": {
          "description": "Output only. The resource name of the label assigned to the customer. This field should not be set when creating a new `CustomerLabel`. Note: the Customer ID portion of the label resource name is not validated when creating a new `CustomerLabel`.",
          "type": "string"
        }
      },
      "description": "Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id."
    },
    "GoogleAdsGoogleadsV25Services__CustomerLabelOperation": {
      "description": "A single operation (create, remove) on a customer-label relationship.",
      "type": "object",
      "properties": {
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomerLabel",
          "description": "Create operation: No resource name is expected for the new customer-label relationship."
        },
        "remove": {
          "description": "Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id}/customerLabels/{label_id}`",
          "type": "string"
        }
      }
    }
  }
}