// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.ads.datamanager.v1;

option csharp_namespace = "Google.Ads.DataManager.V1";
option go_package = "cloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb";
option java_multiple_files = true;
option java_outer_classname = "ErrorProto";
option java_package = "com.google.ads.datamanager.v1";
option php_namespace = "Google\\Ads\\DataManager\\V1";
option ruby_package = "Google::Ads::DataManager::V1";

// Error reasons for Data Manager API.
// NOTE: This enum is not frozen and new values may be added in the future.
enum ErrorReason {
  // Do not use this default value.
  ERROR_REASON_UNSPECIFIED = 0;

  // An internal error has occurred.
  INTERNAL_ERROR = 1;

  // The request took too long to respond.
  DEADLINE_EXCEEDED = 2;

  // Too many requests.
  RESOURCE_EXHAUSTED = 3;

  // Resource not found.
  NOT_FOUND = 4;

  // The user does not have permission or the resource is not found.
  PERMISSION_DENIED = 5;

  // There was a problem with the request.
  INVALID_ARGUMENT = 6;

  // Required field is missing.
  REQUIRED_FIELD_MISSING = 7;

  // Format is invalid.
  INVALID_FORMAT = 8;

  // The HEX encoded value is malformed.
  INVALID_HEX_ENCODING = 9;

  // The base64 encoded value is malformed.
  INVALID_BASE64_ENCODING = 10;

  // The SHA256 encoded value is malformed.
  INVALID_SHA256_FORMAT = 11;

  // Postal code is not valid.
  INVALID_POSTAL_CODE = 12;

  // Deprecated: Enum is unused in the Data Manager API.
  INVALID_COUNTRY_CODE = 13 [deprecated = true];

  // Enum value cannot be used.
  INVALID_ENUM_VALUE = 14;

  // Type of the user list is not applicable for this request.
  INVALID_USER_LIST_TYPE = 15;

  // This audience member is not valid.
  INVALID_AUDIENCE_MEMBER = 16;

  // Maximum number of audience members allowed per request is 10,000.
  TOO_MANY_AUDIENCE_MEMBERS = 17;

  // Maximum number of user identifiers allowed per audience member is 10.
  TOO_MANY_USER_IDENTIFIERS = 18;

  // Maximum number of destinations allowed per request is 10.
  TOO_MANY_DESTINATIONS = 19;

  // This Destination is not valid.
  INVALID_DESTINATION = 20;

  // Data Partner does not have access to the operating account owned userlist.
  DATA_PARTNER_USER_LIST_MUTATE_NOT_ALLOWED = 21;

  // Mobile ID format is not valid.
  INVALID_MOBILE_ID_FORMAT = 22;

  // User list is not valid.
  INVALID_USER_LIST_ID = 23;

  // Multiple data types are not allowed to be ingested in a single request.
  MULTIPLE_DATA_TYPES_NOT_ALLOWED = 24;

  // Destination configs containing a DataPartner login account must have the
  // same login account across all destination configs.
  DIFFERENT_LOGIN_ACCOUNTS_NOT_ALLOWED_FOR_DATA_PARTNER = 25;

  // Required terms and conditions are not accepted.
  TERMS_AND_CONDITIONS_NOT_SIGNED = 26;

  // Invalid number format.
  INVALID_NUMBER_FORMAT = 27;

  // Conversion action ID is not valid.
  INVALID_CONVERSION_ACTION_ID = 28;

  // The conversion action type is not valid.
  INVALID_CONVERSION_ACTION_TYPE = 29;

  // The currency code is not supported.
  INVALID_CURRENCY_CODE = 30;

  // This event is not valid.
  INVALID_EVENT = 31;

  // Maximum number of events allowed per request is 10,000.
  TOO_MANY_EVENTS = 32;

  // The destination account is not enabled for enhanced conversions for leads.
  DESTINATION_ACCOUNT_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS = 33;

  // Enhanced conversions can't be used for the destination account because of
  // Google customer data policies. Contact your Google representative..
  DESTINATION_ACCOUNT_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS = 34;

  // The destination account hasn't agreed to the terms for enhanced
  // conversions.
  DESTINATION_ACCOUNT_ENHANCED_CONVERSIONS_TERMS_NOT_SIGNED = 35;

  // Two or more destinations in the request have the same reference.
  DUPLICATE_DESTINATION_REFERENCE = 36;

  // Unsupported operating account for data partner authorization.
  UNSUPPORTED_OPERATING_ACCOUNT_FOR_DATA_PARTNER = 37;

  // Unsupported linked account for data partner authorization.
  UNSUPPORTED_LINKED_ACCOUNT_FOR_DATA_PARTNER = 38;

  // Events data contains no user identifiers or ad identifiers.
  NO_IDENTIFIERS_PROVIDED = 39;

  // The property type is not supported.
  INVALID_PROPERTY_TYPE = 40;

  // The stream type is not supported.
  INVALID_STREAM_TYPE = 41;

