{
  "$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-bid-modifiers-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCampaignBidModifiersRequest",
  "description": "Request message for CampaignBidModifierService.MutateCampaignBidModifiers.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-campaignbidmodifiers-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCampaignBidModifiersRequest",
  "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"
    },
    "operations": {
      "description": "Required. The list of operations to perform on individual campaign bid modifiers.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CampaignBidModifierOperation"
      },
      "type": "array"
    },
    "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"
      ],
      "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.",
      "type": "string"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common__InteractionTypeInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "The interaction type.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Calls."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "CALLS"
          ]
        }
      },
      "description": "Criterion for Interaction Type."
    },
    "GoogleAdsGoogleadsV25Resources__CampaignBidModifier": {
      "description": "Represents a bid-modifiable only criterion at the campaign level.",
      "type": "object",
      "properties": {
        "bidModifier": {
          "type": "number",
          "description": "The modifier for the bid when the criterion matches.",
          "format": "double"
        },
        "campaign": {
          "description": "Output only. The campaign to which this criterion belongs.",
          "type": "string"
        },
        "interactionType": {
          "description": "Immutable. Criterion for interaction type. Only supported for search campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__InteractionTypeInfo"
        },
        "criterionId": {
          "description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.",
          "type": "string",
          "format": "int64"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__CampaignBidModifierOperation": {
      "description": "A single operation (create, remove, update) on a campaign bid modifier.",
      "type": "object",
      "properties": {
        "remove": {
          "type": "string",
          "description": "Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`"
        },
        "updateMask": {
          "type": "string",
          "description": "FieldMask that determines which resource fields are modified in an update.",
          "format": "google-fieldmask"
        },
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBidModifier",
          "description": "Create operation: No resource name is expected for the new campaign bid modifier."
        },
        "update": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignBidModifier",
          "description": "Update operation: The campaign bid modifier is expected to have a valid resource name."
        }
      }
    }
  }
}