1 // Copyright 2019 Google LLC.
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
18 package google.ads.googleads.v1.errors;
20 import "google/ads/googleads/v1/common/policy.proto";
21 import "google/ads/googleads/v1/common/value.proto";
22 import "google/ads/googleads/v1/errors/account_budget_proposal_error.proto";
23 import "google/ads/googleads/v1/errors/ad_customizer_error.proto";
24 import "google/ads/googleads/v1/errors/ad_error.proto";
25 import "google/ads/googleads/v1/errors/ad_group_ad_error.proto";
26 import "google/ads/googleads/v1/errors/ad_group_bid_modifier_error.proto";
27 import "google/ads/googleads/v1/errors/ad_group_criterion_error.proto";
28 import "google/ads/googleads/v1/errors/ad_group_error.proto";
29 import "google/ads/googleads/v1/errors/ad_group_feed_error.proto";
30 import "google/ads/googleads/v1/errors/ad_parameter_error.proto";
31 import "google/ads/googleads/v1/errors/ad_sharing_error.proto";
32 import "google/ads/googleads/v1/errors/adx_error.proto";
33 import "google/ads/googleads/v1/errors/authentication_error.proto";
34 import "google/ads/googleads/v1/errors/authorization_error.proto";
35 import "google/ads/googleads/v1/errors/bidding_error.proto";
36 import "google/ads/googleads/v1/errors/bidding_strategy_error.proto";
37 import "google/ads/googleads/v1/errors/billing_setup_error.proto";
38 import "google/ads/googleads/v1/errors/campaign_budget_error.proto";
39 import "google/ads/googleads/v1/errors/campaign_criterion_error.proto";
40 import "google/ads/googleads/v1/errors/campaign_error.proto";
41 import "google/ads/googleads/v1/errors/campaign_feed_error.proto";
42 import "google/ads/googleads/v1/errors/campaign_shared_set_error.proto";
43 import "google/ads/googleads/v1/errors/change_status_error.proto";
44 import "google/ads/googleads/v1/errors/collection_size_error.proto";
45 import "google/ads/googleads/v1/errors/context_error.proto";
46 import "google/ads/googleads/v1/errors/conversion_action_error.proto";
47 import "google/ads/googleads/v1/errors/conversion_upload_error.proto";
48 import "google/ads/googleads/v1/errors/country_code_error.proto";
49 import "google/ads/googleads/v1/errors/criterion_error.proto";
50 import "google/ads/googleads/v1/errors/custom_interest_error.proto";
51 import "google/ads/googleads/v1/errors/customer_client_link_error.proto";
52 import "google/ads/googleads/v1/errors/customer_error.proto";
53 import "google/ads/googleads/v1/errors/customer_feed_error.proto";
54 import "google/ads/googleads/v1/errors/customer_manager_link_error.proto";
55 import "google/ads/googleads/v1/errors/database_error.proto";
56 import "google/ads/googleads/v1/errors/date_error.proto";
57 import "google/ads/googleads/v1/errors/date_range_error.proto";
58 import "google/ads/googleads/v1/errors/distinct_error.proto";
59 import "google/ads/googleads/v1/errors/enum_error.proto";
60 import "google/ads/googleads/v1/errors/extension_feed_item_error.proto";
61 import "google/ads/googleads/v1/errors/extension_setting_error.proto";
62 import "google/ads/googleads/v1/errors/feed_attribute_reference_error.proto";
63 import "google/ads/googleads/v1/errors/feed_error.proto";
64 import "google/ads/googleads/v1/errors/feed_item_error.proto";
65 import "google/ads/googleads/v1/errors/feed_item_target_error.proto";
66 import "google/ads/googleads/v1/errors/feed_item_validation_error.proto";
67 import "google/ads/googleads/v1/errors/feed_mapping_error.proto";
68 import "google/ads/googleads/v1/errors/field_error.proto";
69 import "google/ads/googleads/v1/errors/field_mask_error.proto";
70 import "google/ads/googleads/v1/errors/function_error.proto";
71 import "google/ads/googleads/v1/errors/function_parsing_error.proto";
72 import "google/ads/googleads/v1/errors/geo_target_constant_suggestion_error.proto";
73 import "google/ads/googleads/v1/errors/header_error.proto";
74 import "google/ads/googleads/v1/errors/id_error.proto";
75 import "google/ads/googleads/v1/errors/image_error.proto";
76 import "google/ads/googleads/v1/errors/internal_error.proto";
77 import "google/ads/googleads/v1/errors/keyword_plan_ad_group_error.proto";
78 import "google/ads/googleads/v1/errors/keyword_plan_campaign_error.proto";
79 import "google/ads/googleads/v1/errors/keyword_plan_error.proto";
80 import "google/ads/googleads/v1/errors/keyword_plan_idea_error.proto";
81 import "google/ads/googleads/v1/errors/keyword_plan_keyword_error.proto";
82 import "google/ads/googleads/v1/errors/keyword_plan_negative_keyword_error.proto";
83 import "google/ads/googleads/v1/errors/label_error.proto";
84 import "google/ads/googleads/v1/errors/language_code_error.proto";
85 import "google/ads/googleads/v1/errors/list_operation_error.proto";
86 import "google/ads/googleads/v1/errors/media_bundle_error.proto";
87 import "google/ads/googleads/v1/errors/media_file_error.proto";
88 import "google/ads/googleads/v1/errors/multiplier_error.proto";
89 import "google/ads/googleads/v1/errors/mutate_error.proto";
90 import "google/ads/googleads/v1/errors/mutate_job_error.proto";
91 import "google/ads/googleads/v1/errors/new_resource_creation_error.proto";
92 import "google/ads/googleads/v1/errors/not_empty_error.proto";
93 import "google/ads/googleads/v1/errors/null_error.proto";
94 import "google/ads/googleads/v1/errors/operation_access_denied_error.proto";
95 import "google/ads/googleads/v1/errors/operator_error.proto";
96 import "google/ads/googleads/v1/errors/partial_failure_error.proto";
97 import "google/ads/googleads/v1/errors/policy_finding_error.proto";
98 import "google/ads/googleads/v1/errors/policy_validation_parameter_error.proto";
99 import "google/ads/googleads/v1/errors/policy_violation_error.proto";
100 import "google/ads/googleads/v1/errors/query_error.proto";
101 import "google/ads/googleads/v1/errors/quota_error.proto";
102 import "google/ads/googleads/v1/errors/range_error.proto";
103 import "google/ads/googleads/v1/errors/recommendation_error.proto";
104 import "google/ads/googleads/v1/errors/region_code_error.proto";
105 import "google/ads/googleads/v1/errors/request_error.proto";
106 import "google/ads/googleads/v1/errors/resource_access_denied_error.proto";
107 import "google/ads/googleads/v1/errors/resource_count_limit_exceeded_error.proto";
108 import "google/ads/googleads/v1/errors/setting_error.proto";
109 import "google/ads/googleads/v1/errors/shared_criterion_error.proto";
110 import "google/ads/googleads/v1/errors/shared_set_error.proto";
111 import "google/ads/googleads/v1/errors/string_format_error.proto";
112 import "google/ads/googleads/v1/errors/string_length_error.proto";
113 import "google/ads/googleads/v1/errors/url_field_error.proto";
114 import "google/ads/googleads/v1/errors/user_list_error.proto";
115 import "google/protobuf/wrappers.proto";
116 import "google/api/annotations.proto";
118 option csharp_namespace = "Google.Ads.GoogleAds.V1.Errors";
119 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/errors;errors";
120 option java_multiple_files = true;
121 option java_outer_classname = "ErrorsProto";
122 option java_package = "com.google.ads.googleads.v1.errors";
123 option objc_class_prefix = "GAA";
124 option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Errors";
125 option ruby_package = "Google::Ads::GoogleAds::V1::Errors";
126 // Proto file describing the common error protos
128 // Describes how a GoogleAds API call failed. It's returned inside
129 // google.rpc.Status.details when a call fails.
130 message GoogleAdsFailure {
131 // The list of errors that occurred.
132 repeated GoogleAdsError errors = 1;
135 // GoogleAds-specific error.
136 message GoogleAdsError {
137 // An enum value that indicates which error occurred.
138 ErrorCode error_code = 1;
140 // A human-readable description of the error.
143 // The value that triggered the error.
144 google.ads.googleads.v1.common.Value trigger = 3;
146 // Describes the part of the request proto that caused the error.
147 ErrorLocation location = 4;
149 // Additional error details, which are returned by certain error codes. Most
150 // error codes do not include details.
151 ErrorDetails details = 5;
154 // The error reason represented by type and enum.
156 // The list of error enums
158 // An error caused by the request
159 RequestErrorEnum.RequestError request_error = 1;
161 // An error with a Bidding Strategy mutate.
162 BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2;
164 // An error with a URL field mutate.
165 UrlFieldErrorEnum.UrlFieldError url_field_error = 3;
167 // An error with a list operation.
168 ListOperationErrorEnum.ListOperationError list_operation_error = 4;
170 // An error with an AWQL query
171 QueryErrorEnum.QueryError query_error = 5;
173 // An error with a mutate
174 MutateErrorEnum.MutateError mutate_error = 7;
176 // An error with a field mask
177 FieldMaskErrorEnum.FieldMaskError field_mask_error = 8;
179 // An error encountered when trying to authorize a user.
180 AuthorizationErrorEnum.AuthorizationError authorization_error = 9;
182 // An unexpected server-side error.
183 InternalErrorEnum.InternalError internal_error = 10;
185 // An error with the amonut of quota remaining.
186 QuotaErrorEnum.QuotaError quota_error = 11;
188 // An error with an Ad Group Ad mutate.
189 AdErrorEnum.AdError ad_error = 12;
191 // An error with an Ad Group mutate.
192 AdGroupErrorEnum.AdGroupError ad_group_error = 13;
194 // An error with a Campaign Budget mutate.
195 CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14;
197 // An error with a Campaign mutate.
198 CampaignErrorEnum.CampaignError campaign_error = 15;
200 // Indicates failure to properly authenticate user.
201 AuthenticationErrorEnum.AuthenticationError authentication_error = 17;
203 // Indicates failure to properly authenticate user.
204 AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = 18;
206 // The reasons for the ad customizer error
207 AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19;
209 // The reasons for the ad group ad error
210 AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21;
212 // The reasons for the ad sharing error
213 AdSharingErrorEnum.AdSharingError ad_sharing_error = 24;
215 // The reasons for the adx error
216 AdxErrorEnum.AdxError adx_error = 25;
218 // The reasons for the bidding errors
219 BiddingErrorEnum.BiddingError bidding_error = 26;
221 // The reasons for the campaign criterion error
222 CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = 29;
224 // The reasons for the collection size error
225 CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31;
227 // The reasons for the country code error
228 CountryCodeErrorEnum.CountryCodeError country_code_error = 109;
230 // The reasons for the criterion error
231 CriterionErrorEnum.CriterionError criterion_error = 32;
233 // The reasons for the customer error
234 CustomerErrorEnum.CustomerError customer_error = 90;
236 // The reasons for the date error
237 DateErrorEnum.DateError date_error = 33;
239 // The reasons for the date range error
240 DateRangeErrorEnum.DateRangeError date_range_error = 34;
242 // The reasons for the distinct error
243 DistinctErrorEnum.DistinctError distinct_error = 35;
245 // The reasons for the feed attribute reference error
246 FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError feed_attribute_reference_error = 36;
248 // The reasons for the function error
249 FunctionErrorEnum.FunctionError function_error = 37;
251 // The reasons for the function parsing error
252 FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38;
254 // The reasons for the id error
255 IdErrorEnum.IdError id_error = 39;
257 // The reasons for the image error
258 ImageErrorEnum.ImageError image_error = 40;
260 // The reasons for the language code error
261 LanguageCodeErrorEnum.LanguageCodeError language_code_error = 110;
263 // The reasons for the media bundle error
264 MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42;
266 // The reasons for the media file error
267 MediaFileErrorEnum.MediaFileError media_file_error = 86;
269 // The reasons for the multiplier error
270 MultiplierErrorEnum.MultiplierError multiplier_error = 44;
272 // The reasons for the new resource creation error
273 NewResourceCreationErrorEnum.NewResourceCreationError new_resource_creation_error = 45;
275 // The reasons for the not empty error
276 NotEmptyErrorEnum.NotEmptyError not_empty_error = 46;
278 // The reasons for the null error
279 NullErrorEnum.NullError null_error = 47;
281 // The reasons for the operator error
282 OperatorErrorEnum.OperatorError operator_error = 48;
284 // The reasons for the range error
285 RangeErrorEnum.RangeError range_error = 49;
287 // The reasons for error in applying a recommendation
288 RecommendationErrorEnum.RecommendationError recommendation_error = 58;
290 // The reasons for the region code error
291 RegionCodeErrorEnum.RegionCodeError region_code_error = 51;
293 // The reasons for the setting error
294 SettingErrorEnum.SettingError setting_error = 52;
296 // The reasons for the string format error
297 StringFormatErrorEnum.StringFormatError string_format_error = 53;
299 // The reasons for the string length error
300 StringLengthErrorEnum.StringLengthError string_length_error = 54;
302 // The reasons for the operation access denied error
303 OperationAccessDeniedErrorEnum.OperationAccessDeniedError operation_access_denied_error = 55;
305 // The reasons for the resource access denied error
306 ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError resource_access_denied_error = 56;
308 // The reasons for the resource count limit exceeded error
309 ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError resource_count_limit_exceeded_error = 57;
311 // The reasons for the ad group bid modifier error
312 AdGroupBidModifierErrorEnum.AdGroupBidModifierError ad_group_bid_modifier_error = 59;
314 // The reasons for the context error
315 ContextErrorEnum.ContextError context_error = 60;
317 // The reasons for the field error
318 FieldErrorEnum.FieldError field_error = 61;
320 // The reasons for the shared set error
321 SharedSetErrorEnum.SharedSetError shared_set_error = 62;
323 // The reasons for the shared criterion error
324 SharedCriterionErrorEnum.SharedCriterionError shared_criterion_error = 63;
326 // The reasons for the campaign shared set error
327 CampaignSharedSetErrorEnum.CampaignSharedSetError campaign_shared_set_error = 64;
329 // The reasons for the conversion action error
330 ConversionActionErrorEnum.ConversionActionError conversion_action_error = 65;
332 // The reasons for the conversion upload error
333 ConversionUploadErrorEnum.ConversionUploadError conversion_upload_error = 111;
335 // The reasons for the header error.
336 HeaderErrorEnum.HeaderError header_error = 66;
338 // The reasons for the database error.
339 DatabaseErrorEnum.DatabaseError database_error = 67;
341 // The reasons for the policy finding error.
342 PolicyFindingErrorEnum.PolicyFindingError policy_finding_error = 68;
344 // The reason for enum error.
345 EnumErrorEnum.EnumError enum_error = 70;
347 // The reason for keyword plan error.
348 KeywordPlanErrorEnum.KeywordPlanError keyword_plan_error = 71;
350 // The reason for keyword plan campaign error.
351 KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError keyword_plan_campaign_error = 72;
353 // The reason for keyword plan negative keyword error.
354 KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError keyword_plan_negative_keyword_error = 73;
356 // The reason for keyword plan ad group error.
357 KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError keyword_plan_ad_group_error = 74;
359 // The reason for keyword plan keyword error.
360 KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError keyword_plan_keyword_error = 75;
362 // The reason for keyword idea error.
363 KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError keyword_plan_idea_error = 76;
365 // The reasons for account budget proposal errors.
366 AccountBudgetProposalErrorEnum.AccountBudgetProposalError account_budget_proposal_error = 77;
368 // The reasons for the user list error
369 UserListErrorEnum.UserListError user_list_error = 78;
371 // The reasons for the change status error
372 ChangeStatusErrorEnum.ChangeStatusError change_status_error = 79;
374 // The reasons for the feed error
375 FeedErrorEnum.FeedError feed_error = 80;
377 // The reasons for the geo target constant suggestion error.
378 GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError geo_target_constant_suggestion_error = 81;
380 // The reasons for the feed item error
381 FeedItemErrorEnum.FeedItemError feed_item_error = 83;
383 // The reason for the label error.
384 LabelErrorEnum.LabelError label_error = 84;
386 // The reasons for the billing setup error
387 BillingSetupErrorEnum.BillingSetupError billing_setup_error = 87;
389 // The reasons for the customer client link error
390 CustomerClientLinkErrorEnum.CustomerClientLinkError customer_client_link_error = 88;
392 // The reasons for the customer manager link error
393 CustomerManagerLinkErrorEnum.CustomerManagerLinkError customer_manager_link_error = 91;
395 // The reasons for the feed mapping error
396 FeedMappingErrorEnum.FeedMappingError feed_mapping_error = 92;
398 // The reasons for the customer feed error
399 CustomerFeedErrorEnum.CustomerFeedError customer_feed_error = 93;
401 // The reasons for the ad group feed error
402 AdGroupFeedErrorEnum.AdGroupFeedError ad_group_feed_error = 94;
404 // The reasons for the campaign feed error
405 CampaignFeedErrorEnum.CampaignFeedError campaign_feed_error = 96;
407 // The reasons for the custom interest error
408 CustomInterestErrorEnum.CustomInterestError custom_interest_error = 97;
410 // The reasons for the extension feed item error
411 ExtensionFeedItemErrorEnum.ExtensionFeedItemError extension_feed_item_error = 100;
413 // The reasons for the ad parameter error
414 AdParameterErrorEnum.AdParameterError ad_parameter_error = 101;
416 // The reasons for the feed item validation error
417 FeedItemValidationErrorEnum.FeedItemValidationError feed_item_validation_error = 102;
419 // The reasons for the extension setting error
420 ExtensionSettingErrorEnum.ExtensionSettingError extension_setting_error = 103;
422 // The reasons for the feed item target error
423 FeedItemTargetErrorEnum.FeedItemTargetError feed_item_target_error = 104;
425 // The reasons for the policy violation error
426 PolicyViolationErrorEnum.PolicyViolationError policy_violation_error = 105;
428 // The reasons for the mutate job error
429 MutateJobErrorEnum.MutateJobError mutate_job_error = 108;
431 // The reasons for the mutate job error
432 PartialFailureErrorEnum.PartialFailureError partial_failure_error = 112;
434 // The reasons for the policy validation parameter error
435 PolicyValidationParameterErrorEnum.PolicyValidationParameterError policy_validation_parameter_error = 114;
439 // Describes the part of the request proto that caused the error.
440 message ErrorLocation {
441 // A part of a field path.
442 message FieldPathElement {
443 // The name of a field or a oneof
444 string field_name = 1;
446 // If field_name is a repeated field, this is the element that failed
447 google.protobuf.Int64Value index = 2;
450 // A field path that indicates which field was invalid in the request.
451 repeated FieldPathElement field_path_elements = 2;
454 // Additional error details.
455 message ErrorDetails {
456 // The error code that should have been returned, but wasn't. This is used
457 // when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
458 string unpublished_error_code = 1;
460 // Describes an ad policy violation.
461 PolicyViolationDetails policy_violation_details = 2;
463 // Describes policy violation findings.
464 PolicyFindingDetails policy_finding_details = 3;
467 // Error returned as part of a mutate response.
468 // This error indicates single policy violation by some text
469 // in one of the fields.
470 message PolicyViolationDetails {
471 // Human readable description of policy violation.
472 string external_policy_description = 2;
474 // Unique identifier for this violation.
475 // If policy is exemptible, this key may be used to request exemption.
476 google.ads.googleads.v1.common.PolicyViolationKey key = 4;
478 // Human readable name of the policy.
479 string external_policy_name = 5;
481 // Whether user can file an exemption request for this violation.
482 bool is_exemptible = 6;
485 // Error returned as part of a mutate response.
486 // This error indicates one or more policy findings in the fields of a
488 message PolicyFindingDetails {
489 // The list of policy topics for the resource. Contains the PROHIBITED or
490 // FULLY_LIMITED policy topic entries that prevented the resource from being
491 // saved (among any other entries the resource may also have).
492 repeated google.ads.googleads.v1.common.PolicyTopicEntry policy_topic_entries = 1;