  // Linked account is only supported when the login account is a `DATA_PARTNER`
  // account.
  LINKED_ACCOUNT_ONLY_ALLOWED_WITH_DATA_PARTNER_LOGIN_ACCOUNT = 42;

  // The login account must be the same as the operating account for the given
  // use case.
  OPERATING_ACCOUNT_LOGIN_ACCOUNT_MISMATCH = 43;

  // Event did not occur within the acceptable time window.
  EVENT_TIME_INVALID = 44;

  // Parameter uses a reserved name.
  RESERVED_NAME_USED = 45;

  // The event name is not supported.
  INVALID_EVENT_NAME = 46;

  // The account is not allowlisted for the given feature.
  NOT_ALLOWLISTED = 47;

  // The request ID used to retrieve the status of a request is not valid.
  // Status can only be retrieved for requests that succeed and don't have
  // `validate_only=true`.
  INVALID_REQUEST_ID = 48;

  // An event had 2 or more Google Analytics destinations.
  MULTIPLE_DESTINATIONS_FOR_GOOGLE_ANALYTICS_EVENT = 49;

  // Length of the field value is too long.
  FIELD_VALUE_TOO_LONG = 50;

  // Length of the field value is too short.
  FIELD_VALUE_TOO_SHORT = 106;

  // Too many elements in a list in the request.
  TOO_MANY_ELEMENTS = 51;

  // Too few elements in a list in the request.
  TOO_FEW_ELEMENTS = 105;

  // The resource already exists.
  ALREADY_EXISTS = 52;

  // Attempted to set an immutable field for an update request.
  IMMUTABLE_FIELD_FOR_UPDATE = 53;

  // The resource name is invalid.
  INVALID_RESOURCE_NAME = 54;

  // The query filter is invalid.
  INVALID_FILTER = 55;

  // The update mask is invalid.
  INVALID_UPDATE_MASK = 56;

  // The page token is invalid.
  INVALID_PAGE_TOKEN = 57;

  // Cannot update a license that has been disabled.
  CANNOT_UPDATE_DISABLED_LICENSE = 58;

  // Sensitive user lists cannot be licensed to this client.
  CANNOT_CREATE_LICENSE_FOR_SENSITIVE_USERLIST = 59;

  // Cost too low for this license.
  INSUFFICIENT_COST = 60;

  // Reseller license cannot be disabled since it is in use.
  CANNOT_DISABLE_LICENSE = 61;

  // Invalid client account id.
  INVALID_CLIENT_ACCOUNT_ID = 62;

  // Non-zero cost not allowed for this client account.
  PRICING_ONLY_ZERO_COST_ALLOWED = 63;

  // Cost too high for this license.
  PRICE_TOO_HIGH = 64;

  // Customer not allowed to create license.
  CUSTOMER_NOT_ALLOWED_TO_CREATE_LICENSE = 65;

  // Pricing end date is invalid for this license.
  INVALID_PRICING_END_DATE = 66;

  // Logical user list with shared or licensed segment cannot be licensed.
  CANNOT_LICENSE_LOGICAL_LIST_WITH_LICENSED_OR_SHARED_SEGMENT = 67;

  // Client customer's account type in the request does not match the customer's
  // actual account type.
  MISMATCHED_ACCOUNT_TYPE = 68;

  // License type does not support media share cost.
  MEDIA_SHARE_COST_NOT_ALLOWED_FOR_LICENSE_TYPE = 69;

  // Client customer type does not support media share cost.
  MEDIA_SHARE_COST_NOT_ALLOWED_FOR_CLIENT_CUSTOMER = 70;

  // Invalid media share cost.
  INVALID_MEDIA_SHARE_COST = 71;

  // Invalid cost type.
  INVALID_COST_TYPE = 72;

  // UserList type does not support media share cost.
  MEDIA_SHARE_COST_NOT_ALLOWED_FOR_NON_COMMERCE_USER_LIST = 73;

  // Max cost is only allowed for cost_type MEDIA_SHARE.
  MAX_COST_NOT_ALLOWED = 74;

  // Commerce audience can only be directly licensed.
  COMMERCE_AUDIENCE_CAN_ONLY_BE_DIRECTLY_LICENSED = 75;

  // The description is not valid.
  INVALID_DESCRIPTION = 76;

  // The display name is not valid.
  INVALID_DISPLAY_NAME = 77;

  // The display name is already being used for another user list for the
  // account.
  DISPLAY_NAME_ALREADY_USED = 78;

  // Ownership is required to modify the user list.
  OWNERSHIP_REQUIRED_FOR_UPDATE = 79;

  // The user list type is read-only and does not support mutation.
  USER_LIST_MUTATION_NOT_SUPPORTED = 80;

  // A user list which is privacy sensitive or legal rejected cannot be mutated
  // by external users.
  SENSITIVE_USER_LIST_IMMUTABLE = 81;

  // The remarketing user list's billable record field cannot be modified once
  // it is set.
  BILLABLE_RECORD_COUNT_IMMUTABLE = 82;

