{
  "$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-custom-conversion-goals-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCustomConversionGoalsRequest",
  "description": "Request message for CustomConversionGoalService.MutateCustomConversionGoals.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-customconversiongoals-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCustomConversionGoalsRequest",
  "type": "object",
  "properties": {
    "operations": {
      "type": "array",
      "description": "Required. The list of operations to perform on individual custom conversion goal.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CustomConversionGoalOperation"
      }
    },
    "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"
      ]
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources__CustomConversionGoal": {
      "description": "Custom conversion goal that can make arbitrary conversion actions biddable.",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Immutable. The ID for this custom conversion goal.",
          "format": "int64"
        },
        "status": {
          "x-enumDescriptions": [
            "The status has not been specified.",
            "The received value is not known in this version.",
            "The custom conversion goal is enabled.",
            "The custom conversion goal is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "REMOVED"
          ],
          "type": "string",
          "description": "The status of the custom conversion goal."
        },
        "conversionActions": {
          "description": "Conversion actions that the custom conversion goal makes biddable.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "resourceName": {
          "description": "Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`",
          "type": "string"
        },
        "name": {
          "description": "The name for this custom conversion goal.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__CustomConversionGoalOperation": {
      "type": "object",
      "properties": {
        "updateMask": {
          "type": "string",
          "description": "FieldMask that determines which resource fields are modified in an update.",
          "format": "google-fieldmask"
        },
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomConversionGoal",
          "description": "Create operation: No resource name is expected for the new custom conversion goal"
        },
        "update": {
          "description": "Update operation: The custom conversion goal is expected to have a valid resource name.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CustomConversionGoal"
        },
        "remove": {
          "type": "string",
          "description": "Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id}/customConversionGoals/{goal_id}'"
        }
      },
      "description": "A single operation (create, remove) on a custom conversion goal."
    }
  }
}