1 // Copyright 2018 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.v0.errors;
20 import "google/ads/googleads/v0/common/policy.proto";
21 import "google/ads/googleads/v0/common/value.proto";
22 import "google/ads/googleads/v0/errors/account_budget_proposal_error.proto";
23 import "google/ads/googleads/v0/errors/ad_customizer_error.proto";
24 import "google/ads/googleads/v0/errors/ad_error.proto";
25 import "google/ads/googleads/v0/errors/ad_group_ad_error.proto";
26 import "google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto";
27 import "google/ads/googleads/v0/errors/ad_group_criterion_error.proto";
28 import "google/ads/googleads/v0/errors/ad_group_error.proto";
29 import "google/ads/googleads/v0/errors/ad_group_feed_error.proto";
30 import "google/ads/googleads/v0/errors/ad_parameter_error.proto";
31 import "google/ads/googleads/v0/errors/ad_sharing_error.proto";
32 import "google/ads/googleads/v0/errors/adx_error.proto";
33 import "google/ads/googleads/v0/errors/authentication_error.proto";
34 import "google/ads/googleads/v0/errors/authorization_error.proto";
35 import "google/ads/googleads/v0/errors/bidding_error.proto";
36 import "google/ads/googleads/v0/errors/bidding_strategy_error.proto";
37 import "google/ads/googleads/v0/errors/billing_setup_error.proto";
38 import "google/ads/googleads/v0/errors/campaign_budget_error.proto";
39 import "google/ads/googleads/v0/errors/campaign_criterion_error.proto";
40 import "google/ads/googleads/v0/errors/campaign_error.proto";
41 import "google/ads/googleads/v0/errors/campaign_feed_error.proto";
42 import "google/ads/googleads/v0/errors/campaign_shared_set_error.proto";
43 import "google/ads/googleads/v0/errors/change_status_error.proto";
44 import "google/ads/googleads/v0/errors/collection_size_error.proto";
45 import "google/ads/googleads/v0/errors/context_error.proto";
46 import "google/ads/googleads/v0/errors/conversion_action_error.proto";
47 import "google/ads/googleads/v0/errors/criterion_error.proto";
48 import "google/ads/googleads/v0/errors/customer_client_link_error.proto";
49 import "google/ads/googleads/v0/errors/customer_error.proto";
50 import "google/ads/googleads/v0/errors/customer_feed_error.proto";
51 import "google/ads/googleads/v0/errors/customer_manager_link_error.proto";
52 import "google/ads/googleads/v0/errors/database_error.proto";
53 import "google/ads/googleads/v0/errors/date_error.proto";
54 import "google/ads/googleads/v0/errors/date_range_error.proto";
55 import "google/ads/googleads/v0/errors/distinct_error.proto";
56 import "google/ads/googleads/v0/errors/enum_error.proto";
57 import "google/ads/googleads/v0/errors/extension_setting_error.proto";
58 import "google/ads/googleads/v0/errors/feed_attribute_reference_error.proto";
59 import "google/ads/googleads/v0/errors/feed_error.proto";
60 import "google/ads/googleads/v0/errors/feed_item_error.proto";
61 import "google/ads/googleads/v0/errors/feed_item_validation_error.proto";
62 import "google/ads/googleads/v0/errors/feed_mapping_error.proto";
63 import "google/ads/googleads/v0/errors/field_error.proto";
64 import "google/ads/googleads/v0/errors/field_mask_error.proto";
65 import "google/ads/googleads/v0/errors/function_error.proto";
66 import "google/ads/googleads/v0/errors/function_parsing_error.proto";
67 import "google/ads/googleads/v0/errors/geo_target_constant_suggestion_error.proto";
68 import "google/ads/googleads/v0/errors/header_error.proto";
69 import "google/ads/googleads/v0/errors/id_error.proto";
70 import "google/ads/googleads/v0/errors/image_error.proto";
71 import "google/ads/googleads/v0/errors/internal_error.proto";
72 import "google/ads/googleads/v0/errors/keyword_plan_ad_group_error.proto";
73 import "google/ads/googleads/v0/errors/keyword_plan_campaign_error.proto";
74 import "google/ads/googleads/v0/errors/keyword_plan_error.proto";
75 import "google/ads/googleads/v0/errors/keyword_plan_idea_error.proto";
76 import "google/ads/googleads/v0/errors/keyword_plan_keyword_error.proto";
77 import "google/ads/googleads/v0/errors/keyword_plan_negative_keyword_error.proto";
78 import "google/ads/googleads/v0/errors/list_operation_error.proto";
79 import "google/ads/googleads/v0/errors/media_bundle_error.proto";
80 import "google/ads/googleads/v0/errors/media_file_error.proto";
81 import "google/ads/googleads/v0/errors/multiplier_error.proto";
82 import "google/ads/googleads/v0/errors/mutate_error.proto";
83 import "google/ads/googleads/v0/errors/new_resource_creation_error.proto";
84 import "google/ads/googleads/v0/errors/not_empty_error.proto";
85 import "google/ads/googleads/v0/errors/null_error.proto";
86 import "google/ads/googleads/v0/errors/operation_access_denied_error.proto";
87 import "google/ads/googleads/v0/errors/operator_error.proto";
88 import "google/ads/googleads/v0/errors/policy_finding_error.proto";
89 import "google/ads/googleads/v0/errors/policy_violation_error.proto";
90 import "google/ads/googleads/v0/errors/query_error.proto";
91 import "google/ads/googleads/v0/errors/quota_error.proto";
92 import "google/ads/googleads/v0/errors/range_error.proto";
93 import "google/ads/googleads/v0/errors/recommendation_error.proto";
94 import "google/ads/googleads/v0/errors/region_code_error.proto";
95 import "google/ads/googleads/v0/errors/request_error.proto";
96 import "google/ads/googleads/v0/errors/resource_access_denied_error.proto";
97 import "google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto";
98 import "google/ads/googleads/v0/errors/setting_error.proto";
99 import "google/ads/googleads/v0/errors/shared_criterion_error.proto";
100 import "google/ads/googleads/v0/errors/shared_set_error.proto";
101 import "google/ads/googleads/v0/errors/string_format_error.proto";
102 import "google/ads/googleads/v0/errors/string_length_error.proto";
103 import "google/ads/googleads/v0/errors/url_field_error.proto";
104 import "google/ads/googleads/v0/errors/user_list_error.proto";
105 import "google/protobuf/wrappers.proto";
107 option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
108 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
109 option java_multiple_files = true;
110 option java_outer_classname = "ErrorsProto";
111 option java_package = "com.google.ads.googleads.v0.errors";
112 option objc_class_prefix = "GAA";
113 option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
114 option ruby_package = "Google::Ads::GoogleAds::V0::Errors";
116 // Proto file describing the common error protos
118 // Describes how a GoogleAds API call failed. It's returned inside
119 // google.rpc.Status.details when a call fails.
120 message GoogleAdsFailure {
121 // The list of errors that occurred.
122 repeated GoogleAdsError errors = 1;
125 // GoogleAds-specific error.
126 message GoogleAdsError {
127 // An enum value that indicates which error occurred.
128 ErrorCode error_code = 1;
130 // A human-readable description of the error.
133 // The value that triggered the error.
134 google.ads.googleads.v0.common.Value trigger = 3;
136 // Describes the part of the request proto that caused the error.
137 ErrorLocation location = 4;
139 // Additional error details, which are returned by certain error codes. Most
140 // error codes do not include details.
141 ErrorDetails details = 5;
144 // The error reason represented by type and enum.
146 // The list of error enums
148 // An error caused by the request
149 RequestErrorEnum.RequestError request_error = 1;
151 // An error with a Bidding Strategy mutate.
152 BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2;
154 // An error with a URL field mutate.
155 UrlFieldErrorEnum.UrlFieldError url_field_error = 3;
157 // An error with a list operation.
158 ListOperationErrorEnum.ListOperationError list_operation_error = 4;
160 // An error with an AWQL query
161 QueryErrorEnum.QueryError query_error = 5;
163 // An error with a mutate
164 MutateErrorEnum.MutateError mutate_error = 7;
166 // An error with a field mask
167 FieldMaskErrorEnum.FieldMaskError field_mask_error = 8;
169 // An error encountered when trying to authorize a user.
170 AuthorizationErrorEnum.AuthorizationError authorization_error = 9;
172 // An unexpected server-side error.
173 InternalErrorEnum.InternalError internal_error = 10;
175 // An error with the amonut of quota remaining.
176 QuotaErrorEnum.QuotaError quota_error = 11;
178 // An error with an Ad Group Ad mutate.
179 AdErrorEnum.AdError ad_error = 12;
181 // An error with an Ad Group mutate.
182 AdGroupErrorEnum.AdGroupError ad_group_error = 13;
184 // An error with a Campaign Budget mutate.
185 CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14;
187 // An error with a Campaign mutate.
188 CampaignErrorEnum.CampaignError campaign_error = 15;
190 // Indicates failure to properly authenticate user.
191 AuthenticationErrorEnum.AuthenticationError authentication_error = 17;
193 // Indicates failure to properly authenticate user.
194 AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error =
197 // The reasons for the ad customizer error
198 AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19;
200 // The reasons for the ad group ad error
201 AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21;
203 // The reasons for the ad sharing error
204 AdSharingErrorEnum.AdSharingError ad_sharing_error = 24;
206 // The reasons for the adx error
207 AdxErrorEnum.AdxError adx_error = 25;
209 // The reasons for the bidding errors
210 BiddingErrorEnum.BiddingError bidding_error = 26;
212 // The reasons for the campaign criterion error
213 CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error =
216 // The reasons for the collection size error
217 CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31;
219 // The reasons for the criterion error
220 CriterionErrorEnum.CriterionError criterion_error = 32;
222 // The reasons for the customer error
223 CustomerErrorEnum.CustomerError customer_error = 90;
225 // The reasons for the date error
226 DateErrorEnum.DateError date_error = 33;
228 // The reasons for the date range error
229 DateRangeErrorEnum.DateRangeError date_range_error = 34;
231 // The reasons for the distinct error
232 DistinctErrorEnum.DistinctError distinct_error = 35;
234 // The reasons for the feed attribute reference error
235 FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError
236 feed_attribute_reference_error = 36;
238 // The reasons for the function error
239 FunctionErrorEnum.FunctionError function_error = 37;
241 // The reasons for the function parsing error
242 FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38;
244 // The reasons for the id error
245 IdErrorEnum.IdError id_error = 39;
247 // The reasons for the image error
248 ImageErrorEnum.ImageError image_error = 40;
250 // The reasons for the media bundle error
251 MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42;
253 // The reasons for the media file error
254 MediaFileErrorEnum.MediaFileError media_file_error = 86;
256 // The reasons for the multiplier error
257 MultiplierErrorEnum.MultiplierError multiplier_error = 44;
259 // The reasons for the new resource creation error
260 NewResourceCreationErrorEnum.NewResourceCreationError
261 new_resource_creation_error = 45;
263 // The reasons for the not empty error
264 NotEmptyErrorEnum.NotEmptyError not_empty_error = 46;
266 // The reasons for the null error
267 NullErrorEnum.NullError null_error = 47;
269 // The reasons for the operator error
270 OperatorErrorEnum.OperatorError operator_error = 48;
272 // The reasons for the range error
273 RangeErrorEnum.RangeError range_error = 49;
275 // The reasons for error in applying a recommendation
276 RecommendationErrorEnum.RecommendationError recommendation_error = 58;
278 // The reasons for the region code error
279 RegionCodeErrorEnum.RegionCodeError region_code_error = 51;
281 // The reasons for the setting error
282 SettingErrorEnum.SettingError setting_error = 52;
284 // The reasons for the string format error
285 StringFormatErrorEnum.StringFormatError string_format_error = 53;
287 // The reasons for the string length error
288 StringLengthErrorEnum.StringLengthError string_length_error = 54;
290 // The reasons for the operation access denied error
291 OperationAccessDeniedErrorEnum.OperationAccessDeniedError
292 operation_access_denied_error = 55;
294 // The reasons for the resource access denied error
295 ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError
296 resource_access_denied_error = 56;
298 // The reasons for the resource count limit exceeded error
299 ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError
300 resource_count_limit_exceeded_error = 57;
302 // The reasons for the ad group bid modifier error
303 AdGroupBidModifierErrorEnum.AdGroupBidModifierError
304 ad_group_bid_modifier_error = 59;
306 // The reasons for the context error
307 ContextErrorEnum.ContextError context_error = 60;
309 // The reasons for the field error
310 FieldErrorEnum.FieldError field_error = 61;
312 // The reasons for the shared set error
313 SharedSetErrorEnum.SharedSetError shared_set_error = 62;
315 // The reasons for the shared criterion error
316 SharedCriterionErrorEnum.SharedCriterionError shared_criterion_error = 63;
318 // The reasons for the campaign shared set error
319 CampaignSharedSetErrorEnum.CampaignSharedSetError
320 campaign_shared_set_error = 64;
322 // The reasons for the conversion action error
323 ConversionActionErrorEnum.ConversionActionError conversion_action_error =
326 // The reasons for the header error.
327 HeaderErrorEnum.HeaderError header_error = 66;
329 // The reasons for the database error.
330 DatabaseErrorEnum.DatabaseError database_error = 67;
332 // The reasons for the policy finding error.
333 PolicyFindingErrorEnum.PolicyFindingError policy_finding_error = 68;
335 // The reason for enum error.
336 EnumErrorEnum.EnumError enum_error = 70;
338 // The reason for keyword plan error.
339 KeywordPlanErrorEnum.KeywordPlanError keyword_plan_error = 71;
341 // The reason for keyword plan campaign error.
342 KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError
343 keyword_plan_campaign_error = 72;
345 // The reason for keyword plan negative keyword error.
346 KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError
347 keyword_plan_negative_keyword_error = 73;
349 // The reason for keyword plan ad group error.
350 KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError
351 keyword_plan_ad_group_error = 74;
353 // The reason for keyword plan keyword error.
354 KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError
355 keyword_plan_keyword_error = 75;
357 // The reason for keyword idea error.
358 KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError keyword_plan_idea_error = 76;
360 // The reasons for account budget proposal errors.
361 AccountBudgetProposalErrorEnum.AccountBudgetProposalError
362 account_budget_proposal_error = 77;
364 // The reasons for the user list error
365 UserListErrorEnum.UserListError user_list_error = 78;
367 // The reasons for the change status error
368 ChangeStatusErrorEnum.ChangeStatusError change_status_error = 79;
370 // The reasons for the feed error
371 FeedErrorEnum.FeedError feed_error = 80;
373 // The reasons for the geo target constant suggestion error.
374 GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError
375 geo_target_constant_suggestion_error = 81;
377 // The reasons for the feed item error
378 FeedItemErrorEnum.FeedItemError feed_item_error = 83;
380 // The reasons for the billing setup error
381 BillingSetupErrorEnum.BillingSetupError billing_setup_error = 87;
383 // The reasons for the customer client link error
384 CustomerClientLinkErrorEnum.CustomerClientLinkError
385 customer_client_link_error = 88;
387 // The reasons for the customer manager link error
388 CustomerManagerLinkErrorEnum.CustomerManagerLinkError
389 customer_manager_link_error = 91;
391 // The reasons for the feed mapping error
392 FeedMappingErrorEnum.FeedMappingError feed_mapping_error = 92;
394 // The reasons for the customer feed error
395 CustomerFeedErrorEnum.CustomerFeedError customer_feed_error = 93;
397 // The reasons for the ad group feed error
398 AdGroupFeedErrorEnum.AdGroupFeedError ad_group_feed_error = 94;
400 // The reasons for the campaign feed error
401 CampaignFeedErrorEnum.CampaignFeedError campaign_feed_error = 96;
403 // The reasons for the ad parameter error
404 AdParameterErrorEnum.AdParameterError ad_parameter_error = 101;
406 // The reasons for the feed item validation error
407 FeedItemValidationErrorEnum.FeedItemValidationError
408 feed_item_validation_error = 102;
410 // The reasons for the extension setting error
411 ExtensionSettingErrorEnum.ExtensionSettingError extension_setting_error =
414 // The reasons for the policy violation error
415 PolicyViolationErrorEnum.PolicyViolationError policy_violation_error = 105;
419 // Describes the part of the request proto that caused the error.
420 message ErrorLocation {
421 // A part of a field path.
422 message FieldPathElement {
423 // The name of a field or a oneof
424 string field_name = 1;
426 // If field_name is a repeated field, this is the element that failed
427 google.protobuf.Int64Value index = 2;
430 // A field path that indicates which field was invalid in the request.
431 repeated FieldPathElement field_path_elements = 2;
434 // Additional error details.
435 message ErrorDetails {
436 // The error code that should have been returned, but wasn't. This is used
437 // when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
438 string unpublished_error_code = 1;
440 // Describes an ad policy violation.
441 PolicyViolationDetails policy_violation_details = 2;
443 // Describes policy violation findings.
444 PolicyFindingDetails policy_finding_details = 3;
447 // Error returned as part of a mutate response.
448 // This error indicates single policy violation by some text
449 // in one of the fields.
450 message PolicyViolationDetails {
451 // Human readable description of policy violation.
452 string external_policy_description = 2;
454 // Unique identifier for this violation.
455 // If policy is exemptible, this key may be used to request exemption.
456 google.ads.googleads.v0.common.PolicyViolationKey key = 4;
458 // Human readable name of the policy.
459 string external_policy_name = 5;
461 // Whether user can file an exemption request for this violation.
462 bool is_exemptible = 6;
465 // Error returned as part of a mutate response.
466 // This error indicates one or more policy findings in the fields of a
468 message PolicyFindingDetails {
469 // The list of policy topics for the resource. Contains the PROHIBITED or
470 // FULLY_LIMITED policy topic entries that prevented the resource from being
471 // saved (among any other entries the resource may also have).
472 repeated google.ads.googleads.v0.common.PolicyTopicEntry
473 policy_topic_entries = 1;