  // The user list name is reserved for system lists.
  USER_LIST_NAME_RESERVED = 83;

  // The advertiser needs to be allowlisted to use remarketing lists created
  // from advertiser uploaded data.
  ADVERTISER_NOT_ALLOWLISTED_FOR_UPLOADED_DATA = 84;

  // The partner audience source is not supported for the user list type.
  UNSUPPORTED_PARTNER_AUDIENCE_SOURCE = 85;

  // Setting the `commerce_partner` field is only supported if the
  // `partner_audience_source` is `COMMERCE_AUDIENCE`.
  COMMERCE_PARTNER_NOT_ALLOWED = 86;

  // The `partner_audience_info` field is not supported for the user list type.
  UNSUPPORTED_PARTNER_AUDIENCE_INFO = 87;

  // Partner Match user lists cannot be created by manager accounts.
  PARTNER_MATCH_FOR_MANAGER_ACCOUNT_DISALLOWED = 88;

  // The data partner is not allowlisted for THIRD_PARTY_PARTNER_DATA.
  DATA_PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA = 89;

  // The advertiser has not accepted the partner's terms of service.
  ADVERTISER_TOS_NOT_ACCEPTED = 90;

  // The advertiser is not allowlisted for THIRD_PARTY_PARTNER_DATA.
  ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA = 91;

  // This user list type is not supported for this account.
  USER_LIST_TYPE_NOT_SUPPORTED_FOR_ACCOUNT = 92;

  // The `commerce_partner` field is invalid.
  INVALID_COMMERCE_PARTNER = 93;

  // The data provider is not allowlisted to create commerce audiences.
  CUSTOMER_NOT_ALLOWLISTED_FOR_COMMERCE_AUDIENCE = 94;

  // The user list upload key types are not supported.
  UNSUPPORTED_USER_LIST_UPLOAD_KEY_TYPES = 95;

  // The ingested user list info config is not supported.
  UNSUPPORTED_INGESTED_USER_LIST_INFO_CONFIG = 96;

  // The account types are not supported for the user list type.
  UNSUPPORTED_ACCOUNT_TYPES_FOR_USER_LIST_TYPE = 97;

  // The account types are not supported for the partner link.
  UNSUPPORTED_ACCOUNT_TYPE_FOR_PARTNER_LINK = 98;

  // The user list membership duration is too long.
  MEMBERSHIP_DURATION_TOO_LONG = 99;

  // The `merchant_id` field is not valid.
  INVALID_MERCHANT_ID = 100;

  // The customer contains non-exempt campaigns without the EU political
  // advertising declaration.
  EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED = 101;

  // Account is not eligible for Store Sales.
  ACCOUNT_INELIGIBLE_FOR_STORE_SALES = 102;

  // The merchant feed language code is not valid.
  INVALID_MERCHANT_FEED_LANGUAGE_CODE = 103;

  // The region code is not valid.
  INVALID_REGION_CODE = 104;

  // The subdivision code is not valid.
  INVALID_SUBDIVISION_CODE = 107;

  // The subcontinent code is not valid.
  INVALID_SUBCONTINENT_CODE = 108;

  // The continent code is not valid.
  INVALID_CONTINENT_CODE = 109;

  // The device category is not valid.
  INVALID_DEVICE_CATEGORY = 110;

  // Both app_instance_id and client_id are set.
  BOTH_CLIENT_ID_AND_APP_INSTANCE_ID_NOT_ALLOWED = 111;

  // The Google Analytics property is a subproperty or rollup property.
  GOOGLE_ANALYTICS_SUBPROPERTY_OR_ROLLUP_PROPERTY_NOT_ALLOWED = 112;

  // Third party user data can only be set by data partners.
  THIRD_PARTY_USER_DATA_NOT_ALLOWED = 113;

  // The coupon code is not valid.
  INVALID_COUPON_CODE = 114;

  // The event source type does not match the destination type.
  EVENT_SOURCE_AND_DESTINATION_MISMATCH = 115;

  // The destination account type does not match the specified account id.
  DESTINATION_ACCOUNT_TYPE_MISMATCH = 116;

  // The custom variable value contains personally identifiable information
  // (PII).
  CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 117;

  // The custom variable is not enabled.
  CUSTOM_VARIABLE_NOT_ENABLED = 118;

  // The custom variable's value is invalid.
  INVALID_CUSTOM_VARIABLE_VALUE = 119;

  // The destination does not have a custom variable with a name that matches
  // the specified `variable`.
  CUSTOM_VARIABLE_NOT_FOUND = 120;

  // The
  // [location_auto_detection_enabled][google.ads.datamanager.v1.Baseline.location_auto_detection_enabled]
  // field of the request was set to `true`, but auto detection of baseline
  // location failed.
  BASELINE_LOCATION_AUTO_DETECTION_FAILED = 122;

  // Insights missing for this dimension.
  INSIGHTS_MISSING_FOR_DIMENSION = 123;
}
